Advertisement
DominikCsordas

automatikus öntözőberendezés

Mar 13th, 2025
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 1.54 KB | Software | 0 0
  1. #include <Arduino.h>
  2. #include <DHT.h>
  3.  
  4. // ***** Hardver beállítások *****
  5. #define RELAY_PIN  5  // Relé modul vezérlője
  6. #define PUMP_ON    LOW // Relé aktív állapota
  7. #define PUMP_OFF   HIGH
  8.  
  9. #define SOIL_SENSOR_PIN A0  // Talajnedvesség szenzor (analóg)
  10. #define SOIL_THRESHOLD  500 // Nedvesség küszöbérték (száraz: nagyobb érték)
  11.  
  12. #define DHTPIN   4    // DHT11 adatpin
  13. #define DHTTYPE  DHT11
  14. DHT dht(DHTPIN, DHTTYPE);
  15.  
  16. // ***** Állapotváltozók *****
  17. bool pumpActive = false;
  18.  
  19. void setup() {
  20.     Serial.begin(115200);
  21.     pinMode(RELAY_PIN, OUTPUT);
  22.     digitalWrite(RELAY_PIN, PUMP_OFF); // Biztonságos állapot
  23.     dht.begin();
  24. }
  25.  
  26. void loop() {
  27.     int soilMoisture = analogRead(SOIL_SENSOR_PIN);
  28.     float temperature = dht.readTemperature();
  29.     float humidity = dht.readHumidity();
  30.  
  31.     Serial.print("Talajnedvesség: "); Serial.println(soilMoisture);
  32.     Serial.print("Hőmérséklet: "); Serial.print(temperature); Serial.println(" °C");
  33.     Serial.print("Páratartalom: "); Serial.print(humidity); Serial.println(" %");
  34.  
  35.     if ((soilMoisture > SOIL_THRESHOLD || humidity < 40) && temperature > 25 && !pumpActive) {
  36.         Serial.println("💧 Szivattyú BE!");
  37.         digitalWrite(RELAY_PIN, PUMP_ON);
  38.         pumpActive = true;
  39.     } else if ((soilMoisture <= SOIL_THRESHOLD && humidity >= 40) || temperature <= 25 && pumpActive) {
  40.         Serial.println("🚫 Szivattyú KI!");
  41.         digitalWrite(RELAY_PIN, PUMP_OFF);
  42.         pumpActive = false;
  43.     }
  44.  
  45.     delay(2000); // 2 mp frissítés
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement