查看: 156|回复: 0

【机智云Gokit2.0开发板】+智能卧室睡眠环境装置

[复制链接]

该用户从未签到

发表于 2024-10-12 17:12:42 | 显示全部楼层 |阅读模式
分享到:
引言

本项目使用机智云gokit2.0开发板,实现智能睡眠环境装置,解决目前大多数人对卧室睡眠要求逐渐增高的痛点。


痛点


  • 环境数据可检测
  • 温湿度可智能调控
  • 人起床自动开灯
  • 按下开关调控屋内设备


功能

  • 当温度超过20°C后,风扇打开一档;当温度超过30°C后,风扇打开二档。温度低于20°C,风扇自动关闭。
  • 实时检测温湿度传感器、红外人体检测传感器等数据,并通过串口发送出来进行数据显示。
  • 红外人体检测传感器实时检测是否有人起床,有人则打开白灯。

  • 按下按键一,打开白灯;按下按键二,打开风扇。


前期准备
软件
  • arduino IED
  • 机智云
  • 串口调试助手


硬件
  • 机智云Gokit2.0开发板


项目开发
硬件开发





软件开发
  • 1、首先申明引用的头文件


  • #include <Gizwits.h>
  • #include <Wire.h>
  • #include <SoftwareSerial.h>
  • #include <DHT.h>
  • #include <ChainableLED.h>
  • #include <MsTimer2.h>

[color=rgb(0, 0, 0) !important]复制代码



2、根据电路图,定义温湿度传感器、按键1、按键2、RGB灯、红外传感器和电机的管脚。


  • #define Infrared_PIN 2 ///< 红外IO管脚
  • #define DHTPIN 3 ///< 温湿度IO管脚
  • #define MOTOR_PINA 4 ///< 电机IO管脚
  • #define MOTOR_PINB 5 ///< 电机IO管脚
  • #define KEY1 6 ///< 按键IO管脚
  • #define KEY2 7 ///< 按键IO管脚
  • //温湿度功能值定义
  • #define DHTTYPE DHT11
  • //电机功能值定义
  • #define MOTOR_MAX 100
  • #define MOTOR_MAX1 -100
  • #define MOTOR_MIN 0
  • #define MOTOR_16
  • DHT dht(DHTPIN, DHTTYPE);
  • ChainableLED leds(A5, A4, 1);
  • SoftwareSerial mySerial(0, 1); // A2 -> RX, A3 -> TX

[color=rgb(0, 0, 0) !important]复制代码



3、编写温湿度读取功能函数


  • void DHT11_Read_Data(unsigned char * temperature, unsigned char * humidity)
  • {
  • *temperature = (unsigned char)dht.readTemperature();
  • *humidity = (unsigned char)dht.readHumidity();
  • return;
  • }


[color=rgb(0, 0, 0) !important]复制代码



4、编写电机控制功能程序


  • void Motor_status(long motor_speed)
  • {
  • unsigned char Temp_motor_speed = 0;
  •   if (motor_speed == 0) //停止
  •   {
  • digitalWrite(MOTOR_PINA, LOW);
  • }
  •   if (motor_speed > 0) //正转
  • {
  • Temp_motor_speed = (motor_speed - 0) * 51;
  • if (Temp_motor_speed > 255) Temp_motor_speed = 255;
  • digitalWrite(MOTOR_PINA, LOW);
  • analogWrite( MOTOR_PINB, Temp_motor_speed);
  • }
  • if (motor_speed < 0) //反转
  • {
  • Temp_motor_speed = 255 - (0 - motor_speed) * 51; //Temp_motor_speed = (255 ‐ (5 + motor_speed))* 51;
  • if (Temp_motor_speed > 255) Temp_motor_speed = 255;
  • digitalWrite(MOTOR_PINA, HIGH);
  • analogWrite( MOTOR_PINB, Temp_motor_speed );
  • }
  • }

[color=rgb(0, 0, 0) !important]复制代码



5、编写RGB灯功能程序
  • void LED_RGB_Control(byte red, byte green, byte blue)
  • {
  • leds.setColorRGB(0, red, green, blue);
  • }

[color=rgb(0, 0, 0) !important]复制代码



6、**温湿度暂存变量
  • unsigned char temperature_buf=0;
  •   unsigned char humidity_buf=0;

[color=rgb(0, 0, 0) !important]复制代码



7、在初始化程序中,定义串口波特率,初始化RGB,定义GPIO。


  • mySerial.begin(115200);
  • leds.init();
  • digitalWrite(A0, HIGH);//使能RGB LED
  • pinMode(KEY1, INPUT_PULLUP); //KEY1 上拉输入
  • pinMode(KEY2, INPUT_PULLUP); //KEY2 上拉输入
  • LED_RGB_Control(0,0,0);<span style="background-color: rgb(255, 255, 255);"> </span>

[color=rgb(0, 0, 0) !important]复制代码



8、在主循环中,首先检测温湿度值,并将温湿度传感器的值进行显示。当温度超过20°C后,风扇打开一档;当温度超过30°C后,风扇打开二档。温度低于20°C,风扇自动关闭。


  • DHT11_Read_Data(&temperature_buf, &humidity_buf);
  •   if(temperature_buf>20)
  •   {
  •     Motor_status(1);
  •   }
  •   else   if(temperature_buf>30)
  •   {
  •     Motor_status(2);
  •   }
  •   else
  •   {
  •     Motor_status(0);
  •   }
  •   mySerial.println("temperature:");
  •   mySerial.println(temperature_buf, DEC);
  •   mySerial.println("humidity:");
  •   mySerial.println(humidity_buf, DEC);

[color=rgb(0, 0, 0) !important]复制代码



9、按下按键一,打开白灯;按下按键二,打开风扇。
  • if(digitalRead(KEY1) == LOW)
  •   {
  •   LED_RGB_Control(255,255,255);
  •   mySerial.println("open led!");
  •   }
  •   else  if(digitalRead(KEY2) == LOW)
  •   {
  •     Motor_status(1);
  •   mySerial.println("open fan!");
  •   }


[color=rgb(0, 0, 0) !important]复制代码



10、检测红外人体检测传感器是否有人,有人则打开白灯,没人则关闭。并通过串口发送出来。


  • if (digitalRead(Infrared_PIN))
  • {
  •   mySerial.println("No one appears and disappears!");
  • LED_RGB_Control(0,0,0);
  • }
  • else
  • {
  •     LED_RGB_Control(255,255,255);
  • mySerial.println("Someone is appearing!");
  • }

[color=rgb(0, 0, 0) !important]复制代码



功能演示



回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /5 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-20 01:01 , Processed in 0.121404 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.