1

我有一个连接到电机和伺服器的外部电源(6v),在我的 arduino 板上我有几个由板载 5v 供电的 LED。外部电源连接到一个开关,这样我就可以打开电机和伺服(以节省电池)。我的主板只是闪烁不同的 LED。我想要发生的是,当我的外部电源打开时,LED 停止闪烁并且执行移动伺服和电机的代码。结果我有一个布尔值叫做intro. 为真时执行 LED 代码,为假时执行电机和伺服代码。我遇到的唯一问题是Arduino如何知道外部电源是否打开,以便布尔值可以设置为false?arduino 有没有办法检测外部电源是否打开(例如检查电机/伺服的引脚?)?

4

2 回答 2

4

一般的想法是将外部电源连接到 I/O 引脚,以便您可以读取其状态。您还需要在 I/O 引脚上进行下拉,以便在未连接电源时它不会浮动并给出随机值。

不要将 6V 直接连接到 Arduino I/O 引脚,它会远远高于 Vcc,引脚上的钳位二极管会激活。一个像 10K 这样的串联电阻来降低钳位电流可能没问题,但仍然不是最佳设计实践。我建议使用 3V3 齐纳二极管钳位,例如本页所示:

http://www.kevinmfodor.com/home/My-Blog/microcontrollerinputprotectiontechniques

于 2012-12-08T03:03:26.187 回答
0

检查 IO 引脚上的最大输入电压,但您应该能够将外部电源连接到引脚并驱动中断。

然后可以使用中断来决定电源是打开(上升沿)还是关闭(下降沿)。

于 2012-12-07T00:18:48.067 回答