0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过关闭声音控制的简单按钮来制作任何设备

454398 来源:网络整理 作者:网络整理 2019-11-14 09:03 次阅读

第1步:工作原理

如何通过关闭声音控制的简单按钮来制作任何设备

在我们真正开始制作项目之前,请先了解一下如何有用。目的是使扩散器认为其电源按钮已被按下。我们通过在开关端子之间形成短路来实现。为此,该电路使用了一个光耦合器。光耦合器只是一个led和一个光敏电阻。当led(左)未通电时,光电管(右)不允许电流通过。如果给LED供电,则光敏电阻使电流通过。

我决定使用光耦合器,因为它允许微控制器将3.3V GPIO引脚与扩散器使用的5V电隔离。如果您尝试将GPIO引脚直接连接到扩散器,则可能会冒着扩散器将微控制器炸到5V的电位。

因此,我们需要做的所有事情都是使扩散器误以为按下按钮就是电源

步骤2:收集组件

该项目具有简单的构建方式和总成本应该不超过$ 10。

您需要的东西

已启用ESP 12-E Wifi的微控制器

100 ohm电阻器

项目板

电线

光耦合器PC817

我为我使用的部件提供了亚马逊链接。如果您有耐心并且可以等待从中国发货,通常可以通过ebay找到有关组件的更好交易。

步骤3:创建控制面板

将所有组件焊接到项目板上,并进行所需的连接。尚未与扩散器建立任何连接。对于这些连接,我使用了一条10英寸的带状电缆,但该电缆有四根电线也可以。

第4步:拆开扩散器

我的扩散器分为两部分,底部有盖子和实际的扩散器单元。是要找到电源按钮的连接位置。我的电源按钮在设备的底部,因此,我首先卸下将设备固定在一起的4颗螺钉。一旦这些螺钉被卸下,我就可以分离底座并查看内部的内容

一旦进入内部,我将看到一个风扇,一个电源插孔的印刷电路板和一个电源按钮的印刷电路板。这是我们接下来要研究的地方。

第5步:将导线焊接到按钮端子

找到电源按钮后,请使用万用表上的连续性设置查找按钮被按下时已连接的两个触点。扩散器的底部,以使电线穿过。然后将原理图中光耦合器的两根导线焊接到这两个端子。

步骤6:连接电源

在我的情况下,我的扩散器在USB上运行。因此,我可以在封装中直接接入一个5V电源。您的可能略有不同。 ESP-12E的Vin引脚具有自己的3.3V稳压器,其最大输入电压为20V,因此以5V的电压进行驱动就可以了。在继续操作之前,请确保检查扩散器的电压和调节器的额定电压。确认电压安全后,将电路板上的两条电源线焊接到扩散器的输入插孔。

步骤7:重新组装扩散器

一旦所有连线都连接好,请关闭扩散器,并确保手动按按钮仍然有效。我决定给自己足够的长度,以使板子悬在我固定在书架上的边缘上。如果您的扩散器更大,则可以直接将整个单元隐藏在基座中。

步骤8:下载代码

该代码可用在github上:IOT扩散器

此项目的代码改编自@DqwertyC,并提供了他关于ESP8266 GOOGLE ASSISTANT和ADAFRUIT IO语音控制的出色指南

遵循dqwertyC的设置说明指南,代码安装和后端设置。

步骤9:调整代码

设置完成后,您可能需要调整的两部分代码是以下几行: 58-60和64-69。这是打开和关闭扩散器的代码。这完全取决于散流器的工作方式。

打开

我的散流器需要按下一个按钮才能将其打开。这三行模仿了一个按钮的按下。

digitalWrite(4,HIGH);

delay(100);

digitalWrite(4,LOW);

关闭

我的扩散器需要按两次按钮才能将其关闭。

for(int i = 0; i 《2; i ++){

digitalWrite(4,HIGH);

delay(100);

digitalWrite(4,LOW);

delay(500);//两次按压之间的额外延迟。

}

步骤10:进一步处理

扩散器只是该项目的一个用例。该项目可以适应几乎所有具有机械式开/关按钮的设备。它也可以很容易地适应与Alexa一起使用。因此,请发挥创造力并将更多随机的内容连接到互联网!
责任编辑:wv

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

    关注

    48

    文章

    6803

    浏览量

    147596
  • 光耦合器
    +关注

    关注

    7

    文章

    405

    浏览量

    35853
收藏 人收藏

    评论

    相关推荐

    diy plc三组灯DE按钮控制设计电路

    用一个按钮控制三组或三个灯,以达到控制灯的亮度,由PLC组成一个控制器,每按一次按钮增加一组灯亮,三组灯全亮后,每按一次
    发表于 07-28 11:49 745次阅读
    diy plc三组灯DE<b class='flag-5'>按钮</b><b class='flag-5'>控制</b>设计电路

    使用Arduino和I2C LCD制作按钮简单菜单

    电子发烧友网站提供《使用Arduino和I2C LCD制作按钮简单菜单.zip》资料免费下载
    发表于 07-12 09:40 0次下载
    使用Arduino和I2C LCD<b class='flag-5'>制作</b>带<b class='flag-5'>按钮</b>的<b class='flag-5'>简单</b>菜单

    创建一个带有按钮简单项目

    电子发烧友网站提供《创建一个带有按钮简单项目.zip》资料免费下载
    发表于 06-30 10:08 0次下载
    创建一个带有<b class='flag-5'>按钮</b>的<b class='flag-5'>简单</b>项目

    按钮控制稳压开关转换器

    数字控制电位计(数字电位器)可用于产生模拟控制电压,但它们通常在微控制器的指导下工作。按钮控制简单
    的头像 发表于 06-26 10:38 379次阅读
    <b class='flag-5'>按钮</b><b class='flag-5'>控制</b>稳压开关转换器

    按钮开/关电源控制

    本应用笔记给出了一个单按钮电源控制电路。该设计由一个由按钮、去抖动器和触发器组成的开/关控制电路组成。该电路通过
    的头像 发表于 06-25 11:21 584次阅读
    单<b class='flag-5'>按钮</b>开/关电源<b class='flag-5'>控制</b>

    如何制作不需要任何AT命令执行串行桥接功能的自定义固件?

    我有一个应用程序通常会连接到设备的物理串行端口。 我想弄清楚如何制作不需要任何 AT 命令执行串行桥接功能的自定义固件,以便我计算机上的应用程序可以直接连接到
    发表于 06-09 08:49

    通过SAI3将MAX98357A连接到i.MX8,使用aplay或gplay之前打开alsamixer时提示“此声音设备没有任何控件”的原因?

    之前打开 alsamixer 时,我收到消息“此声音设备没有任何控件” 如果我在使用 aplay 或 gplay 后启动 alsamixer,我可以看到主音量控制。 我不明白为什么!
    发表于 06-08 08:47

    如何使用网页简单控制LED?

    谁能帮我画一个非常简单的草图通过网页控制 LED。(在 arduino mega 2560 r3 上使用 esp8266)。 与 wifi 的连接和网络服务器的库示例工作得很好。我只
    发表于 05-24 07:02

    如何使用ESP8266的WD My Cloud基于MQTT的关机按钮

    WD My Cloud 是一款出色的 NAS 设备,但它没有任何关机或重启按钮。我一直在寻找便宜的 SoC 制作一个物理
    发表于 05-24 06:14

    如何通过MQTT控制RGB LED?

    IDE 进行编程的。所有这些都 100% 有效。我可以通过 OpenHAB 的用户界面打开/关闭灯。现在这是我有问题的地方。 我还有一台 WeMos D1 Mini。我制作了一个定制的 RGB LED
    发表于 05-23 06:44

    Kindle无法连接到互联网怎么解决?

    其他所有事情,只是无法连接到互联网。这很糟糕,因为我想读一些新书。 我试过关闭飞行模式然后再打开,但没有用。(可能不会,但至少它证明问题不是飞行模式。) 我尝试通过按住电源按钮 20 秒
    发表于 05-15 08:37

    如何通过按钮打开/关闭Wemos D1 mini?

    电缆为 Wemos d1 mini 供电。 无论如何,我需要使用按钮打开和关闭设备(因为 esp8266 板是电池供电的),但我不知道如何实现。我的意思是: 1)按钮应该如何连接到 W
    发表于 05-12 07:30

    使用blynk应用程序通过wi-fi打开和关闭中继,如何同步blynk按钮状态?

    我正在构建一个基于 esp01 的交换机。我可以使用 blynk 应用程序通过 wi-fi 打开和关闭中继。我希望 wifi 断开时开关关闭,然后如果 wifi 重新连接,开关重新同步到我的 blynk
    发表于 05-10 13:19

    制作简单的无线开关,通过互联网的按钮不起作用怎么解决?

    嗨,我制作简单的无线开关。所有在本地网络中都运行良好。通过互联网我看到界面,但按钮不起作用。你能给我建议吗? cls let pinNo = 0 Timer 300, [refres
    发表于 05-10 12:20

    有没有办法保护代码,使其无法通过无线或USB设备任何方式访问?

    好的 ESPers,我正在做一个项目,但我想保护代码或删除我们在开发时对代码的轻松访问。 关闭收音机很容易,但我需要它交流。 有没有办法保护代码,使其无法通过无线或 USB 设备
    发表于 05-10 09:01