From 314f394a5cb38e45ac8f463e9452cd549f989012 Mon Sep 17 00:00:00 2001 From: niggo Date: Wed, 20 Mar 2024 10:54:56 +0000 Subject: [PATCH] Update Home --- Home.md | 118 +------------------------------------------------------- 1 file changed, 1 insertion(+), 117 deletions(-) diff --git a/Home.md b/Home.md index 31d99ef..614cec3 100644 --- a/Home.md +++ b/Home.md @@ -16,120 +16,4 @@ Auf dem Display wird die Aktuelle Temperatur, die Luftfeuchtigkeit und Regen ang * LEDs (rot, gelb, grün) * Buzzer * Widerstände -* Verbindungskabel -## Code -```cpp -#include // Arduino Core-Bibliothek -#include // Bibliothek für den DHT-Sensor -#include // Bibliothek für das LCD-Display mit I2C-Schnittstelle - -const int DHT_PIN = 4; // Pin für den DHT-Sensor -const int PIEZO_PIN = 17; // Pin für den Piezosummer - -const int LEDGREEN_PIN = 12; // Pin für grüne LED -const int LEDYELLOW_PIN = 32; // Pin für gelbe LED -const int LEDRED_PIN = 26; // Pin für rote LED - -const int LEDWH_PIN = 13; // Pin für weitere LED (nicht genutzt) - -int prevRating = -1; // Variable zur Speicherung der vorherigen Bewertung - -DHT dht(DHT_PIN, DHT11); // DHT-Objekt mit dem Pin für den Sensor und dem Sensortyp - -LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD-Objekt mit I2C-Adresse und Zeilen- und Spaltenzahl - -// Funktion zur Wiedergabe des Warnsignals -void playWarnTone() -{ - tone(PIEZO_PIN, 2000); // Piezosummer mit Frequenz 2000Hz aktivieren - delay(50); // 50 Millisekunden warten - noTone(PIEZO_PIN); // Piezosummer ausschalten - delay(50); // 50 Millisekunden warten - tone(PIEZO_PIN, 2000); // Piezosummer mit Frequenz 2000Hz aktivieren - delay(50); // 50 Millisekunden warten - noTone(PIEZO_PIN); // Piezosummer ausschalten -} - -// Funktion zum Ausschalten aller LEDs -void OFFLEDS() -{ - digitalWrite(LEDGREEN_PIN, HIGH); // Grüne LED ausschalten - digitalWrite(LEDYELLOW_PIN, HIGH); // Gelbe LED ausschalten - digitalWrite(LEDRED_PIN, HIGH); // Rote LED ausschalten -} - -// Setup-Funktion, die beim Start des Programms einmal ausgeführt wird -void setup() -{ - Serial.begin(9600); // Serielle Kommunikation mit Baudrate 9600 starten - dht.begin(); // Initialisierung des DHT-Sensors - - lcd.init(); // Initialisierung des LCD-Displays - lcd.backlight(); // Hintergrundbeleuchtung des Displays einschalten - - lcd.print("Hello"); // Text "Hello" auf dem Display anzeigen - - pinMode(PIEZO_PIN, OUTPUT); // Piezosummer-Pin als Ausgang konfigurieren - - pinMode(LEDGREEN_PIN, OUTPUT); // Grüne LED-Pin als Ausgang konfigurieren - pinMode(LEDYELLOW_PIN, OUTPUT); // Gelbe LED-Pin als Ausgang konfigurieren - pinMode(LEDRED_PIN, OUTPUT); // Rote LED-Pin als Ausgang konfigurieren - - OFFLEDS(); // Alle LEDs ausschalten - - tone(PIEZO_PIN, 1500); // Piezosummer mit Frequenz 1500Hz aktivieren - delay(250); // 250 Millisekunden warten - noTone(PIEZO_PIN); // Piezosummer ausschalten - delay(250); // 250 Millisekunden warten - tone(PIEZO_PIN, 2000); // Piezosummer mit Frequenz 2000Hz aktivieren - delay(250); // 250 Millisekunden warten - noTone(PIEZO_PIN); // Piezosummer ausschalten -} - -// Loop-Funktion, die kontinuierlich wiederholt wird -void loop() -{ - float temp = dht.readTemperature(); // Temperaturwert vom DHT-Sensor lesen - float humid = dht.readHumidity(); // Luftfeuchtigkeitswert vom DHT-Sensor lesen - delay(100); // 100 Millisekunden warten - - int rating = 0; // Bewertung initialisieren - - // Bewertung der Umgebungsbedingungen anhand von Schwellenwerten - if ((int)temp > 25) - rating += 1; // Bewertung erhöhen, wenn Temperatur über 25°C liegt - if ((int)humid > 50) - rating += 1; // Bewertung erhöhen, wenn Luftfeuchtigkeit über 50% liegt - - // Überprüfen, ob sich die Bewertung geändert hat - if (rating != prevRating) - { - playWarnTone(); // Warnsignal abspielen - switch (rating) - { - case 0: - OFFLEDS(); // Alle LEDs ausschalten - digitalWrite(LEDGREEN_PIN, LOW); // Grüne LED einschalten - break; - - case 1: - OFFLEDS(); // Alle LEDs ausschalten - digitalWrite(LEDYELLOW_PIN, LOW); // Gelbe LED einschalten - break; - - case 2: - OFFLEDS(); // Alle LEDs ausschalten - digitalWrite(LEDRED_PIN, LOW); // Rote LED einschalten - break; - - default: - OFFLEDS(); // Alle LEDs ausschalten - digitalWrite(LEDGREEN_PIN, LOW); // Grüne LED einschalten - break; - } - } - - // Aktuelle Bewertung speichern - prevRating = rating; -} -``` +* Verbindungskabel \ No newline at end of file