Smart AV-Schrank Lüftersteuerung – Arduino Nano, DHT11 & Relais
Komponenten & Zubehör
| Bauteil | Menge |
|---|---|
| Arduino Nano R3 | 1 |
| DHT11 Temperatur- & Feuchtesensor (4-Pin) | 1 |
| 5-V-Relaismodul (für Lüfter) | 1 |
| PC-Lüfter (80/120 mm, 5 V Betrieb) | 2–3 |
| USB-Netzteil (5 V, ≥ 1 A) | 1 |
| Projektgehäuse + LEDs (Grün/Orange/Rot) + Piezo-Summer | 1 Satz |
Problembeschreibung
Der AV-Receiver im geschlossenen Schrank wurde im Sommer zu heiß (Gehäusetemperatur > 40 °C / 109 °F). Kommerzielle temperaturgesteuerte Lüfter waren teuer (> 30 $) und boten keine Nachlaufzeit. Lösung: Eigenbau mit Arduino Nano, DHT11, Relais und USB-Lüftern – Gesamtkosten unter 10 €.
Funktionslogik
- Temperaturmessung alle 30 s (10 Messwerte → Mittelwert).
- Lüfter EIN bei Mittelwert > 95 °F (35 °C) für min. 5 Min.
- Alarm (Piezo + rote LED) bei > 120 °F (49 °C), alle 30 s Wiederholung.
- Nachlauf: Nach Abschalten der Anlage laufen Lüfter weiter, bis Temp. < 95 °F.
- Power-On Self-Test (POST) prüft Lüfter, LEDs, Summer.
- Status-LEDs: Power (grün), Temp OK (grün), Lüfter an (orange), Überhitzung (rot).
Aufbau & Gehäuse
Alles passt in ein kleines Projektgehäuse. Lüfter werden per USB (Molex abgelötet, auf USB-Stecker gecrimpt) mit 5 V versorgt – sie drehen noch ausreichend. Viel Heißkleber verhindert Kurzschlüsse. Das Gehäuse fügt sich optisch in die AV-Anlage ein.
Arduino-Sketch
// Temperatur-Controller für AV-Schrank
// Lüfter per 10A Relais an 5V/12V Lüfter
// Piezo-Alarm bei Überhitzung
int FANTEMP = 95; // Lüfter-Einschalttemperatur °F
int ALARMTEMP = 120; // Alarmtemperatur °F
int FANLED = 2, TEMPOK = 3, ALARMLED = 4, ALARMPIN = 7, FANPIN = 9;
#define DHTPIN 8
#define DHTTYPE DHT11
#include "DHT.h"
DHT dht(DHTPIN, DHTTYPE);
const int numReadings = 10;
float avetemp = 0, temp = 0;
unsigned long checkdelay = 0;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(FANPIN, OUTPUT); pinMode(ALARMPIN, OUTPUT);
pinMode(ALARMLED, OUTPUT); pinMode(FANLED, OUTPUT); pinMode(TEMPOK, OUTPUT);
digitalWrite(FANPIN, HIGH); digitalWrite(FANLED, HIGH);
digitalWrite(ALARMLED, HIGH); digitalWrite(TEMPOK, HIGH);
// POST: Alarm & Lüfter testen
for (int x = 0; x < 5; x++) { tone(ALARMPIN, 220 * x, 75); delay(100); }
Serial.print("Fan Test (5s) ");
for (int x = 0; x < 5; x++) { Serial.print("."); delay(1000); }
Serial.println(" Done");
digitalWrite(FANPIN, LOW); digitalWrite(FANLED, LOW);
digitalWrite(ALARMLED, LOW); digitalWrite(TEMPOK, LOW);
noTone(ALARMPIN);
}
void loop() {
delay(2000);
temp = 0;
Serial.print("Realtime Temp:\t");
for (int x = 0; x < numReadings; x++) {
float f = dht.readTemperature(true); // °F
Serial.print(f); Serial.print("\t");
temp += f;
delay(3000);
}
Serial.println();
avetemp = temp / numReadings;
Serial.print("Average Temp: "); Serial.println(avetemp);
if (isnan(temp)) { Serial.println("DHT read failed!"); return; }
// Alarm
if (avetemp > ALARMTEMP) {
digitalWrite(ALARMLED, HIGH);
for (int x = 0; x < 3; x++) {
tone(ALARMPIN, 660, 1000); delay(500);
tone(ALARMPIN, 440, 1000); delay(500);
}
noTone(ALARMPIN);
checkdelay = 30000; // 30 s
} else {
digitalWrite(ALARMLED, LOW);
checkdelay = 300000; // 5 min
}
// Lüfter
if (avetemp > FANTEMP) {
digitalWrite(FANPIN, HIGH); digitalWrite(FANLED, HIGH); digitalWrite(TEMPOK, LOW);
Serial.print("Fan ON for "); Serial.print(checkdelay/60000); Serial.println(" min");
delay(checkdelay);
} else {
digitalWrite(FANPIN, LOW); digitalWrite(FANLED, LOW); digitalWrite(TEMPOK, HIGH);
Serial.println("Fan OFF");
}
Serial.println();
}
Schaltplan
Ausblick
Zukünftig: ATtiny85 statt Nano (kleiner), MOSFET statt Relais (PWM-Lüftersteuerung), Einbindung in Home Assistant / MQTT.
Herstellungsprozess
- PWM-Leistungssteller: Pulsweitenmodulierter Lampentreiber bauen
- Aktenschrank: Design, Fertigung und moderne Nutzung
- Temperaturgesteuerter Lüfter: DIY Relais-System für Medienmöbel-Kühlung
- Lüftervibrationen beseitigen: Praktische Vor-Ort-Wuchtlösung
- Web-gesteuertes DMX-Lichtsystem – Arduino Master Controller
- Automatisierter Gaming-Assistent: Servo drückt Controller-Tasten (Arduino)
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
- Arduino-basierter VFD-Ansteuerungs-Controller (Vacuum Fluorescent Display)
- Alexa-fähiger Arduino Home Controller: Smarte Automatisierung leicht gemacht