# ESP32使用DHT11溫濕度辨識結合LED燈
### ESP32-WROOM-32腳位圖

### 使用材料
1. ESP32-WROOM-32*1
2. 三色LED全彩模組*1
3. DHT11溫溼度感測器
### LED使用到的引腳
| 顏色 | 引腳 |
| -------- | -------- |
| 紅色 | GPIO15 |
| 綠色 | GPIO2 |
| 藍色 | GPIO4 |
| 接地 | GND |
### DHT11使用到的引繳
| DHT11 | 引腳 |
| -------- | -------- |
| - | GND |
| + | VIN |
| OUT | RX2(16) |
### 接線圖


## 程式碼
```csharp
#include <DHT.h>
#define DHT11PIN 16
DHT dht(DHT11PIN, DHT11);
const int redPin = 15;
const int greenPin = 2;
const int bluePin = 4;
float humi;
float temp;
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
// light
analogWrite(redPin, 128);
analogWrite(greenPin, 128);
analogWrite(bluePin, 128);
}
void humi_temp(){
humi = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Temp: ");
Serial.print(temp);
Serial.print("Humi: ");
Serial.println(humi);
delay(1000);
}
void RedLed(){
analogWrite(redPin, 255);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
}
void GreenLed(){
analogWrite(redPin, 0);
analogWrite(greenPin, 255);
analogWrite(bluePin, 0);
}
void BlueLed(){
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 255);
}
void loop() {
humi_temp();
if(temp>26 && temp <28){
Serial.print("超過26");
GreenLed();
}
if(temp>=28){
Serial.print("超過28");
RedLed();
}
if(temp<26){
Serial.print("低於26");
BlueLed();
}
}
```
---
延伸閱讀
1. [Google Cloud Platform VM個體使用 - 1](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/S1jjJDdrJx)
2. [Google Cloud Platform VM個體使用 - 2](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/HkkKfOur1g)
3. [Arduino ESP32使用步驟](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/SJRUP4xBke)
4. [ESP32-WROOM-32 30P 全彩LED模組](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/r1u5SKxr1g)
5. [ESP32使用DHT11溫濕度辨識結合LED燈](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/Bke9M_zB1e)
6. [ESP32實作溫濕度智慧監測結合DHT11及LED開發](https://hackmd.io/@0q3lEDkPQdaD6eZ8vpOC_A/H10M6LOr1g)