我有一种情况,我必须在不同的时间控制来自两个不同的Arduino板的单个伺服。原因是,软件对于单个Nano / Mini / Micro板来说太大了,并且Mega太大而不适合我的产品。所以我将软件分成两个Nanos。
所以,我想知道会发生什么(如果有人有任何想法,或者已经尝试过),例如,如果我有两个Arduino板,每个板的PWM输出中的一个连接到单个伺服。
当然,我会从第一块板上的软件中分离()伺服器并发信号通知第二块板(通过数字引脚,发送5v),这样它就可以连接()伺服并操作它。最后,我想将伺服控制权返回到第一块板,所以我将数字引脚上的电压降至0v,希望第二块板分离()伺服,第一块板重新连接()。 / p>
它会起作用吗?煎炸东西有风险吗?感谢。
答案 0 :(得分:0)
我确切地知道你的意思并且之前遇到过这种情况,因为我常常用nanos
上的引脚来控制伺服系统。如果你看看my projects中的一些,你可以看到我已经使用了很多伺服器,所以我可以帮助你。
有三件事可能有用:
只需将所有伺服PWM
线连接到该引脚,即可通过一个Arduino中的一个signal
引脚控制多个伺服器。当然,它们都会一起移动,但在某些应用中并不总是一个问题。例如,当制作一个小型四足机器人时,对角脚踝/脚在行走时总是会一起移动,以便在Arduino上保存针脚,我将signal
线连接在一起并将它们连接到一个PWM
针,它工作得很好。也许这可以让你使用更少的引脚,而不必使用第二个nano
?
如果(1)不是一个可行的选项,那么你必须自然地需要比目前使用一个nano
更多的引脚。在继续前进并整理两个Arduino之间的通信之前,可能会让您感到惊讶,因为Arduino Servo
库在servos
引脚上正常附加和控制non-PWM
。这意味着nano
;你将拥有6
个更多的引脚,Arduino很乐意控制它们。如果你还没有意识到这一点,那么来自一个Arduino的6
额外的伺服器就足以做你想做的事了 - 特别是如果你把(1)中的一些结合起来。
最后,如果你已经知道(2),并且(1)不是一个选项,那么最后的选择是使用两个纳米。我在一个项目中做了类似的事情,我需要在UI
上将PC
链接到Arduino,以控制serial
上的伺服系统。在您需要通过将Nano的serial
和TX
引脚链接在一起来进行RX
通信的情况下,该方法几乎相同。然后,您可以使用正常的Serial
函数与它们进行通信。执行此操作的有效方法是发送字节,该字节可以存储0
和255
之间的整数,表示servo
个位置,范围仅从0
到180
。这是一个简洁的解决方案。如果您想了解更多关于如何在servo
之后发送serial
职位的详细信息,我已在this project的网站上详细介绍了如何执行此操作。
我希望其中一个选项对您有用,请根据您的使用情况进行更新。 :)