最近开始着手树莓派,老师让做一个自动控制的电灯开关
现在苦于不知道树莓派和arduino怎样连在一起,它们两个之间连接起来的时候还需要一个转换器啥的吗。求高手指点
树莓爱好者搬运,题主:月亮忘记了
最近开始着手树莓派,老师让做一个自动控制的电灯开关
现在苦于不知道树莓派和arduino怎样连在一起,它们两个之间连接起来的时候还需要一个转换器啥的吗。求高手指点
树莓爱好者搬运,题主:月亮忘记了
USB连接即可。硬件设备仍然是Arduino的USB转串口,设备文件/dev/ttyUSB0。烧录下载仍然是在树莓派上执行Arduino IDE。
树莓派和Arduino也可以用串口平行连接,但必须做3.3V和5V电平的转换,否则烧IO口!
另外,树莓派独立做你这个需求足够了,应该不需要Arduino。你可以再提一个问题,把你老师布置的需求详细提出来,寻求做法的提示和指导。
我自己实验过的有三种办法:
使用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成本较低,有丰富的协议栈,并且有透明串口,比较容易上手,但是每个节点都必须要有独立的单片机来读取传感器、控制电路,并且需要为每个单片机单独开发读取、发送、接受的程序。