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

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

3天内不再提示

如何用Arduino控制您的家

454398 来源:wv 2019-10-15 09:53 次阅读

第1步:基础知识

就像我之前说过的,Arduino只能管理大约40mA的电流。那么,我们如何增加电流以管理更多电流呢?一个好的方法是使用继电器。

但是继电器通常使用40mA以上的电流来激活,因此我们还需要使用一个小的晶体管

该电路如何工作:

(我用AP1开关模拟arcuino引脚。)

arduino引脚为低电平时,如果晶体管截止,则继电器保持截止状态。

当arduino引脚为HIGH时,来自 Base 的电流为4.19mA strong》到晶体管的发射器。

这将激活晶体管,并允许更大的电流从 Collector 流向 Emitter ,从而使继电器激活。

现在,42.29mA的电流可以直接从5V电源一直流到地面。

现在继电器被激活。因此,您可以在125V AC下控制10A的电流。

继电器:

继电器就像一个开关,您可以使用电子信号来激活或停用它。如果您购买SPDT继电器,则通常会有5个引脚:

通用

NC(常闭)

否(常开)

正和负是激活和停用继电器的方式。

公共引脚是通往电源的开关(继电器)的一部分。

NC和NO是“输出”。 (这是不正确的说法,但是像这样想起来更容易)。

当继电器停用时: NC 引脚已闭合,并且与它相连的所有引脚都将 ON 。 NO 销是 open ,因此连接到它的任何东西都将 OFF 。

当继电器被激活时: NC 销处于打开状态,表示已附加任何内容它将关闭。 否针脚已被关闭,因此连接到它的任何东西都将打开。

*您可以在led图像中看到它。

步骤2:可能性无穷无尽!!!

现在,您可以控制一切,从灯光到水泵!我使用这种配置来点燃火箭并控制火箭的阶段,因此您可以想象此电路中的潜力。 :)

步骤3:PCB

我制作了一个电路,因此您可以控制6个设备。您可以添加更多的继电器或制作更多的电路来控制更多的东西。您可以在下面下载Eagle文件。

材料清单:

6-SPDT继电器

6- 2n2222a晶体管

6-1 1n4004二极管

6-1K电阻器

6- 10K电阻

6- 3针接线端子

1- 6针接线端子

1-2针接线端子

1-5 V电源

您可以从www.sparkfun获取所有组件.com,http://www.adafruit.com/或http://www.digikey.com/

第4步:连接和代码

连接:

只需将arduino从引脚2连接到引脚8。然后将5V电压连接到板上即可。

*确保将电源接地连接到Arduino的接地。

代码:

//为确保我们的pcb正常运行,我们可以使用此代码。接下来,您可以根据需要对其进行修改。

/************************************* ***********************************/

/****** *******************家庭控制****************************/

int Relay1 = 2;

int Relay2 = 3;

int Relay3 = 4;

int Relay4 = 5;

int Relay5 = 6;

int Relay6 = 7;

/************************ ***************/

//当按下复位键时,设置例程运行一次:

void setup(){

//将数字引脚初始化为输出。

pinMode(Relay1,OUTPUT);

pinMode(Relay2,OUTPUT);

pinMode(Relay3,OUTPUT);

pinMode(Relay4,OUTPUT);

pinMode(Relay5,OUTPUT);

pinMode(Relay6,OUTPUT);

}

/************************************** **************************************/

//循环例程结束并永远重复一遍:

//每个中继都将激活一秒钟并停用一秒钟

void loop(){

digitalWrite(Relay1,HIGH) ;//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay1,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

digitalWrite(Relay2,HIGH);//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay2,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

digitalWrite(Relay3,HIGH);//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay3,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

digitalWrite(Relay4,HIGH);//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay4,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

digitalWrite(Relay5,HIGH);//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay5,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

digitalWrite(Relay6,HIGH);//打开继电器(HIGH是电压电平)

delay(1000);//等待一秒钟

digitalWrite(Relay6,LOW);//通过降低电压

delay(1000)来关闭继电器;//等待一秒钟

}

/**************************** *************/

步骤5:准备运行!

只需添加几个运动传感器温度传感器,门/窗传感器,水传感器等,您便可以获得全自动的智能家居

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

    关注

    188

    文章

    6468

    浏览量

    186937
收藏 人收藏

    评论

    相关推荐

    stm32与Arduino的比较

    在微控制器的世界里,STM32和Arduino是两个经常被提及的名字。STM32是一系列由STMicroelectronics生产的高性能微控制器,而Arduino则是一个开源电子原型
    的头像 发表于 11-19 15:45 705次阅读

    如何使用Arduino实现CAN总线通信

    CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、实时性和灵活性而受到青睐。Arduino作为一个
    的头像 发表于 11-12 10:09 710次阅读

    何用Jacinto内部的GPtimer输出PWM信号控制屏幕背光

    电子发烧友网站提供《如何用Jacinto内部的GPtimer输出PWM信号控制屏幕背光.pdf》资料免费下载
    发表于 09-29 10:25 0次下载
    如<b class='flag-5'>何用</b>Jacinto内部的GPtimer输出PWM信号<b class='flag-5'>控制</b>屏幕背光

    怎样用Arduino测试锂电池容量

    本文详细介绍了如何用Arduino测量锂电池的容量。并附有电路图和Arduino的程序代码。
    的头像 发表于 07-30 09:14 843次阅读
    怎样用<b class='flag-5'>Arduino</b>测试锂电池容量

    何用Arduino开发STM32G070?

    何用Arduino开发STM32G070,各位大神有相关教程吗。我如何在Arduino的开发板管理器中添加STM32G070开发板,如何把程序下载到CPU中?
    发表于 04-07 08:22

    何用memtool与xc866微控制器通信?

    请告诉我如何用memtool与xc866微控制器通信
    发表于 03-04 07:27

    arduino控制步进电机代码

    Arduino是一种开放源代码的电路板平台,它可以用于控制各种不同的电子设备,包括步进电机。步进电机是一种电动机,可以通过下达特定的指令来控制每个步进的角度,从而使电机旋转到指定的位置。在本文
    的头像 发表于 02-14 16:29 1999次阅读

    arduino中while循环怎么跳出

    执行某段代码的情况。然而,如何在合适的时机跳出 while 循环是一个需要注意的问题。本文将详细介绍 Arduino 中 while 循环的基本概念,以及如何使用不同的技巧跳出该循环来实现代码的灵活控制
    的头像 发表于 02-14 16:22 2549次阅读

    如何使用Arduino制作智能垃圾箱

    在这个项目中,我将向展示如何使用Arduino制作智能垃圾箱,当带着垃圾接近时,垃圾箱的盖子会自动打开。
    的头像 发表于 02-11 12:22 2987次阅读
    如何使用<b class='flag-5'>Arduino</b>制作智能垃圾箱

    如何使用Arduino设置热敏电阻来创建温度计

    在本教程中,我们将指导如何使用Arduino设置热敏电阻以创建基本温度计。提供的原理图、试验板图和示例代码将使热敏电阻工作变得简单明了。
    的头像 发表于 02-11 10:37 2459次阅读
    如何使用<b class='flag-5'>Arduino</b>设置热敏电阻来创建温度计

    如何使用Arduino控制RGB LED

    在本指南中,您将学习如何使用Arduino控制RGB LED。RGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino RGB LED电路,并以一些基本颜色为例循环。
    的头像 发表于 02-11 10:28 4882次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB LED

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2780次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO板和电位器<b class='flag-5'>控制</b>伺服电机

    如何设置Arduino IR发射器电路

    在本指南中,您将学习如何设置 Arduino IR发射器电路。它使您可以控制IR(红外线)LED,并从Arduino发送任何远程控制代码。这意味着你可以用它来
    的头像 发表于 02-11 09:44 831次阅读
    如何设置<b class='flag-5'>Arduino</b> IR发射器电路

    何用我的cy8cmbr3110或3102 capsense控制stm32?

    我在想怎么用 stm32l431 控制这个 cy8cmbre3110 或 3102,我找到了带有 arduino wire.h 的代码 库可以用 i2c 协议控制它但我不知道如何用我的
    发表于 01-25 08:17

    如何使用arduino控制接触器?

    我将避免铅酸电池过载。我想通过使用近 30A 的接触器和 arduino uno 板来控制电池过载。如何使用arduino控制接触器?
    发表于 01-22 07:14