我不在乎它移动了多少、多快或朝什么方向,我只希望我的基于 Arduino 的项目知道它是否在移动(这样我可以在我的自行车静止时关闭高电流消耗 LED节省我的电池。)
我需要加速度计、陀螺仪还是其他类型的传感器?
我不在乎它移动了多少、多快或朝什么方向,我只希望我的基于 Arduino 的项目知道它是否在移动(这样我可以在我的自行车静止时关闭高电流消耗 LED节省我的电池。)
我需要加速度计、陀螺仪还是其他类型的传感器?
如果它用于自行车,那么我会在轮辐上使用低功率光电检测电路。这有几种变体,重要的是能够脉冲 LED 以节省电力,因此,如果辐条以每秒 10 次的速度经过(表示最低速度),那么您需要为 LED 供电至少 0.1秒并“寻找”光束中断 - 这表示移动。只是一个想法。
您也可以考虑使用鞍座开关,这样如果有人没有坐在鞍座上并且没有检测到任何移动,那么 LED 就会完全关闭。
在大多数情况下,加速度计是合适的。从技术上讲,加速度在恒定速度下将为 0,但在实践中,除非您的项目安装在某种极低振动的轨道上,否则您会在运动过程中看到加速度的波动。在每个轴上使用滚动平均值并在变化高于某个阈值时将设备视为“移动”应该相当简单。当设备静止时,会检测到一点随机加速度,但阈值应该可以解决这个问题。
您可以从许多爱好者电子供应商处获得安装了 I2C 加速度计的电路板。与他们交谈的过程会因芯片而略有不同,但通常从 arduino 与 I2C 设备交谈相当容易。
当您指定“查看它是否在移动”作为您的目标时。我可能会推荐一种不同的方法来检查自行车是否在运动。加速度计捕获的噪声量令人吃惊——您的情况可能是这样的:“正在使用且正在移动”和“不在用户中且仍在移动(轻微)”之间会有清晰的界限。我不希望会是这样。
值得考虑的是,如果自行车连接/停放在经常移动的结构上(其他人连接或拆卸附近的自行车、火车或车辆,室内靠近疯狂的 HVAC 泵,室内有人走过时放在木地板/弹性地板上。 ..) 那么只要自行车移动,您的灯就会亮起。这不是你真正想要的。当骑手(您)移动自行车时,您希望灯亮起。为此,接近传感器(仅在您骑自行车时才被阻止)甚至是速度传感器/簧片开关之类的东西都可以工作。这是使用簧片开关的 Arduino 自行车速度计教程:http: //www.instructables.com/id/Arduino-Bike-Speedometer/这样做的好处是您可以获得速度读数,并且为灯光添加触发器将是相当简单的(在自行车不为灯光/交通等原因移动时延迟关闭。)
正如其他人所建议的那样,加速度计非常易于使用,尤其是在具有所有库和分线板可用的 Arduino 上。另一件可能值得一看的是像这样的压电振动传感器,目前可以从 Sparkfun 以 2.95 美元的价格购买:
请注意电压输出有多高,他们建议使用电阻分压器来降低电压并使用 ADC 引脚。虽然我个人并不热衷于在 AVR 中使用内部二极管钳位,但如果您使用 1K 串联限流电阻器,考虑到低电流开始,我看不出您在连接到数字时会遇到太多问题输入,如果这提供了足够的灵敏度,并且 Vcc 的轻微上升不会导致其他问题,直到钳位生效。
无论如何,它可能是另一个有趣的传感器。虽然对于在稳压器和您的特定项目上具有相对较高静态电流的 Arduino 来说,这可能并不重要,但它们对于很多项目来说都是整洁的。假设您获得足够的振动以触发逻辑高电平,它们消耗的功率为零,可用于将微控制器从深度睡眠中唤醒。