您当前的位置:首页 > 电子 > 开发板/开源硬件

基于 Arduino Pro Mini 328 的远程光束中断传感器

时间:02-20来源:作者:点击数:

该项目使用反射器面板而不是发射器/接收器设置的廉价光束中断传感器,能够处理长距离场景。

具体零件清单:

  • 半角为 5 度的LED能够发出 100mA 的功率。它们还发出 940nm 的光,非常适合接收器。
  • Vishay TSSP4038红外接收器。接收器也可以检测连续的 38kHz 光。其他一些传感器需要爆发,我还没准备好弄清楚如何编码。
  • Arduino Pro Mini 3.3v
  • D-SUN可调电压调节器。我只是把它放在身边
  • 5V 继电器模块可由 3.3V Arduino 触发
  • 0.1uF电容
  • 300uF电容
  • 2N7000 晶体管(这个只能处理 200mA,因此限制了 LED 的功率,但它仍然超过 Arduino 引脚可以输出的 20mA)如果需要更多功率,可能需要升级到 2N2222。

我从其他项目中收集了一些零碎的东西来制作这个。编码可能会更好看,焊接也可以。

我想制作一个没有专用发射器而是一个反射板的传感器。此外,它必须是可以远程使用的。

我在想办法让这个东西工作时遇到了很多麻烦,但与此同时我学到了一件事:传感器附近的电容器是必须的。我最终覆盖了 Sugru 中的整个传感器(显然除了前面),以防止杂散光进入。

先看最终结果:

实际上,在测试了我的第一个设置后,我发现有效范围只有 10m 左右。

为了增加范围,我尝试增加对 LED 的影响。所以我将电压调节器从之前的 3.3v 调高到 4.5v 左右,并通过 RAW 引脚而不是 VCC 引脚为 Arduino 供电,以便在此处使用板载稳压器。我在 LED 上串联了一个 10 Ω 的电阻。(在原理图上描述)然后我发现我的 Arduino 有一个障碍,它的电压调节器已经失效了。所以我把它换成了我的 Trinket Pro 3v。两者之间的功能基本相同。

功能:

Arduino 上的内置定时器功能在引脚 11 上工作,并连接到晶体管上的栅极,以使 LED 拉出的电流超过 Arduino 可以直接提供的 20mA。我的 LED 在 1.5V 连续电压下可以安全地拉出 100mA。根据规格表(第 4 页,左下角),脉冲时可以安全地将其增加到大约 160mA。

IR 接收器连接到电源(通过电阻器)并具有 0.1uF 电容器。连接到引脚 8 的接收器的输出在检测到 38kHz 调制红外光时变为低电平,当光束被破坏时变为高电平。很容易对 Arduino 进行编程。

引脚 12 连接到继电器模块,该继电器模块也由外部稳压器供电 4.5V

编码确保无论何时光束被破坏,板载 LED 都会亮起。这主要是为了将传感器对准反射器。只有当光束被破坏 2 秒后,针脚 12 才会变高并触发继电器。这是因为我希望人们和汽车能够在不触发光束的情况下穿过光束。只有当汽车停放时,继电器才会关闭。这种编码很可能更漂亮,但我从其他项目中复制/粘贴/编辑,其中一个使用按钮来触发长/短按的不同事物。

推荐内容
相关内容
栏目更新
栏目热门