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

一、开发版介绍

Wemos D1有十一个数字输出引脚(包括RX和TX),除了D0引脚之外,其余的十个引脚均支持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
D2I/O,不支持中断,PWM,I2C以及1-wireGPIO16
D3/SCL/D15I/O,默认模式下,I2C的SCLGPIO5
D4/SDA/D14I/O,默认模式下,I2C的SDAGPIO4
D5/SCK/D13I/O,SPI的时钟GPIO14
D6/MISO/D12I/O,SPI的MISOGPIO12
D7/MOSI/D11I/O,SPI的MOSIGPIO13
D8I/O,上拉,低电平时,进入FLASH模式GPIO0
D9/TX1I/O,上拉GPIO2
D10/SSI/O,下拉,SPI时,默认的片选(SS)GPIO15
A0AD输入,0-3.3VADC

二、功能介绍

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界面
在这里插入图片描述

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年2月25日 下午11:03
下一篇 2023年2月25日

相关推荐