电路触发互联网动作

简介:电路触发互联网动作

关于:制作和分享是我两个最大的激情!总的来说,我从微控制器到针织的一切都发表了数百家教程。我是纽约市摩托车手和不悔改的狗妈妈。我的禾......

现在是集体讨论您想要制作的IOT项目列表的好时机。我有一个亨希,其中许多人将涉及一个发送简单消息的物理电路。当热水器泄漏或打开特定门时,您可能需要一个警报。在本课程中,我们将构建一个基本项目,当物理开关被激活时触发Internet动作。

代码将检测到交换机并将消息发送到云数据站点Adafruit IO上的馈送。另一个云服务站点IFTTT将在检测到活动时监视此馈送并发送电子邮件(“软件设置课”介绍了帐户设置)。

此基本电路和代码示例为需要检测和报告物理事件/环境的项目产生了很大的起点。在后期的课程中,我们将越过反向(从互联网和电路显示信息)并组合两者。

第1步:电路电路

键入并从中测试按钮电路硬件设置课程

上传后按钮代码到您的板上,您应该有一个电路,当按下按钮时会点亮LED。接下来,每次按下按钮,都会添加一些代码以向Adafruit IO发送消息,并创建相应的馈送以捕获该传入数据。

第2步:创建Adafruit IO Web Feed

在Adafruit IO帐户中创建一个新源,并将其命名为“命令”。

在“设置”页面上查找您的AIO键。

步骤3:上传代码以连接到Feed

下载项目代码附加到此步骤并使用Arduino IDE打开它,然后更新设置以匹配您的Adafruit IO用户名和密钥以及您的WiFi网络名称和密码。确保您拥有Arduino库“ArduinoHttpClient”,“Adafruit IO Arduino”和“Adafruit MQTT”。将代码上传到您的电路板。

步骤4:串行监视器故障排除

串行显示器您的Arduino Toolbox中是一个不可或缺的工具。示例草图由在电路板连接到计算机时打印到串行监视器的有用状态更新。在Arduino软件中,您可以通过单击草图窗口右上角的放大玻璃按钮打开它,并将波特率设置为115200(匹配代码设置功能中创建的串行端口)。按下电路板上的RESET按钮从开头开始其草图,并查看显示器中弹出的信息。

一切似乎都是为了在Arduino软件中没有错误?很酷,这意味着您可能在Adafruit IO中获取数据查看!导航到浏览器中的“命令”馈送,并检查到目前为止您的数据输入看起来像什么。(一旦登录到IO.AdafRuit.com,请单击页面左侧的“riefs”,然后单击Feed的名称,“命令”。)

再一次,如果您收到错误,请尝试阅读它并解决您要注意的一些事情的问题,并解决以下问题:

  • 电路板与数据有效的电缆连接
  • 在“工具”菜单中选择的正确板和端口
  • aio和wifi凭据正确键入/粘贴
  • Internet连接处于活动状态

还有一些可能是新的:

  • 检查adafruit io没有问题(在io.adafruit.com页面左侧链接的博客/论坛链接)
  • 串行监视器中选择的波特率不正确
  • Arduino草图中的饲料名称与AIO馈送名称不匹配

结果图显示每次按下按钮,沿着时间轴按下按钮。现在我们已经有一个工作原型,将数据发送到Adafruit IO,让我们添加一个在线服务来观看饲料并根据它采取动作。

步骤5:将IO馈送连接到IFTTT

登录到IFTTT帐户,然后单击页面顶部的“我的applet”,然后在页面右侧标记为“新Applet”的按钮。单击“+此”以选择输入服务,然后在出现“adafruit”之前开始将“adafruit”键入“adafruit”,然后单击标记为adafruit的按钮以查看可用的触发器。对于此示例,触发器将工作,但为了显示更多设置,选择“监视Adafruit IO上的exp”。

从下拉菜单中,选择“等于”的馈送名称“命令”和关系“。在“值”字段中键入数字1,然后单击标记为“创建触发器”的按钮。

接下来,单击“+”选择输出服务,然后单击“电子邮件”(或选择不同的输出服务,如Twitter,SMS等)。单击通过自定义电子邮件,然后单击标记为“创建动作”的按钮。最后,自定义applet的名称(如果需要),然后单击标记为“完成”的按钮。

现在,当您按下按钮时,您应该在收件箱中看到一封电子邮件(最多几分钟后)。

第6步:切换输入

按钮都很好,但它们只是输入冰山的尖端。现在您已经完成了一个基本的开关电路工作,您可以在不改变代码(或最多,更改的第17行以评估的情况下,将按钮交换出任何常开口高的代替低的)。以下是一些想法:

了解更多内容切换课程兰迪的电子课!

对此电路的一个特别有趣的升级是添加一个PIR运动传感器。PIR代表被动红外线,描述了传感器的工作原理 - 通过检测IR光线的总体量的变化,它可以将其与收集器圆顶“看到”。当超过其(可调节的)阈值时,该传感器被设计为输出简单的高/低信号,因此我们可以轻松使用它来代替使用我们一直使用的相同电路的按钮。除了PIR运动传感器外,抓住一根电线(用于为传感器供电),10K欧姆电阻(棕色,黑色,橙色,金)并根据下面的电路图加入它们:

PIR运动传感器配有有线三针连接器,即在传感器板上插入三个标题引脚 - 黑色电线应与标记为GND的引脚排列。

要测试运动传感器的代码与按钮测试代码非常相似,有一些次要(但重要的)更改。由于运动传感器发送了一个高的信号检测到移动时,我们需要从内部上拉电阻删除pinmode.代码设置中的声明,并更改主要如果陈述高的信号而不是a低的

#define LED_pin 13 #define motion_pin 4 //按钮状态int current = 0;int last = 0;void setup(){Pinmode(LED_PIN,输出);Pinmode(Motion_pin,输入);void循环(){//抓住按钮的当前状态。if(DigitalRead(Motion_pin)==高)电流= 1;否则电流= 0;//如果如果(当前==上次)返回,则返回值;DigitalWrite(LED_PIN,电流);最后=电流; }

复制或下载此代码进入您的Arduino软件(请新的空白素描),或者如果您感到冒险,请通过手工按钮测试代码,使我们刚刚提到的两个小型更改,并将文件保存为新名称,例如huzzah_pir_test.ino.

将PIR测试代码上传到羽毛Huzzah并测试在传感器前方挥动手的测试导致LED亮起几秒钟,然后再次关闭。通过用小螺丝刀转动传感器板的微小电位器,可以调整触发的灵敏度和高信号的持续时间。

第7步:进一步拍摄

羽毛Huzzah有几个能够读取数字输入的引脚。避免使电路板进入BootMode的特殊引脚,添加更多开关的逻辑选择是引脚5,16,13,12和14。

使用A.模拟传感器如光电池或电位计使用ESP8266比堵塞它和呼吁有点棘手analogread();因为模数转换器(ADC)最大1V。缩小3或5伏传感器信号,必须构建一个分压器,由一些精心选择的电阻组成。ESP8266只有一个ADC,它在代码中被称为A0。例如,您可以将3V抵抗抵抗具有10K欧姆电阻的轻依赖电阻将其输出扩展到0-1V范围内。

创建面包板原型后,下一个逻辑项目步骤是制作更永久的电路焊接版本。考虑以下某些因素:

  • 如何通过电源 - USB直接/电池组,Lipoly电池,其他?了解你的电源要求
  • 它会使用它在哪里 - 它会暴露在摩擦,天气,湿度吗?保护电路,并使用适合该功能的机箱或安装技术。
  • 思考安全 - 不要将DIY电子产品单独与您的宠物或小孩一起留下。

您将使用此电路,代码和Web配置进行什么?要完成本课程,请在下面的类项目模块中发布您想要制作的项目或触发电路的照片。我期待着检查它们并在页面底部的Q&A部分中回答您的问题。

48人制作了这个项目!

建议书

  • 让它发光比赛

    让它发光比赛
  • 第一次作家比赛

    第一次作家比赛
  • PCB挑战

    PCB挑战

讨论