×

使用APDS9960和NodeMCU通过手势控制Chromecast

消耗积分:2 | 格式:zip | 大小:0.08 MB | 2023-06-26

萧持毅

分享资料个

描述

很久以前,当谷歌的 Chromecast 还没有 Android TV 时,我想到了用树莓派控制 Chromecast的想法。这是为那些想要触觉体验并且不介意将设备扔给孩子的人准备的。但这有一个问题。Raspberry Pi 有一个正在运行的操作系统并且必须被引导,这自然需要时间并且不能突然关闭会破坏操作系统安装。

所以这是该项目的第 2 版及其 Covid-19 特别节目。用于 Chromecast 的非接触式遥控器。也就是说,您可以通过手势控制您的 Chromecast。无需再大喊“嘿,Goooogle”或因手机忘记暂停 Chromecast 而分心。这克服了我刚才提到的基于 Pi 的远程控制的缺点。对于您家中的小孩子来说,这将是一个很好的活动时间项目,他们肯定会从与设备的互动中获得乐趣。

补给品

硬件:

  • Wemos D1 Mini(任何其他 NodeMCU 也可以)。
  • APDS9960 传感器。
  • 跳线。
  • 3mm LED(任何颜色)。
  • 220 欧姆 1/4 W 电阻器。

工具(如果您要将硬件装入箱子中):

  • 开箱刀。
  • 电工胶带。
  • 一个塑料盒。
  • 手电钻。
  • 一块中密度纤维板/木头。
  • 通用印刷电路板 (4cm x 2.5cm)。
  • M2.5 螺丝。

第 1 步:第一关 - Wemos 和 APDS9960 传感器集成

 
 
 
 
poYBAGPjbz2ACGqVAABfICXkYZM159.png
 
1 / 5
 

互联网上几乎没有任何可用于使用带有 ADPS9960 传感器的 Wemos D1 Mini/NodeMCU 的工作参考。所以我知道我正在冒险进入未知领域。

  • 因此,首先,我首先按照附带的接线图将 APDS9960 传感器连接到 Wemos,以检查 Wemos 是否检测到传感器。我使用了 I2Cdetect 库并检查了 APDS9960 传感器的地址。我可以看到传感器位于 0x39 I2C 地址。这是一个积极的开始。
  • 下一步是检查 Wemos 是否读取手势。所以我下载了 Sparkfun 的 APDS9960 传感器库并使用内置示例。这是一个无赖。该代码甚至无法编译。通过各种论坛,这个问题很可能与 IRAM 相关。建议的解决方案均无效。就在那时,我遇到了 Sparkfun 官方图书馆的一个分支。这是为与 Wemos 一起工作而量身定制的,当我测试它时它确实有效,但必须做一些小的改变。您可以从此处下载修改后的库的副本
  • 我用修改后的库对 Wemos 进行了测试,它确实有效。我能够看到在串行监视器中检测到的手势。

这是一个被跨越的巨大障碍。

第 2 步:准备项目外壳 - 切割

 
 
 
 
pYYBAGPjb2iAOUfgAAZuTiKBYjQ410.png
 
1 / 9
 

我不想通过 3D 打印在这个世界上添加新的和更多的塑料垃圾。相反,我决定回收一个我随身携带的汗水箱。这是我在之前的Crypto Ticker 项目中使用的同一个盒子

我决定将 Wemos 的 USB 连接器和 RESET 按钮部分暴露在外壳外。这样,我不需要将 Wemos 从外壳中取出来更新代码或为其他一些基于显示的项目重新设置设置。这也将允许我在需要时重置 Wemos。

  • 首先,我检查了塑料外壳是否有任何缺陷。在检查外壳时,我发现塑料部分是半透明的。
  • 部分半透明实际上帮助了我的事业。我将 Wemos 放在里面所需的位置,我可以从外面看到它的轮廓。
  • 以 Wemos 的轮廓为参考,我用一块电工胶带标记了切口的尺寸。
  • 在第四张图片中,您实际上可以看到胶带的边框与 Wemos 的高度相匹配。
  • 我使用开箱刀切掉塑料,为 Wemos 腾出空间。
  • 同样,在盖子上为手势传感器做了一个切口。
  • 我用热胶将 Wemos 粘在原位,并在暴露的 Wemos 上粘上一些纸带,以暂时保护它免受灰尘和其他因素的影响
  • 在盖子的背面,我粘了一块小木头并用一些电工胶带将其固定到位。事后看来,我本可以在这里使用胶带,我的错。

第 3 步:准备项目围护结构 - 钻孔

 
 
 
 
poYBAGPjb5OAUy6gAAf49Ko0VwQ405.png
 
1 / 7
 
这部分涉及电动工具的使用。操作电动工具时,务必采取必要的预防措施并穿戴必要的安全装置。另外,要全神贯注,不要分心。

钻了以下孔。

  • 盖子上的 2 个孔用于两个 M2.5 螺钉,用于将背板固定到位。
  • 1 个直径约为 5 毫米的传感器孔。
  • 1 个直径约 3 毫米的孔,用于 3 毫米 LED 指示灯。

在前面钻两个孔后,用两个 M2.5 螺钉固定背板,然后取下将其固定到位的临时电工胶带。

第 4 步:准备项目外壳 - 油漆工作

 
 
 
 
poYBAGPjb7GAUpx2AAfuJ7AyasA514.png
 
1 / 4
 

首先,我用一些砂纸打磨塑料表面,使表面粗糙。这是为了确保外壳能很好地保持油漆。

然后,我用一些纸胶带遮盖了 Wemos 突出的部分。

将外壳表面打磨粗糙后,给它涂上大量黑色喷漆,并让它干燥 48 小时。油漆本来可以早点干的,但不想检查以防万一。

第 5 步:障碍 2 - 我的错误

 
 
 
 
poYBAGPjb7eAXFcLAAIuQ-9OS4A547.png
 
1 / 4
 

按照附带的原理图放置在一起后,尝试查看该设备是否可以使用之前使用的示例代码来拾取任何手势。传感器正在工作,因为您可以清楚地看到传感器发出的红外线。但是串行监视器上什么也没有。

试图看看我是否能从数据表中找出任何东西,但这是一个死胡同。在这一点上,我有两个可能的原因:

  • 指示灯干扰检测器,或
  • 孔对于传感器的检测锥来说不够大

只是为了检查两者,将 LED 和传感器从外壳中取出,同时将 LED 放在传感器正上方,尝试了一些手势并且它正在工作。所以罪魁祸首是这个洞。

所以我决定完全暴露传感器,以免再次遇到类似问题。

第六步:第二次正确地把它放在一起

 
 
 
 
poYBAGPjb8eAYRGzAAQLPuq604w010.png
 
1 / 5
 

  • 希望您能创建自己的设备并玩得开心。

     


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !