打算用树莓派3与arduino做智能机器人。
可是发现一个问题:
在网上查了一下两者通讯可以用usb、I2C等。除了usb都需要电平转换,可是我用树莓派扩展板上有rx-tx-5v-gnd和scl-sda-5v-gnd这两个端口。不知道可不可以不用电平转换直接与arduino通讯?
有没有其他的思路呢?
请大神赐教。谢谢!
这个两个接口是不行的。
树莓派3与arduino的电平是不一样的。
树莓派3是3.3V的,arduino是5V的。两者的通讯是要有电平转换的。
树莓派3与arduino都有串口,但是可以把串口都转换成232电平、485电平再时进行通讯。就不会有电平不同的问题了。
当然也可以采用网络。
网络方案有如下几种,看你的能力了。
nRF24L01+ (RF) ESP8266(WIFI) XBee (ZigBee) ENC28J60(LAN) W5100,W5500(LAN)
这个方案是可行的,事实上,使用处理器加上微控制器来设计机器人也是目前行业里面的热门方向
这里建议你最好还是用串口进行通信,串口的电平要一致,可以选择使用TTL的,树莓派上面的串口是TTL的电平,arduino的也是
不过得益于Arduino的USB-CDC接口,二者采用USB通信也是可行的,甚至可以再树莓派上面装一个Arduino IDE直接进行开发。
这二者之间通信可以采用以下几种形式
1、USB。速度快,而且USB通信时可以在树莓派上面装一个Arduino IDE即可实现二者之间通信,不用另外写通信协议
2、串口。串口的话,要注意二者之间的电平要匹配,建议都采用TTL电平,树莓派上面的串口本身就是TTL电平的,直接接上去就好
3、SPI或者I2C。
通信的时候只要接数据线和地线就行,不用接电源
其實3.3V Atmega328P也是能工作唷.可以買Arduino Pro mini
不管是I2C和SPI或者UART都是可以直接通訊的
UNO的話則建議直接用USB通訊
以上