Hallo,
das Programm, an dem ich jetzt seit einem Weilchen sitze, ist soweit fertig, allerdings passiert am Ende nicht das, was geplant war, sondern gar nichts. Programmabschnitt 2 scheint soweit zu funktionieren, Abschnitt 1 macht aber gar nichts. Der Gedanke dahinter: über zwei Taster wird die Einschaltzeit einer Lampe gesteuert, die entsprechende Zeit wird in einer Variable zwischengespeichert. Das Serial.println sollte nur zur Kontrolle dienen und hat keinen wirklichen Zweck. Allerdings passiert absolut gar nichts, ich möchte jetzt aber auch nicht planlos irgendwas im Programm ändern, ohne zu verstehen, wieso ich das tu.
Den 3. Abschnitt konnte ich noch nicht testen, da wäre es schön, wenn jemand sagen kann, ob das grundsätzlich so funktionieren kann
Board: Arduino Uno R3
IDE: 1.8.19
#include <DS1307RTC.h>
#include <Wire.h>
#include <TimeLib.h>
int feucht1Pin = digitalRead(A0);
int feucht2Pin = digitalRead(A1);
int feucht3Pin = digitalRead(A2);
int feucht4Pin = digitalRead(A3);
bool lischraPin = digitalRead(5);
bool bltasterPin = digitalRead(6);
bool wttasterPin = digitalRead(7);
const int motlichtPin = 12 ;
const int lampenPin = 11;
const int wasserPin = 10;
int lichtdauer;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
setSyncProvider(RTC.get);
pinMode(feucht1Pin, INPUT);
pinMode(feucht2Pin, INPUT);
pinMode(feucht3Pin, INPUT);
pinMode(feucht4Pin, INPUT);
pinMode(lischraPin, INPUT);
pinMode(bltasterPin, INPUT);
pinMode(wttasterPin, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(wasserPin, OUTPUT);
pinMode(lampenPin, OUTPUT);
pinMode(motlichtPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//1:
if (bltasterPin == HIGH)
{lichtdauer = 12;};
if (wttasterPin) == HIGH)
{lichtdauer = 18;};
if (lichtdauer == 18)
Serial.println(18);
{if (hour() == 5 && minute() == 0 && second() == 0)
{digitalWrite(lampenPin, HIGH);
delay(200);
digitalWrite(lampenPin, LOW);}
if (hour() == 23 && minute() == 0 && second() == 0)
{digitalWrite(lampenPin, HIGH);
delay(200);
digitalWrite(lampenPin, LOW);}}
if (lichtdauer == 12)
Serial.println(12);
{if (hour() == 9 && minute() == 0 && second() == 0)
{digitalWrite(lampenPin, HIGH);
delay(200);
digitalWrite(lampenPin, LOW);}
if (hour() == 21 && minute() == 0 && second() == 0)
{digitalWrite(lampenPin, HIGH);
delay(200);
digitalWrite(lampenPin, LOW);}}
//2
if (digitalRead(5) == true) //lischraPin funktioniert nicht
{digitalWrite(motlichtPin, HIGH);
delay(1500);
digitalWrite(motlichtPin, LOW);}
//3
if (hour() == 8 && minute() == 0)
{if (analogRead(feucht1Pin >= 500)
|| analogRead(feucht2Pin >= 500)
|| analogRead(feucht3Pin >= 500)
|| analogRead(feucht4Pin >= 500))
{digitalWrite(wasserPin, HIGH);
delay(20000);
digitalWrite(wasserPin, LOW);
}};
}