Benutzer-Werkzeuge

Webseiten-Werkzeuge


bewaesserungsautomat:programmversion_0.4

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bewaesserungsautomat:programmversion_0.4 [12.06.2016 11:18] Frickelpietbewaesserungsautomat:programmversion_0.4 [18.05.2023 12:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Bewässerungsautomat Programmversion 0.4 ====== ====== Bewässerungsautomat Programmversion 0.4 ======
 +<box 100% round red|**Achtung!**>Diese Programmversion wird nicht mehr weiter entwickelt. Weiter geht es mit  [[programmversion_0.5|Programmversion 0.5]]</box>
 +
  
 [[bewaesserungsautomat:programmversion_0.3|Programmversion 0.3]] läuft zwar im Großen und Ganzen, allerdings hat sich gezeigt, dass die Pumpen nicht wir vorgesehen mit Relais geschaltet werden können: Der Anlaufstrom ist derart hoch, dass der Spannungsregler abschaltet. Der Ausbau des Spannungsreglers hat auch nicht geholfen: Irgendwie gerät der Arduino durcheinander, sobald eine Pumpe anläuft. [[bewaesserungsautomat:programmversion_0.3|Programmversion 0.3]] läuft zwar im Großen und Ganzen, allerdings hat sich gezeigt, dass die Pumpen nicht wir vorgesehen mit Relais geschaltet werden können: Der Anlaufstrom ist derart hoch, dass der Spannungsregler abschaltet. Der Ausbau des Spannungsreglers hat auch nicht geholfen: Irgendwie gerät der Arduino durcheinander, sobald eine Pumpe anläuft.
  
 Die einzige Veränderung der Programmversion 0.4 zur Version 0.3 ist daher, dass die Pumpen per PWM angesteuert werden. Die einzige Veränderung der Programmversion 0.4 zur Version 0.3 ist daher, dass die Pumpen per PWM angesteuert werden.
 +
 +ACHTUNG: Im Sketch unten ist das PWM-Signal mit "20" so niedrig eingestellt, dass die Pumpen nicht anlaufen, sondern nur "pfeifen", damit sie bei Tests nicht zu lange trocken laufen.
  
 Hilfreiche Links: Hilfreiche Links:
Zeile 17: Zeile 21:
  
 // Definiert die Pins für die NeoPixels // Definiert die Pins für die NeoPixels
-int neoPin1 = 12;            // Neopixel an Blumenkastenensor 1 +int neoPin1 = 36;            // Neopixel an Blumenkastenensor 1 
-int neoPin2 = 11;            // Neopixel an Blumenkastenensor 2 +int neoPin2 = 38;            // Neopixel an Blumenkastenensor 2 
-int neoPin3 = 10;            // Neopixel an Blumenkastenensor 3 +int neoPin3 = 40;            // Neopixel an Blumenkastenensor 3 
-int neoPin4 = 9;             // Neopixel an Blumenkastenensor 4 +int neoPin4 = 42;             // Neopixel an Blumenkastenensor 4 
-int neoPin5 = 8;             // Neopixelring am Wasserstandssensor im Vorratsbehälter +int neoPin5 = 44;             // Neopixelring am Wasserstandssensor im Vorratsbehälter 
-int neoPin6 = 7;             // Neopixelring im Gehäusedeckel +int neoPin6 = 48;             // Neopixelring im Gehäusedeckel 
-//int neoPin6 = 6;           // Reserviert für Erweiterungen +//int neoPin6 = 50;           // Reserviert für Erweiterungen
-//int neoPin6 = 5;           // Reserviert für Erweiterungen+
  
 // Definiert die NeoPixels // Definiert die NeoPixels
Zeile 38: Zeile 41:
  
 // Definiert die Pins für die Hall-Sensoren // Definiert die Pins für die Hall-Sensoren
-int hallPin1 = 32;        // Hall-Sensor 1 +int hallPin1 = 35;        // Hall-Sensor 1 
-int hallPin2 = 30;        // Hall-Sensor 2 +int hallPin2 = 33;        // Hall-Sensor 2 
-int hallPin3 = 28;        // Hall-Sensor 3 +int hallPin3 = 31;        // Hall-Sensor 3 
-int hallPin4 = 26;        // Hall-Sensor 4+int hallPin4 = 29;        // Hall-Sensor 4
  
 // Definiert die Pins für die Verfügbarkeitskontrolle // Definiert die Pins für die Verfügbarkeitskontrolle
-int massePin1 = 46;        // Masse an Blumenkastenensor 1 +int massePin1 = 47;        // Masse an Blumenkastenensor 1 
-int massePin2 = 48;        // Masse an Blumenkastenensor 2 +int massePin2 = 49;        // Masse an Blumenkastenensor 2 
-int massePin3 = 50;        // Masse an Blumenkastenensor 3 +int massePin3 = 51;        // Masse an Blumenkastenensor 3 
-int massePin4 = 52;        // Masse an Blumenkastenensor 4+int massePin4 = 53;        // Masse an Blumenkastenensor 4
  
  
 // Definiert die Pins des Wasserstandssensor für den Vorratsbehälter // Definiert die Pins des Wasserstandssensor für den Vorratsbehälter
-int refPin = A1;   // Rref +int refPin = A0;   // Rref 
-int levelPin = A2; // Rsense+int levelPin = A1; // Rsense
  
 // Definiert den Pin für den DHT22 // Definiert den Pin für den DHT22
-int dhtPin = 39;+int dhtPin = 28;
  
 // Definiert den angeschlossenen Sensor // Definiert den angeschlossenen Sensor
Zeile 213: Zeile 216:
   Serial.print(hall4);   Serial.print(hall4);
   Serial.println(" \t");   Serial.println(" \t");
 +
 +  //Ausgabe des Status der Pumpen
 +Serial.print("Pumpe 1: ");
 +  Serial.print(pumpe1);
 +  Serial.print(" \t");
 +  Serial.print("Pumpe 2: ");
 +  Serial.print(pumpe2);
 +  Serial.print(" \t");
 +  Serial.print("Pumpe 3: ");
 +  Serial.print(pumpe3);
 +  Serial.print(" \t");
 +  Serial.print("Pumpe 4: ");
 +  Serial.print(pumpe4);
 +  Serial.println(" \t");
 +  
  
   // Ausgabe des Eingangssignals an den analogen Wasserstands-Pins an die serielle Schnittstelle   // Ausgabe des Eingangssignals an den analogen Wasserstands-Pins an die serielle Schnittstelle
Zeile 258: Zeile 276:
   // Pumpe 1 an PWM-Pin 2   // Pumpe 1 an PWM-Pin 2
   if (masse1 == 0 && hall1 == 1 && level > 5 && pumpe2 == false && pumpe3 == false && pumpe4 == false) {   if (masse1 == 0 && hall1 == 1 && level > 5 && pumpe2 == false && pumpe3 == false && pumpe4 == false) {
-    analogWrite(2127); +    analogWrite(1120); 
-    digitalWrite(pumpe1true);+    pumpe1 true;
   }   }
   else {   else {
-    analogWrite(2, 0); +    analogWrite(11, 0); 
-    digitalWrite(pumpe1false);+    pumpe1 false;
   }   }
  
   // Pumpe 2 an PWM-Pin 3   // Pumpe 2 an PWM-Pin 3
   if (masse2 == 0 && hall2 == 1 && level > 5 && pumpe1 == false && pumpe3 == false && pumpe4 == false) {   if (masse2 == 0 && hall2 == 1 && level > 5 && pumpe1 == false && pumpe3 == false && pumpe4 == false) {
-    analogWrite(3127); +    analogWrite(1020); 
-    digitalWrite(pumpe2true);+    pumpe2 true;
   }   }
   else {   else {
-    analogWrite(3, 0); +    analogWrite(10, 0); 
-    digitalWrite(pumpe2false);+    pumpe2 false;
   }   }
  
   // Pumpe 3 an PWM-Pin 4   // Pumpe 3 an PWM-Pin 4
   if (masse3 == 0 && hall3 == 1 && level > 5 && pumpe1 == false && pumpe2 == false && pumpe4 == false) {   if (masse3 == 0 && hall3 == 1 && level > 5 && pumpe1 == false && pumpe2 == false && pumpe4 == false) {
-    analogWrite(4127); +    analogWrite(920); 
-    digitalWrite(pumpe3true);+    pumpe3 true;
   }   }
   else {   else {
-    analogWrite(4, 0); +    analogWrite(9, 0); 
-    digitalWrite(pumpe3false);+    pumpe3 =  false;
   }   }
  
   // Pumpe 4 an PWM-Pin 5   // Pumpe 4 an PWM-Pin 5
   if (masse4 == 0 && hall4 == 1 && level > 5 && pumpe1 == false && pumpe2 == false && pumpe3 == false) {   if (masse4 == 0 && hall4 == 1 && level > 5 && pumpe1 == false && pumpe2 == false && pumpe3 == false) {
-    analogWrite(5127); +    analogWrite(820); 
-    digitalWrite(pumpe4true);+    pumpe4 true;
   }   }
   else {   else {
-    analogWrite(5, 0); +    analogWrite(8, 0); 
-    digitalWrite(pumpe4false);+    pumpe4 false;
   }   }
  
bewaesserungsautomat/programmversion_0.4.1465723090.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)