GPIO-UART至Arduino通信


12

我一直很幸运地尝试让Raspberry Pi与Arduino对话。我正在使用3.3 V至5 V转换器来交换电压。我确实在UART TX引脚上放了一个LED,看起来好像在反转数据。如果是这样,我需要什么电路才能使其与Arduino通信?

我正在使用Cool Components Logic Level Converter。它是用于3.3 V至5 V的晶体管和用于5 V至3.3 V的电阻器。

Answers:




2

我正在使用CD4050进行从5V到3.3V的电平转换,并且还用作保护Raspberry Pi的缓冲器。Arduino应该将3.3V视为逻辑高电平,因此您无需从3.3V转换为5V(我在这里得到纠正,根据Arduino网站的说法,任何3V以上的电压都被视为逻辑高电平)。

我在这里整理了一个使用CD4050,Raspberry Pi GPIO UART和Arduino的简单示例:http ://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart

欢迎任何评论,它正在运行,但是我可能做错了:)


1

我实际上遇到了相同的问题,并通过在3.3伏但8 MHz的Arduino引导加载程序上运行准系统atmega328来解决了这个问题。如果您有严格的时序要求,则8 Mhz可能会引起问题。我本人只是计划使用Arduino为rgb led灯条生成PWM,因此如果pwm的频率为正常频率的一半是可以的。到目前为止,我的初步测试表明,Arduino可以正常接收消息。


1

有一个简单的解决方案,您可以删除Arduino的任何外部电源,并使用跳线将Raspberry Pi的GPIO引脚1连接到Arduino的5v引脚,这样Arduino的主电源将为3.3v,其所有引脚将为3.3v而不是5v。现在,您可以直接连接Pi和Arduino的Uart引脚。为我工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.