HI
erst mal ein großes Lob an Volker super Arbeit hast du da gemacht
habe schon vor dem Projekt mir einen Arduino zum ausprobieren besorgt und auch schon kleine Programme geschrieben allerdings
nur ohne Display und auf gar keinen Fall mit einer Menü Führung.
Habe hier auch schon von der Entstehung des ersten posts an mit gelsen und nun habe ich entlich die zeit gefunden mir auch einen kleinen Aquarien Computer zu bauen sprich die Dosierpumpe noch zu erweitern.
Allerdings habe ich ein kleines Problem und zwar möchte ich bei meinem code anstatt delays natürlich millis benutzen aber leider klappt das nicht so richtig, habe auch schon sämtliche anleitungen durch aber leider klappts nicht.
Vielleicht kann mir ja einer von euch helfen und mir eventuell ein bsp geben
hier ist mein ursprünglicher code mit delays :
int Stroemungspumpe1 = 31; //
int Stroemungspumpe2 = 33;
int Foerderpumpe = 35;
int Nachfuellautomatikpumpe = 37; //
int schalter1 = 23;
int schalter2 = 25;
int schalter3 = 27;
int Taster = 29;
void setup()
{
pinMode(Stroemungspumpe1, OUTPUT); // setze digitalen Pin als Output
pinMode(Stroemungspumpe2, OUTPUT); // setze digitalen Pin als Output
pinMode(Foerderpumpe, OUTPUT); // setze digitalen Pin als Output
pinMode(Nachfuellautomatikpumpe, OUTPUT); // setze digitalen Pin als Output
pinMode(schalter1, INPUT); // setze digitalen Pin auf Input
pinMode(schalter2, INPUT); // setze digitalen Pin auf Input
pinMode(schalter3, INPUT); // setze digitalen Pin auf Input
pinMode(Taster , INPUT); // setze digitalen Pin auf Input
digitalWrite(Stroemungspumpe1, HIGH);
digitalWrite(Stroemungspumpe2, HIGH);
digitalWrite(Foerderpumpe, HIGH);
}
void loop()
// Stroemungspupen aus für 3min bei Tasterdruck
{
int val1 = digitalRead(Taster); // lies Input vom Schalter
if (val1 == HIGH) { // wenn der Wert von val gleich HIGH ist
digitalWrite(Stroemungspumpe1, LOW); // schaltet LED1 ein
digitalWrite(Stroemungspumpe2, LOW); // schaltet LED2 aus
delay(180000);
}
else {
digitalWrite(Stroemungspumpe1, HIGH);
digitalWrite(Stroemungspumpe2, HIGH);
}
// Nachfüllautomatik an bei Schwimmerschalter1 High
int val2 = digitalRead(schalter1); // lies Input vom Schalter
if (val2 == HIGH) { // wenn der Wert von val gleich HIGH ist
digitalWrite(Nachfuellautomatikpumpe , HIGH); // schaltet LED1 ein
delay(60000);
}
else {
digitalWrite(Nachfuellautomatikpumpe , LOW);
}
// Foerderpumpe Stop bei Schalter2 und Schalter3
int val3 = digitalRead(schalter2); // lies Input vom Schalter
int val4 = digitalRead(schalter3); // lies Input vom Schalter
if (val3 or val4 == HIGH) { // wenn der Wert von val gleich HIGH ist
digitalWrite(Foerderpumpe , LOW); // schaltet LED1 ein
}
else {
digitalWrite(Foerderpumpe , HIGH);
}
}
Alles anzeigen