2013-02-06 09:54:16 internet_of_things 阅读数 4572
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    1462 人正在学习 去看看 王全

硬件环境:DB120-WG,arduino UNO R3,操作系统:openwrt

安装arduino上的USB转串口驱动:

 

opkg update
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-serial kmod-usb-serial-ftdi kmod-usb2 kmod-usb-acm

其中kmod-usb-acm 是针对arduino UNO R3版本的,

安装完成后,会发现多出一个设备/dev/ttyACM0 ,这个就对应USB转串口生成的设备文件。(旧版本的UNO上会生成的设备为/dev/ttyUSB0)

另外openwrt默认的串口波特率是115200,这里为了方便设置波特率,需要安装一下stty工具,

 

opkg install coreutils-stty


 设置波特率为9600的命令:

stty -F /dev/ttyACM0 raw speed 9600

这样就可以以9600波特率对串口进行读写操作(即发送接收)

读取(接收)操作:

cat /dev/ttyACM0

(注:这里也体现了Linux的强大之处,任何设备都作为一个文件来处理,类似一个摄像头设备如/dev/video0 ,若生成一个图片,则对它cat一下,命令:

cat /dev/video0 > /tmp/1.jpg  )
 发送信息:

echo "hello" > /dev/ttyACM0


 

 

 

 

注:本文参考了http://www.sl088.com/voyage/2012/03/3411.slboat

2016-01-20 00:09:04 winlinvip 阅读数 9577
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    1462 人正在学习 去看看 王全

PI通过USB转串口连接Arduino

我用树莓派2连接Arduino,然后通过Arduino控制继电器和其他设备。
树莓派连接Arduino大致有几种方法:

  1. TTL串口直接连接,有人说需要转电平,我没有试。
  2. I2C或SPI连接,我没有试。
  3. USB转TTL后,TTL连接Arduino,我用的这种方法。

下面是用到的各种物件:

  1. 树莓派2:http://item.jd.com/1646034971.html
  2. USB转TTL串口PL2303:http://item.jd.com/1647505472.html
  3. Arduino UNO r3:http://item.jd.com/1400590582.html
  4. 各种线:http://item.jd.com/1656731340.html

连接方法:

  1. 树莓派通过EDUP8505无线网卡连接到家里的WIFI路由器,就能作为家里各种传感器和单片机的网关了。连接方法参考Raspberrypi自动连接WIFI
  2. 树莓派通过PL2303,即USB口插树莓派上,TTL串口插Arduino上。同时树莓派(5V2A)可以给Arduino供电(5V30mA),树莓派的电源是通过插线板的USB供电的。
  3. Arduino可以连接其他的模块,譬如无线继电器,接收树莓派的指令,控制开关的开启和关闭,实现加热的功能。还可以有其他的。

Arduino程序

Arduino上可以写个简单的ECHO串口程序,即收到数据时亮LED灯,同时将收到的数据发送出来:

void setup() {
  pinMode(13, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  // now data from serial, turn off the LED.
  if (Serial.available() <= 0) {
    digitalWrite(13, LOW);
    delay(100);
    return;
  }

  // echo the serial data.
  Serial.print((char)Serial.read());
  digitalWrite(13, HIGH);
  delay(50);
}

注意:我们使用的是115200波特率,如果使用Arduino的串口窗口,记得改成这个波特率。这个是树莓派比较常用的波特率。
备注:可以使用Arduino的串口调试窗口,将代码Upload,可以发送字符串给Arduino,如果能正常ECHO,那么就没有问题了。

Arduino连接PI2

PL2303的接口有五个:

  1. VCC5V: 这个是5V电源输出,这个接Arduino的VIN(即外接电源入口)。下图黄线。
  2. GND:这个接地,必须接Arduino的GND。下图灰线。
  3. RX:接Arduino的TX,即引脚1. 下图蓝线。
  4. TX:接Arduino的RX,即引脚0. 下图绿线。
  5. VCC3.3V:这个没有用到。

接完后如下图:

PL2303接线图

来张大图特写:

PL2303接线

PI2读USB串口

PL2303连接树莓派,即USB插上树莓派后,可以登录到树莓派查看设备:

winlin@raspberrypi:~$ lsusb
Bus 001 Device 013: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

可以看到这个PL2303的USB设备是有驱动的,可以直接用这个设备:

winlin@raspberrypi:~$ ll /dev/ttyUSB0 
crw-rw---- 1 root dialout 188, 0 Jan 19 16:00 /dev/ttyUSB0

备注:可以让树莓派自动汇报IP,用WIFI登录上去。

再树莓派上下载代码,和串口通信:

git clone https://github.com/winlinvip/raspi-tools.git &&
sudo python raspi-tools/raspi-pl2303.py

可以看到输出:

PI: Hello, Arduino, this is RaspberryPi 2.0~
. . . . . . . . . . . . . . . . . . . . . . .
Arduino: Hello, Arduino, this is RaspberryPi 2.0~

这个就是串口通信完成了,可以将这两个程序改成需要的方式,进行特定的控制了。

最后,来一张总图像:
PI2-Arduino

接下来就可以做具体的控制了。

2016-06-23 11:30:08 yilese 阅读数 2050
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    1462 人正在学习 去看看 王全

问题描述

  1. Arduino 控制GPRS,串口发送AT+CGATT=1总是不能得到正确反馈
  2. 但是用TTL转USB,直接连接GPRS模块 ,又正常工作

解决方案

  1. 等待时间不足

    • 延长delay的时间

    http://www.edaboard.com/thread213830.html

  2. GPRS模块供电不足

    • Arduino 5V引脚输出的电流相对于GPRS模块所需电流极小
    • 外接电源供电解决问题
2014-03-12 19:29:11 sflsgfs 阅读数 22227
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    1462 人正在学习 去看看 王全

借助于 uno 成功烧写 pro mini ,但是可怜的是每次要把直插的328p拔下来

就不出现avrdude: stk500_getsync(): not in sync: resp=0x00

mini-UNO
(RX)-(RX)
(TX)-(TX)
vcc-5v
gnd-gnd
reset(DTR也可以)-reset

将IDE上板子的选择改为:Arduino pro mini,ATMEGA328P 5v 16M(我的)这项

pl2303hx无论如何实验也没有成功

max232-db9也没成功(烧stc正常,也引出dtr 0.1uf)

arduino pro mini 迷你 核心板 AVR ATmega328P程序下载可以用一块Arduino UNO ATmega328P-PU下载么?


可以,有两个方案。
第一种是把mini和uno的TX和RX分别并联,在IDE把板子类型设成pro mini,这样就使用了uno的USB转串口的芯片向mini下程序。
第二种麻烦一些,是把uno当编程器来用,在uno里先载入专门的下载程序,然后连接uno和mini的ICSP编程接口(就是SPI的几个口)直接向mini写程序,详情看官网


http://arduino.cc/en/Tutorial/ArduinoISP#.UwkPkuNdWi4


我的UNO板子是不带DTR的USB转串口芯片需要方案1下程序是需要按MINI的复位键 啊?
不需要按键,把reset脚也并联上


http://mightyohm.com/blog/products/hv-rescue-shield-2-x/


NO.1 arduino pro mini usb下载系统,适合新手
http://www.arduino.cn/thread-3302-1-1.html
Arduino的串口下载 ,就是给arduino主芯片下载了串口下载的bootloader后,就可以通过RX TX两个引脚给芯片下载程序,如果连接电脑你得需要一个USB转串口模块,模块的一端接到arduino的RX TX引脚,一端通过USB数据线连接电脑,这样的USB转串口芯片比较多比如CH340,CP2102,官方官方用的ARMEL芯片ATMEGA16U2,百度搜芯片手册都有电路图的。
http://www.eeboard.com/ziliao/arduino-pro/

接脚从上到下分别是GND RXD TXD 5.0V 3.3V
接线表:
pro mini             USB转TTL模块
GND                     GND
TXD                     RXD
RXD                     TXD
VCC                     5V(3.3V)根据工作电压选取

你这个模块没有复位引脚(DTR),下载程序时要按一下  pro mini的复位按钮。

PRO MINI                     USB-232
VCC                            5V
GND                           GND
TXD                           RXD
RXI                            TXD
usb那里选对口,板卡那里要选pro mini。
烧录后一秒左右,按重启键就好了。注意把握按的时间多试试。

 http://www.arduino.cc/en/Guide/ArduinoProMini

http://arduino.cc/en/Main/ArduinoBoardProMini

Automatic (Software) Reset

Rather then requiring a physical press of the reset button before an upload, the Arduino Pro Mini is designed in a way that allows it to be reset by software running on a connected computer. One of the pins on the six-pin header is connected to the reset line of the ATmega168 via a 100 nanofarad capacitor. This pin connects to one of the hardware flow control lines of the USB-to-serial convertor connected to the header: RTS when using an FTDI cable, DTR when using the Sparkfun breakout board. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of the reset line can be well-coordinated with the start of the upload.

This setup has other implications. When the Pro Mini is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Pro. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.

 

 

假如usb2ttl上没有DTR接口,下载过程中,编译完成后,出现“下载中...”的时候按一下复位键,也可以完成下载哦

 

 Bigger Bigger  Smaller Smaller Reset Reset


 

Hello, i´m newie here, i write this topic to show how sync the arduino-clone "New Pro Mini atmega328 5V 16M Replace ATmega128 Arduino Compatible Nano" with "USB To RS232 TTL PL2303HX Auto Converter Module Converter Adapter For arduino"

(it took me hours to find how sync this little board)

Pin connection:
5V -> VCC
GND -> GND
TX -> RX
RX -> TX

1.Change the baud of the USB MODULE or "Prolific USB-to-Serial Comm Port" to 115200 bauds.
2.In the Arduino Sketch change the board to "Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328"
3.Open your program or select "blink" from the examples
4.Press RESET of the Arduino Clone an then press upload sketch and release the reset when show the message "Size of sketch.." or "Tamaño del binario" in my case (spanish version).

that is the solution for my case, sorry for my bad english.

Claudio from Chile


连接关系:
usb转TTL     接口板
GND             GND
DTR 经0.1uf电容连接口板RST
TXD             TXD
RXD              RXD
VCC              VCC


注意事项:1、usb转TTL的DTR 经0.1uf电容连接口板RST,usb转TTL的RST空置。
          2、保持pro mini跟接口板对应针的接触良好。

 

2018-09-22 11:50:07 u012997311 阅读数 2974
  • 少儿编程:Scratch中的Arduino开发

    本门课程将介绍如何以Scratch的编程方式进行Arduino开发(需购买硬件,详情可以参考教程内容)。 课程包含16个小模块的调用,并以案例形式发散思维,对应生活中随处可见的场景。(如红绿灯、楼道声控开灯,火焰报警、电动车碰撞报警、触摸传感器开启灯/风扇、高温开启风扇、天黑打开路灯,厕所冲水设备等) 每节正式课程包含连接硬件和代码编写两个环节,如果是孩子学习,请家长做好监督看护工作。 我相信,编程对孩子的思维培养和好奇心的激发是确实存在益处的,希望每一个观众能够有所收获。 课程适合人群:对编程感兴趣的青少年;有意培养子女编程兴趣的家长;有意从事少儿编程相关工作的朋友。

    1462 人正在学习 去看看 王全

一,准备

1.USB-TTL (串口转USB)这里我购买的是PL2303

2.ESP8266(乐鑫wifi模块)

3.杜邦线若干

4.面包板(可选,我自己用来连接电路的)

二,引脚定义

关于ESP8266的引脚,可以参考我之前一篇文章Arduino Uno R3 用软串口调试ESP8266 01 wifi模块 实验记录

USB-TTL(PL2303引脚):3V,TX,RX,GND,5V.

三、接线示意

USB-TTL ESP8266
3.3V VCC
GND GND
RX TX
TX RX
3.3V CH_PD

网上有的文章说 3.3v需要单独供电,不过我没有,我用的是USB-TTL上的3.3V,CH_PD和VCC共用的(使用面包板)。

如图:

连接好后,装好驱动,(我的电脑装好驱动后需要重启一下)。

四,打开串口调试助手

1.设置波特率115200

2.重启模块

AT+RST


OK

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 2408, room 16 
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0 
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0 
tail 8
chksum 0xd8
csum 0xd8

2nd boot version : 1.6
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

屸?俷鞉r傭n|??巪rl屸r抣宭?l`屸r抣靗?l`屸r抣帪?ll`rl巶rl尀鈱b寣b宐br鞄rb祢n顎nn?l掤l?l寧ll?倢寣鞄l?n?尀鈱bll巖p尀鈱bl宐rlrl
ready
WIFI DISCONNECT
WIFI CONNECTED

 

由于我昨天设置了wifi ssid,和密码,所以它自动连接了。

3.连接TCP

AT+CIPSTART="TCP","www.swcvc.net.cn",80

CONNECT

OK

4.设置透传模式

AT+CIPMODE=1


OK

5.发送数据(GET)

AT+CIPSEND


OK
>GET http://www.swcvc.net.cn/index.htm

收到返回数据

6.退出透传模式(没有换行符的模式下,输入+++)

+++

7.关闭TCP连接

AT+CIPCLOSE

CLOSED

OK

 

没有更多推荐了,返回首页