Go Down

Topic: LED ausschalten (Read 225 times) previous topic - next topic

Siebot

Hallo,

Ich habe 2 Taster und eine LED. Mit dem Taster1 möchte ich den Befehl geben, dass die LED 10s leuchtet. Mit dem Taster2 möchte ich die LED vorzeitig ausschalten. Also wenn sie zb. 5s leuchtet, dann soll sie mit Taster2 sofort ausgehen. Falls der Taster2 nach 10s noch nicht betätigt worden ist, soll die LED nicht mehr leuchten.

Wie mach ich das nun? Mit if, while? Mit milis?

Vielen Dank schonmal :)

Tommy56

Mit if und millis. while brauchst Du nicht, Di hast doch loop.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

uwefed

#2
Feb 21, 2019, 10:52 pm Last Edit: Feb 21, 2019, 10:56 pm by uwefed
Mit millis() machst Du die Zeit.
Mit einer Ablaufsteuerung machst Du das Ausschalten.

Antworten findest Du bei Combie https://forum.arduino.cc/index.php?topic=599159.msg4068339#msg4068339

Grüße Uwe

Finnlay

Mit if und millis.

Was hast du denn bisher schon versucht (Schaltung, Programm)?

Siebot

Die oben beschriebene Aufgabe würde mir sehr helfen bei meinen großen Hauptprojekt. Habe leider keine Erfahrung mit milis und state machine etc. 

Tommy56

Das kannst Du lernen.

Schaue Dir dazu BlinkWithoutDelay an und verstehe es.
Dabei kann Dir die Nachtwächtererklärung helfen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Siebot

Ok danke.
Und wie mach ich das frühzeitige unterbrechen?
Mfg

HotSystems

Den Taster2 immer in der Loop abfragen.
Wird der Zustand geändert, dann deine Routine unterbrechen.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Siebot

Das klingt ja alles sehr komplex. Ich lass das dann mit den Taster2 und geb mich mit dem Rest zufrieden :D

Deltaflyer

Hey Siebot,
nur nicht zu schnell aufgeben!
Du kannst ja auch erstmal nur die Sache mit dem Taster1 aufbauen und das Programm dazu schreiben, so dass die LED erstmal einfach für die 10 Sekunden nach drücken von Taster1 leuchtet.
Wenn das dann sauber funktioniert, gehst Du einen Schritt weiter, schliesst den Taster2 an, und versuchts den Taster2 so ins Programm einzubinden, dass Du damit die LED vorzeitig abschalten kannst.

Manchmal ist es so, dass wenn mehrere Aufgaben zusammen für den Anfang zuviel ist, man in kleineren Schritten vorgehen muss, damit man es hinkriegt.

Das geht mir übrigens auch so, wenn ich ein neues Projekt beginne, indem ich (zum Teil) Neuland betrete.
Dann schreibe ich zuerst die Programmteile, von denen ich schon weiss, wie ich sie schreiben muss, und teste diese, damit sie reibungslos laufen. Wenn ich dann neu zu lernendes hinzufügen will, weiss ich, wenn es nicht klappt, dass nur noch das Neu hinzugefügte fehlerhaft sein kann, weil ja der Rest vorher funktioniert hat.

Es braucht nur etwas Geduld und den Willen zu lernen.
Ich wünsche Dir viel Erfolg, Du kannst es schaffen!

Liebe Grüsse
Stefan

Go Up