两个控制单个伺服的arduino板

时间:2017-08-02 17:30:13

标签: arduino robotics atmega electronics servo

我有一种情况,我必须在不同的时间控制来自两个不同的Arduino板的单个伺服。原因是,软件对于单个Nano / Mini / Micro板来说太大了,并且Mega太大而不适合我的产品。所以我将软件分成两个Nanos。

所以,我想知道会发生什么(如果有人有任何想法,或者已经尝试过),例如,如果我有两个Arduino板,每个板的PWM输出中的一个连接到单个伺服。

当然,我会从第一块板上的软件中分离()伺服器并发信号通知第二块板(通过数字引脚,发送5v),这样它就可以连接()伺服并操作它。最后,我想将伺服控制权返回到第一块板,所以我将数字引脚上的电压降至0v,希望第二块板分离()伺服,第一块板重新连接()。 / p>

它会起作用吗?煎炸东西有风险吗?感谢。

1 个答案:

答案 0 :(得分:0)

我确切地知道你的意思并且之前遇到过这种情况,因为我常常用nanos上的引脚来控制伺服系统。如果你看看my projects中的一些,你可以看到我已经使用了很多伺服器,所以我可以帮助你。

有三件事可能有用:

  1. 只需将所有伺服PWM线连接到该引脚,即可通过一个Arduino中的一个signal引脚控制多个伺服器。当然,它们都会一起移动,但在某些应用中并不总是一个问题。例如,当制作一个小型四足机器人时,对角脚踝/脚在行走时总是会一起移动,以便在Arduino上保存针脚,我将signal线连接在一起并将它们连接到一个PWM针,它工作得很好。也许这可以让你使用更少的引脚,而不必使用第二个nano

  2. 如果(1)不是一个可行的选项,那么你必须自然地需要比目前使用一个nano更多的引脚。在继续前进并整理两个Arduino之间的通信之前,可能会让您感到惊讶,因为Arduino Servo库在servos引脚上正常附加和控制non-PWM。这意味着nano;你将拥有6个更多的引脚,Arduino很乐意控制它们。如果你还没有意识到这一点,那么来自一个Arduino的6额外的伺服器就足以做你想做的事了 - 特别是如果你把(1)中的一些结合起来。

  3. 最后,如果你已经知道(2),并且(1)不是一个选项,那么最后的选择是使用两个纳米。我在一个项目中做了类似的事情,我需要在UI上将PC链接到Arduino,以控制serial上的伺服系统。在您需要通过将Nano的serialTX引脚链接在一起来进行RX通信的情况下,该方法几乎相同。然后,您可以使用正常的Serial函数与它们进行通信。执行此操作的有效方法是发送字节,该字节可以存储0255之间的整数,表示servo个位置,范围仅从0180 。这是一个简洁的解决方案。如果您想了解更多关于如何在servo之后发送serial职位的详细信息,我已在this project的网站上详细介绍了如何执行此操作。

    < / LI>

    我希望其中一个选项对您有用,请根据您的使用情况进行更新。 :)