在炎熱的夏天,一個小型的空調設備可以為人們帶來清涼,這里介紹一個基于Arduino控制的夏天小空調的代碼。

硬件部分:
1. Arduino Uno控制板2. DHT11溫濕度傳感器3. Peltier制冷片4. 12V 2A電源適配器5. 12V直流風扇6. NPN型晶體管(TIP41)7. 電解電容8. 申請產品外殼(塑料箱)
軟件部分:
1. Arduino IDE開發環境2. Adafruit Unified Sensor和DHT庫3. 基礎電子和編程技能
電路圖如下:

程序如下:
```#include
#define DHTTYPE DHT11#define DHTPIN 2DHT_Unified dht(DHTPIN, DHTTYPE);
#define PINP 3#define PIND 5
int t = 0;int h = 0;int fanvalue = 0;
void setup() { // 初始化串口通信速率為9600bps Serial.begin(9600); // 初始化風扇和peltier芯片的引腳 pinMode(PINP, OUTPUT); pinMode(PIND, OUTPUT); digitalWrite(PINP, LOW); digitalWrite(PIND, LOW);
dht.begin();}
void loop() { // 獲取溫度和濕度值 sensors_event_t event; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println(F("Error reading temperature!")); return; } t = event.temperature; dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println(F("Error reading humidity!")); return; } h = event.relative_humidity;
// 根據溫度值調整風扇PWM值 if (t>= 27) { fanvalue = 255; } else if (t>= 25 && t < 27) { fanvalue = 200; } else if (t>= 23 && t < 25) { fanvalue = 150; } else { fanvalue = 0; } analogWrite(PINP, fanvalue);
// 根據溫度值調整peltier芯片PWM值 if (t>= 28) { digitalWrite(PIND, HIGH); delay(300); digitalWrite(PIND, LOW); delay(1000); } delay(1000);}```
此代碼實現的主要功能是通過DHT11傳感器獲取溫度和濕度信息,并將溫度值用于調節風扇和peltier的速度,以達到降溫的目的。對于連續高溫的環境,程序會快速連續打開和關閉peltier芯片,用于快速降溫,同時使設備在長時間運行時不會過熱。但需要注意,這里是將Arduino輸出口直接接入Peltier芯片上的,當Peltier的電壓和電流過大時,會產生較大的控制器負載,容易燒毀Arduino輸出口,建議在使用時加入保護電路,如三極管及穩壓二極管等。
在完成電路和程序后,可以將所有元器件放置于申請產品外殼中,并連接電源即可。它是一個經濟實用的DIY小空調,適合一些小面積的場所,加入涼水循環管路后還可以增加降溫效果,成本低、易于制作、使用方便,是一個有趣的夏季創意DIY項目。

























