对于一个非常特别的女人,我需要一份非常特别和独一无二的礼物。这导致动画停止顺利运行的阶段。所以我将手势读数外包给 Arduino Nano。它通过三个数字引脚与 NodeMcu 通信。我制定了自己的小“协议”。通过将引脚设置为高/低,我可以传输八种不同的传感器状态。
温度传感器不想使用库的 begin() 函数进行初始化。我上传了一个 I2C 扫描仪并检查了 I2C 地址。我搜索了传感器的库并找到了一种可以定义地址的方法。通过调用 begin(0x76, &Wire),BME 传感器工作正常。
是不是看起来有点复杂?也许。但这很容易。一切都需要动力,符合它的规格。传感器可以由微控制器的电压引脚供电。Neopixels 需要更多电流,因为控制器可以提供,因此需要直接由电源供电。APDS-9960 传感器通过 I2C 连接到 Nano。所以它必须是引脚A4 ( SDA ) 和A5 ( SCL )。在 NodeMcu 上,我们使用哪两个引脚并不重要,因为几乎每两个引脚都可以配置为充当 I2C。
灯通过 MQTT 协议进行通信。我放入了一个小型 Raspberry Pi Zero W,它充当 MQTT 代理。Arduino Nano 处理手势传感器并向 NodeMcu 发送信号以打开/关闭所有 Neopixels。NodeMcu 可以访问 BME280 传感器并将温度和湿度发布给 MQTT 代理。您可以在开/关和多个动画之间切换模式。对于几乎所有功能(日出闹钟和迪斯科灯除外),您都可以设置所需的 RGB 颜色。NodeMcu 与 NTP 服务器同步时间。因此,您可以设置启动日出模式的时间。
好吧,每个 NeoPixel 都已关闭。灯仍然对手势传感器有反应
将所有 NeoPixel 设置为所需的颜色。
一次设置一个像素的条纹颜色,从底部开始,上升到顶部。
旋转灯。就像消防员或警察使用的那样。但是你想要的任何颜色。
随机闪烁,从底部开始,随机上升和下降。
以所需颜色打开所有 LED。在灯光中随机添加一些白色闪光。
还记得经典的眨眼素描吗?现在有一个孔灯和你喜欢的颜色。
您可以设置闹钟开始的时间和分钟,它会模拟日出(就像在日出模拟器项目中一样)。
将最多 4 个 LED 随机设置为随机颜色。
为什么要使用三块板,而一块板就可以解决问题?
Raspberry Pi Zero W - 嗯,这不是这个项目的一部分。但我想要 ESP 的 MQTT 代理。以及即将到来的项目。那为什么不把它放在灯里呢?我在哪里有地方并且已经有所需的电源线?
ESP 8266 - 这个项目的核心。为什么不是 ESP32?因为我没有
Arduino Nano - 我在控制 APDS 9960 手势传感器的库中遇到了一点延迟。我本可以使用 ESP32,但我没有。我可以在 Pi 上对其进行编程,但我不想这样做。它增加了大约 3.50 欧元的成本,我找到了一种传输简单数据的简单方法。那么,谁在乎呢?!
一切都适合下部的 CD 盒。你在那里看到的板子越多,它看起来就越酷。我喜欢它的样子。
https://rohling-de.blogspot.com/2018/09/katlight-wonderlamp.html
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !