一.流程图
1.温湿度控制
2 语音控制流程图 :加湿,水泵,控制光照
二.温湿度控制的硬件
1.DHT11
[图片上传失败...(image-7262a7-1574563201912)]2.继电器
3.加湿雾化片
4.arduino
5 面包板
6 杜邦线
三 线路图
模块系统1.
此系统是通过温湿度感应器感应周围湿度情况,如果太干燥,通过LCD1602显示屏显示too dry ,通过arduino控制继电器模块让其工作,自动开启加湿器,LCD显示working当加湿器工作一段时间后,检测周围湿度达到植物的生长范围,则停止工作。
以下是程序设计:
#include <LiquidCrystal.h>
#include <dht.h>
volatile int humidity;
LiquidCrystal mylcd(12,11,5,4,3,2);
dht myDHT_7;
int dht_7_gethumidity() {
int chk = myDHT_7.read11(7);
int value = myDHT_7.humidity;
return value;
}
void setup(){
mylcd.begin(16,2);
mylcd.clear();
humidity = dht_7_gethumidity();
Serial.begin(9600);
pinMode(6, OUTPUT);
}
void loop(){
Serial.println(humidity);
if (humidity <= 40) {
digitalWrite(6,HIGH);
mylcd.clear();
mylcd.setCursor(0, 0);
mylcd.print("too dry");
mylcd.setCursor(0, 1);
mylcd.print("working");
} else if (humidity > 40) {
digitalWrite(6,LOW);
mylcd.clear();
mylcd.setCursor(0, 0);
mylcd.print("normal");
mylcd.setCursor(0, 1);
mylcd.print("");
}
}
模块2:
声控系统 线路连接表
#include <ld3320.h>
VoiceRecognition Voice; //声明一个语音识别对象
#define humidity 6
void setup()
{
pinMode(Led,OUTPUT); //初始化LED引脚为输出模式
digitalWrite(Led,LOW); //LED引脚低电平
Voice.init(); //初始化VoiceRecognition模块
Voice.addCommand("da kai jia shi qi",0); //添加指令,参数(指令内容,指令标签(可重复))
Voice.addCommand("guan bi jia shi qi ",1); //添加指令,参数(指令内容,指令标签(可重复))
Voice.start();//开始识别
}
void loop() {
switch(Voice.read()) //判断识别
{
case 0: //若是指令“kai deng”
digitalWrite(Led,HIGH); //点亮LED
break;
case 1: //若是指令“guan deng”
digitalWrite(Led,LOW);//熄灭LED
break;
default:
break;
}
}
整体代码如下:
#include <LiquidCrystal.h>
#include <dht.h>
#include <ld3320.h>
volatile int humidity;
VoiceRecognition Voice; //声明一个语音识别对象
#define humidity 6
LiquidCrystal mylcd(12,11,5,4,3,2);
dht myDHT_7;
int dht_7_gethumidity() {
int chk = myDHT_7.read11(7);
int value = myDHT_7.humidity;
return value;
}
void setup(){
mylcd.begin(16,2);
mylcd.clear();
humidity = dht_7_gethumidity();
Serial.begin(9600);
pinMode(6, OUTPUT);
Voice.init(); //初始化VoiceRecognition模块
Voice.addCommand("da kai jia shi qi",0); //添加指令,参数(指令内容,指令标签(可重复))
Voice.addCommand("guan bi jia shi qi ",1); //添加指令,参数(指令内容,指令标签(可重复))
Voice.start();//开始识别
}
void loop(){
Serial.println(humidity);
switch(Voice.read()) //判断识别
{
case 0: //若是指令“kai deng”
digitalWrite(6,HIGH);
break;
case 1: //若是指令“guan deng”
digitalWrite(Led,LOW);//熄灭LED
break;
default:
break;
}
if (humidity <= 40) {
digitalWrite(6,HIGH);
mylcd.clear();
mylcd.setCursor(0, 0);
mylcd.print("too dry");
mylcd.setCursor(0, 1);
mylcd.print("working");
} else if (humidity > 40) {
digitalWrite(6,LOW);
mylcd.clear();
mylcd.setCursor(0, 0);
mylcd.print("normal");
mylcd.setCursor(0, 1);
mylcd.print("");
}
}
参考文献
【1】https://blog.csdn.net/weixin_42320020/article/details/81479019