锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Arduino系列-Wemos D1 WIFI UNO R3开发版的智能家居

时间:2022-09-25 13:00:00 ss系列传感器rx2系列电阻

一、开发版介绍

Wemos D十一个数字输出引脚(包括RX和TX),除了D除0引脚外,其余10引脚均支持PWM、I2C、中断和单总线。模拟引脚(最大3.3V输入)。它的形状和Arduino Uno开发板非常相似,区别在于只有一个模拟引脚。需要注意的是Wemos D1上数字引脚一侧的引脚数比11个多得多,因为D3和D15、D4和D14、D5和D13、D6和D12、D7和D11、D9和On-Board LED是相互连接的。WemosD1是以与Arduino兼容的ESP-8266 WiFi基于模块的开发板通过Arduino IDE实现编程功能。
在这里插入图片描述

引脚介绍:

D0(RX) 串口接收 GPIO3
D1(TX) 串口发送 GPIO1
D2 I/O,不支持中断,PWM,I2C以及1-wire GPIO16
D3/SCL/D15 I/O,默认模式下,I2C的SCL GPIO5
D4/SDA/D14 I/O,默认模式下,I2C的SDA GPIO4
D5/SCK/D13 I/O,SPI的时钟 GPIO14
D6/MISO/D12 I/O,SPI的MISO GPIO12
D7/MOSI/D11 I/O,SPI的MOSI GPIO13
D8 I/O,上拉,低电平时进入FLASH模式 GPIO0
D9/TX1 I/O,上拉 GPIO2
D10/SS I/O,下拉,SPI默认片选(SS) GPIO15
A0 AD输入,0-3.3V ADC

二、功能介绍

1.在阿里云中检测室内温度、湿度和光照强度。

2.在烟雾传感器检测到有可燃气体被触发时,蜂鸣器会有节奏地报警并且自动打开窗户通风透气。

3.当温度高于设定的摄氏度,并在红外人体感应模块中检测到人时,自动打开风扇。

4.当光敏电阻检测到光强高于设定值时,窗帘会自动关闭。

5.当雨滴传感器触发时,窗户会自动关闭,防止室内被淋湿。

6.APP 电气开关可控制风扇、窗户和窗帘,检查温湿度和光强值。

三、功能实现

1.整体系统图

由两个舵机模拟窗户、窗帘、雨滴传感器、风扇、蜂鸣器、温湿度传感器、人体红外传感器、烟雾传感器和光敏电阻组成。

2.wifi初始化

void wifiInit(const char *ssid, const char *passphrase) { 
             WiFi.mode(WIFI_STA);     WiFi.begin(ssid, passphrase);     while (WiFi.status() != WL_CONNECTED)     { 
                 delay(1000);         Serial.println("WiFi not Connect");     }     Serial.println("Connected to AP"); } 

3.风扇

if((t)>10&&(val_ir)==LOW) //温度高于10℃并且有人自动打开风扇; { 
           digitalWrite(fan,HIGH); AliyunIoTSDK::send("FanSwitch", 1); }else{ 
           digitalWrite(fan,LOW); AliyunIoTSDK::send("FanSwitch", 0); } 

4.烟雾

if((val_smog)==LOW)           //当烟雾超出临界值时,会触发蜂鸣器报警,同时会自动打开窗户通风透气。
    { 
          
       tone(buzzer,400,500);   
       servo2.write(angle_on);                                          
       AliyunIoTSDK::send("ChSwitch", 1);
    }

加酒精在纸巾

5.光照

if((1024 - val_gz)<350)         //当光照强度大、就是太阳强时,自动关闭窗帘,反之,暗了就自动打开窗帘。
    { 
        
        servo1.write(angle_on);
        AliyunIoTSDK::send("ClSwitch", 1);
    }else{ 
                   
        servo1.write(angle_off); 
        AliyunIoTSDK::send("ClSwitch", 0);
    }

6.雨水

if((val_ys)==LOW)              //雨水传感器触发,落雨就关窗
{ 
          
    servo2.write(angle_off);            
    AliyunIoTSDK::send("ChSwitch", 0);
}

7.阿里云状态图

8.app界面

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章