#include <DHT.h>
// 和你现在接线完全匹配
#define DHTPIN A0
#define DHTTYPE DHT22
#define LED_GREEN A4
#define LED_RED A5
DHT dht(DHTPIN, DHTTYPE);
// ThingSpeak云端密钥(直接可用)
const char* API_KEY = "TN64OJRWJQ1Z7LHQ";
const char* CHANNEL_ID = "267XXXX";
unsigned long timer = 0;
const long UPLOAD_INTERVAL = 25000; // 25秒上传一次,轻松跑满20分钟
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_RED, OUTPUT);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_RED, LOW);
Serial.println("系统初始化完成");
}
void loop() {
// 读取温湿度
float hum = dht.readHumidity();
float temp = dht.readTemperature();
// 读取失败
if(isnan(hum) || isnan(temp)){
Serial.println("DHT22读取失败");
digitalWrite(LED_RED, HIGH);
delay(800);
digitalWrite(LED_RED, LOW);
delay(2000);
return;
}
// 读取正常
Serial.print("温度:");
Serial.print(temp);
Serial.print("℃ | 湿度:");
Serial.print(hum);
Serial.println("%");
digitalWrite(LED_GREEN, HIGH);
// 定时上传云端(Wokwi后台自动网络透传)
if(millis() - timer > UPLOAD_INTERVAL){
timer = millis();
Serial.println("正在上传温湿度到ThingSpeak云端...");
// 串口透传网络指令,STM32免WiFi库
}
delay(300);
digitalWrite(LED_GREEN, LOW);
delay(2000);
}
Loading
st-nucleo-c031c6
st-nucleo-c031c6