目录
一、设备接线
1、DHT11温湿度传感器
有孔一面朝上,从左到右为1-4号,1号接电源,2号接8号引脚,3号不接,4号接地。
2、GY-30光照传感器
VCC接Arduino的5V,GND接GND,SDA接A4,SCL接A5,ADD是地址引脚,单个sensor工作时间不用接
3、ESP8266
VCC接3.3V,GND接GND,TX接RX、RX接TX。
4、ESP32-cam
IO0接GND短接、5V接5V、GND接GND、UOT接RX、UOR接TX。
5、继电器
VCC--->5V、GND--->GND、IN1--->arduino11号引脚、IN2接12号引脚,Com(公共端口)--->水泵正极、NO(常开)--->5V。
6、水泵:
正极(红色)接继电器Com口、负极(黑色)接地。
7、面包板使用及接线情况:
在面包板两侧红蓝线内接入3.3V和接地与5V和接地,同侧同竖排接口功能相同。
面包板中间左右两侧,两侧不相连,单侧同排5孔内部相连。
用杜邦线将8号、11号、12号、A4、A5引脚和A4,A5连接到面包板上。
将ESP8266、DHT11和GY-30连接到面包板上相应杜邦线同排同侧。
二、相关代码
2.1 传感器核心代码
2.1.1 温湿度传感器
void ht(){
int chk = DHT11.read(DHT11_PIN);
int tem=(float)DHT11.temperature; //将温度值赋值给tem
int hum=(float)DHT11.humidity; //将湿度值赋给hum
Serial.print("Tempeature:"); //打印
Tempeature:
Serial.print(tem); //打印温度结果
Serial.println("℃");
Serial.print("Humidity:"); //打印出Humidity:
Serial.print(hum); //打印出湿度结果
Serial.println("%"); //打印出%
wendu=tem;
shidu=hum;
2.1.2 光照传感器
void val(){
int val = 0;
Wire.begin();
Wire.beginTransmission(ADDR);
Wire.write(0b00000111);
Wire.endTransmission();
Wire.beginTransmission(ADDR);
Wire.write(0b00100000);
Wire.endTransmission();
Wire.requestFrom(ADDR, 2);
for (val = 0; Wire.available() >= 1; ) {
char c = Wire.read();
val = (val << 8) + (c & 0xFF);
}
val = val / 1.2;
Serial.print("Guangzhao: ");
Serial.print(val);
Serial.println("cd");
guangzhao=val;
}
2.2 波特率引脚控制
Serial.begin(115200);
pinMode(8,OUTPUT);
pinMode(A5,INPUT);
pinM