Der Transistor soll als Verstärker für einen 12 V Lüfter eingesetzt werden. Der Lüfter soll eingeschaltet werden, wenn eine festgelegte Temperatur überschritten wird. Sinkt die Temperatur wieder unter diesen Wert, schaltet sich der Lüfter wieder aus.
Auf dem LCD wird die aktuelle Temperatur und der Zustand des Lüfters angezeigt.
Der hier verwendete Lüfter stammt aus einem ausrangierten Computer. Er hat 12 V und eine Leistungsaufnahme von 0,6 A = 600 mA.
Der Arduino liefert an seinen digitalen Ausgängen 40mA, mithin viel zu wenig, um den Lüfter zu betreiben.
Der Strom muss also verstärkt werden, diese Aufgabe erledigt der Transistor. Du kannst einen TIP120 oder einen TIP122 verwenden.
Zunächst soll der Lüfter durch Drücken eines Tasters gestartet werden. Er soll solange laufen, bis der Taster wieder losgelassen wird.
Benötigte Bauteile:
- Taster
- 12V Lüfter
- ➨Transistor TIP120/TIP122
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Das dazugehörige Programm:
int TASTER = 9;
int LUEFTER = 8;
int TasterLesen = 0;
void setup()
{
pinMode(LUEFTER, OUTPUT);
pinMode(TASTER, INPUT_PULLUP);
}
void loop()
{
TasterLesen = digitalRead(TASTER);
if (TasterLesen == LOW)
{
digitalWrite(LUEFTER, HIGH);
}
else
{
digitalWrite(LUEFTER, LOW);
}
}
Jetzt sollen der Temperatursensor DHT22 und das LCD zusätzlich angeschlossen werden.
Der Sensor DHT22 misst die Temperatur und die Luftfeuchtigkeit. Er besitzt drei Anschlüsse.
Die Version mit vier Pins muss in der Reihenfolge 5V → Daten (Pin) → leer → GND geschaltet werden.
Benötigte Bauteile:
- LCD 1602
- Temperatur-/Feuchtigkeitssensor DHT22
- 12V Lüfter
- Transistor TIP120/TIP122
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Benötigte Bibliotheken:
Sketch → Bibliothek einbinden → Bibliotheken verwalten
Binde die benötigten Bibliotheken ein und definiere die Variablen.
# include <SimpleDHT.h>
# include <LiquidCrystal_I2C.h>
int SENSOR_DHT22 = 9;
// Sensor einen Namen zuweisen (dht22)
SimpleDHT22 dht22(SENSOR_DHT22);
// LCD einen Namen zuweisen
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Pin des Transistors
int TRANSISTOR = 8;
Der setup-Teil startet das LCD und legt den pinMode für den Transistor fest.
void setup()
{
// LCD einschalten
lcd.init();
lcd.backlight();
pinMode(TRANSISTOR, OUTPUT);
}
Der loop-Teil. Beachte die Kommentare.
void loop()
{
float Temperatur;
// Daten lesen
// nur Temperatur lesen
dht22.read2(&Temperatur, NULL, NULL);
// in Strings umwandeln, . durch , ersetzen
String AnzeigeTemperatur = String(Temperatur);
AnzeigeTemperatur.replace(".", ",");
// Anzeige LCD
lcd.setCursor(0, 0);
lcd.print("Temperatur: ");
lcd.setCursor(0, 1);
// \337C → ° siehe Sonderzeichen LCD
lcd.print(AnzeigeTemperatur + " \337C -> DHT22");
// Transistor schalten
// als Beispiel 25°
if (Temperatur > 25)
{
digitalWrite(TRANSISTOR, HIGH);
lcd.setCursor(0, 3);
lcd.print("L\365fter eingeschaltet");
}
// Transistor ausschalten
else
{
digitalWrite(TRANSISTOR, LOW);
lcd.setCursor(0, 3);
// \365 → ü
lcd.print("L\365fter ausgeschaltet");
}
delay(2000);
}
Verwandte Aufgaben:
Letzte Aktualisierung: