我有一个连接到电机和伺服的外部电源(6v),在我的arduino板上,我有几个由板载5v供电的LED。外部电源连接到开关,因此我可以打开电机和伺服(以节省电池)。我的主板只是闪烁不同的LED。我想要发生的是,当我的外部电源打开时,LED停止闪烁并执行移动伺服和电机的代码。结果我有一个名为intro
的布尔值。当它为真时,LED代码执行,当它为假时,电机和伺服代码将执行。我遇到的唯一问题是,Arduino如何知道外部电源是否已打开,以便布尔值可以设置为false? arduino有没有办法检测外部电源是否打开(例如检查电机/伺服的引脚?)?
答案 0 :(得分:4)
一般的想法是将外部电源连接到I / O引脚,以便您可以读取其状态。您还需要在I / O引脚上下拉,以便它不会浮动并在未连接电源时给出随机值。
不要将6V直接连接到Arduino I / O引脚,它将远高于Vcc,以便引脚上的钳位二极管激活。像10K这样的串联电阻可以降低钳位电流,但这仍然不是最好的设计实践。我推荐一个3V3齐纳二极管钳位,如本页所示:
http://www.kevinmfodor.com/home/My-Blog/microcontrollerinputprotectiontechniques
答案 1 :(得分:0)
检查IO引脚上的最大输入电压,但是您应该能够将外部电源连接到引脚并驱动中断。
然后可以使用中断来判断电源是打开(上升沿)还是关闭(下降沿)。