电子说
步骤1:硬件要求 - 1
对于这个项目,我们需要混合使用电子元件和木工工具。
电子元件包括:
A Perfboard
NodeMCU
220v AC至5v DC降压降压模块
蜂鸣器屏蔽或蜂鸣器和100Ω电阻器
SPDT开关
4 x TM1637 4位数字7段显示器
多个彩色LED和等量的220Ω电阻器
连接电缆很少
用于上传代码的USB电缆
和常规焊接设备
步骤2:硬件要求 - 2
对于我们需要的工作位:
Palate Wood
铅笔
卷尺
手/剁锯
锤子
钉子
砂光工具
和个人用于木材切割的防护设备(PPE)
我正在用托盘木材制作外壳,因为我的其他DIY木工项目留下了一大堆托盘。您也可以用纸板或塑料容器制作盒子并涂上它以使其看起来很酷。
第3步:主题覆盖
第4步:计划
计划是制作一个24厘米x 10厘米的盒子来容纳电路。
设备开机后,它将首先使用代码中提供的SSID和密码对连接到指定的Wi-Fi网络。建立连接后,代码会使用“Google API密钥”组合(我将在后面的部分中向您展示如何生成密码)和“YouTube频道ID”以从YouTube服务器获取数据。然后,设备使用7段显示器显示视图和订户计数。
显示信息后,等待5分钟后再从YouTube服务器获取下一组信息。变量用于存储当前订户计数。如果新用户数大于旧计数,则蜂鸣器继续,蓝色和白色LED交替闪烁(发光)。
步骤5:接线
接线非常简单。我们将首先将7段显示器连接到微控制器。每个显示器都有4个引脚,2个用于电源,1个用于时钟,另一个用于数据。按照屏幕上提供的说明将数据和时钟引脚连接到NodeMCU。
然后我们将显示器的所有VCC引脚连接到NodeMCU的3.3V引脚。然后,将蜂鸣器屏蔽/蜂鸣器与100Ω电阻器连接到D8引脚。之后,将蓝色和白色LED分别连接到带有220Ω限流电阻的D9和D10引脚。
现在,继续将所有接地引脚连接到NodeMCU的GND引脚。连接所有引脚后,将开关连接到NodeMCU的VIN和GND到降压转换器的GND。
步骤6:使用的库
频道的用户和频道ID列在“帐户信息”下
登录您的YouTube帐户。
点击右上角的帐户图标》设置。
从左侧面板单击“高级设置”。
通过从名称中删除任何特殊字符和“master”来解压缩并重命名库。将文件夹放在Arduino的libraries文件夹中。如果这是您的第一个库,则可能需要创建Libraries文件夹。重新启动IDE,以便正确加载KEYWORD文件,示例,并将库添加到库菜单。
》唯一标识符:
除了库,您还需要很少的此项目的唯一标识符。
第一个是无线网络的SSID和密码。
然后,您需要拥有YouTube频道的唯一频道ID。为此:
登录您的YouTube帐户。
点击右上角的帐户图标》设置。
从左侧面板中单击“高级设置”。
频道的用户和频道ID列在“帐户信息”下
最后,您需要生成“Google API密钥” “为你的频道。要生成密钥
Google搜索“使用API密钥”或打开下面说明中提供的链接。
向下滚动并单击“API& Services→Credentials”
如果这是您第一次访问此页面,则必须通过单击“创建”按钮创建一个新项目。
接受条款并为项目命名,然后点击“创建”按钮创建项目
创建项目后,只需单击“创建凭据”下拉列表
系统将花时间生成密钥,然后从那里选择“API密钥”。生成后,它会在弹出对话框中显示密钥。 - 复制并将其保存在您的电子邮件中
现在点击左侧面板中的“图书馆”选项,然后
向下滚动并启用“YouTube Data API v3”和“YouTube报告” API“通过单击它们并点击”启用“按钮
等待5到10分钟,然后您就可以使用刚刚在代码中生成的API密钥。
第7步:木工
《让我们通过组装木箱开始我们的项目。如前所述,我将削减:
2 x 24x10cm,2 x 10x6cm侧板和一个24x10cm背板。切割完所有的木块后,我将加入并打磨它们,使盒子看起来漂亮顺滑。在单元的后面,我要钻2个孔,其中一个用于电源线,另一个用于开关。
步骤8:焊接
一旦盒子准备就绪,我将焊接所有电子元件并安装他们在盒子里。
我将从焊接NodeMCU开始。然后,我将100Ω电阻焊接到NodeMCU的D8引脚。之后,我将蜂鸣器焊接到穿孔板,并将其连接到NodeMCU。接下来,我将焊接开关并将其安装在盒子的背面。根据原理图,开关的一个引脚将连接到NodeMCU的VIN,另一个引脚连接到降压转换器的+ ve端子。转换器的-ve端将连接到NodeMCU的GND引脚。现在,我将根据原理图焊接7段。
接下来,我将蓝色和白色LED焊接到NodeMCU的D9和D10引脚。所以,这就是我的面板的样子。在安装面板之前,让我做一个快速测试。看起来一切都按照他们应该的方式运作。好的,让我安装面板,然后我会向你们解释代码。
第9步:代码
这些是我们为此项目所需的库列表。
现在,如果您使用的是与我相同的原理图,则除了这几行之外,您不必修改此代码中的任何内容。您只需在此处添加WiFI网络的SSID和密码以及Google API密钥和渠道ID。您可以保持原样并将代码加载到NodeMCU。
“api_mtbs”是微处理器发出的API请求之间的平均时间。
然后,我正在初始化通过设置时钟和数据引脚来显示。之后我设置了蜂鸣器和2个LED。
在设置()部分,我正在设置LED引脚模式并在启动时打开蓝色LED。然后我清除所有7段并在显示器1和3上显示0.然后设备将使用提供的凭证连接到WiFI网络。
在loop()部分中的值为计数器超出了api_mtbs或简单来说,当需要向YouTube服务器发出下一个请求时,会进行带有通道ID的API调用,结果将显示在串行监视器和7段显示器上。您需要计算接收计数的MOD以显示最后4位数,然后从原始值中减去MOD值以获得前4位数。我注意到的一件事是,如果MOD是24,那么显示器只显示24而不是0024.所以我们必须将缺少的零添加到显示器。这段代码是添加缺失的0。
最后,当新订户数量大于旧订户数时,此位代码将打开蜂鸣器和LED。
注意:引脚D9和D10是RX和NodeMCU的TX引脚。因此,如果将LED连接到这些引脚,您将无法在串行监视器上获得任何信息。因此,在测试过程中,不要将任何东西连接到D9和D10引脚,并注释设置这些引脚的引脚模式的位。
您可以从以下描述中提供的链接下载代码。
第10步:未来增强
我将在本项目的即将发布的版本中包含的几件事情是:
将每日计数保存到网络服务器的数据库
将每月计数保存到网络服务器的数据库
生成Web界面以显示每日/每月分析条形图/折线图
添加NeoPixels而不是闪烁的LED
全部0条评论
快来发表一下你的评论吧 !