我有一个arduino Uno
,其中我取出了芯片,以便将它用作与某些硬件设备(hm-10蓝牙)对话的串行适配器。我打开arduino终端工具并发一个字。
应该使用Uno说话的硬件设备需要3.3v
才能正常工作,但arduino Uno
会输出5v
。
我认为arduino的TX上的电阻分压器会完成工作,这是正确的吗? (0.66 = 5v /3.3v)
即便如此,当硬件将数据发送到arduino Uno板时,它将是3.3v,因此他不应该看到它 - 这是正确的吗?如果是的话,有没有办法改变它?
最重要的是,我(我现在拥有的)如何在3.3v上进行从arduino到硬件的串行连接,并使用termial工具查看结果?
谢谢。
答案 0 :(得分:3)
我像这样运行了几个项目。在第一个之后使用三个相同的电阻和tx作为分压器(即Atmega TX>电阻器> rx器件> 2x电阻器> GND)
入站芯片将高于2.5V的电压识别为逻辑高电平,因此只需直接连接到atmegas rx就可以了!
感谢@UncleO,请参阅下面的正确逻辑输入级别
答案 1 :(得分:0)
如果将Arduino连接到5 + V电源,则会产生5v 。
我通过简单地为Arduino提供可靠的双向通信,我的设备需要相同的低电压(~4.1v)。 我甚至不需要任何电阻器,只需将tx连接到rx和vise vera。
但是一旦我将Arduino连接到USB,它就无法从设备读取任何输入,而设备仍然可以从Arduino获得输入。
希望有所帮助