RaspberryPi2树莓派USB转串口连接Arduino

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

winlinvip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值