树莓派怎样跟arduino连接

最近开始着手树莓派,老师让做一个自动控制的电灯开关

现在苦于不知道树莓派和arduino怎样连在一起,它们两个之间连接起来的时候还需要一个转换器啥的吗。求高手指点

树莓爱好者搬运,题主:月亮忘记了

阅读 18.1k
3 个回答

我自己实验过的有三种办法:

  • 使用SPI/I2C总线

  • 使用TTL串口直连

  • 使用USB转TTL再接Arduino上任意TTL串口

前面两种需要做3.3V到5V的电平转换(Arduino Due和Mini除外),有些好的厂商的板子电气性能比较好,不做转换也不会烧板子,不过仍然建议做。可以用的方法有若干种,比如直接串联电阻、用专门的转换芯片。

还可以想到的办法:

  • 使用无线模块互联(如APC220、Zigbee、nrf2401)

  • 使用蓝牙互联

  • 使用以太网/Wifi互联

控制自动控制的电灯有很多实现方法,具体需要看楼主需要实现多复杂的需求:
如果仅仅是控制一个电灯的开关/亮暗,仅仅使用RaspPi自带的GPIO引脚配合继电器或者三极管实现。

如果要实现更复杂的功能,比如通过光线传感器的读数自动调整多个电灯的开关/亮暗,推荐使用Zigbee或者BLE作为通讯媒介,这样可以做到一个RaspPi作为中心节点控制和读取多个传感器、电灯的目的。

Zigbee模块自带一个单片机可以做简单的电路控制、传感器读取等,并且自带成熟的数据传输协议,缺点是学习成本较高,如果楼主仅仅是想完成作业可以忽略。

BLE的优点是相对Zigbee成本较低,有丰富的协议栈,并且有透明串口,比较容易上手,但是每个节点都必须要有独立的单片机来读取传感器、控制电路,并且需要为每个单片机单独开发读取、发送、接受的程序。

USB连接即可。硬件设备仍然是Arduino的USB转串口,设备文件/dev/ttyUSB0。烧录下载仍然是在树莓派上执行Arduino IDE。

树莓派和Arduino也可以用串口平行连接,但必须做3.3V和5V电平的转换,否则烧IO口!

另外,树莓派独立做你这个需求足够了,应该不需要Arduino。你可以再提一个问题,把你老师布置的需求详细提出来,寻求做法的提示和指导。

试过各种接口,最好用的还是i2c
另外如果arduino工作在slave模式下的话,不需要电平转换

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏