Bei Led Lauflicht delay ersetzen
|
10.02.2015, 17:14
(Dieser Beitrag wurde zuletzt bearbeitet: 10.02.2015 20:38 von partizan0180.)
Beitrag #9
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Mit :
Code: digitalWrite(i, !digitalRead(i)); ![]() Ich bin kein Zauberer, ich lerne noch... |
|||
10.02.2015, 22:10
Beitrag #10
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
(10.02.2015 17:14)partizan0180 schrieb: Mit :Hi, zeig mal das komplette Coding. Gruß, Thorsten Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen. |
|||
11.02.2015, 08:07
(Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2015 08:12 von partizan0180.)
Beitrag #11
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Hi Thorsten
Der Code ist ja schon auf der erster Seite hier. Werde einfach nicht schlau da raus. Ich bin kein Zauberer, ich lerne noch... |
|||
11.02.2015, 09:13
Beitrag #12
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Hallo Thorsten,
Das ist mein ausgangs Code: Code: void setup() { Ich möchte nun die delay raus haben und einstellmöglichkeit für die Geschwindigkeit für ein und aus und Wartezeit nech dem es angegangen ist bis es wieder aus geht. Ich bin kein Zauberer, ich lerne noch... |
|||
11.02.2015, 10:13
Beitrag #13
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
(11.02.2015 08:07)partizan0180 schrieb: Hi ThorstenNa wenn Du das digitalWrite in Deinem Code einfach durch meine Variante ersetzt, dann machst Du es 10mal schnell hintereinander. 10 Invertierungen heben sich gegenseitig auf. Gruss, Thorsten Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen. |
|||
11.02.2015, 20:54
Beitrag #14
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Hallo Thorsten,
Ich habe heute noch eine Idee gehabt. Und das ist aus der Idee geworden: Code: /* Treppen Licht / Wegbeleuchtung */ Ist der Code so ok ? Oder ist es noch verbesserungswürdig oder würdest du es anders machen ? Wenn man da noch die delay wegbekäme. Aber genau da scheitere ich ![]() Ich bin kein Zauberer, ich lerne noch... |
|||
12.02.2015, 10:02
Beitrag #15
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Hi,
mit der OneButton-Lib habe ich noch nichts gemacht. Ich mache sowas normalerweise direkt, aber so geht's wohl auch. Um die delays wegzubekommen wuerde ich so vorgehen: - Das delay(10) in loop() muesste man einfach ersatzlos loeschen koennen. Was macht das da? - Alle anderen delays kannst Du dadurch ersetzen, dass Du Dir ueberlegst, wie Du den Zustand des Systems beim Aufruf von delay "sichern" und nachher wieder herstellen kannst Fuer letzteres solltest Du Dir einen neuen Sketch schreiben, der erstmal nichts mit den Buttons macht. Das irritiert sonst nur. Dann Stueck fuer Stueck arbeiten. Hier mal ein Beispiel, wie man eine Schleife mit delay loswird: Das Ausgangs-Coding: Code: void oben() { In der zweiten Schleife ist das i ein "anderes" i, da wir da ueberhaupt kein delay haben. Statt dem delay() springt man aus der Routine raus, um dem Rest des Programms eine Chance zu geben. Aus loop() heraus wird unsere Routine zyklisch aufgerufen. Dann muss das Programm wieder an der Stelle weitermachen, wo es das letzte Mal aufgehoert hat. Das sieht dann etwa so aus: Code: void handleOben() { Die delays wird man jetzt los, indem man nur was macht, wenn seit dem letzten Aufruf die gewuenschte Zeit vergangen ist. Also so: Code: void handleOben() { Gruss, Thorsten Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen. |
|||
12.02.2015, 19:32
Beitrag #16
|
|||
|
|||
RE: Bei Led Lauflicht delay ersetzen
Mensch Thorsten danke für deine Geduld und die Mühe. Die beiden Varianten funzen perfekt. In der erste Variante habe ich delay(2500) hinzugefügt und die LEDs gehen auch wieder nach einander aus und nicht alle gleichzeitig.
Das Muester wollte ich so realisieren: void oben(){ pin4 -- > pin10 nacheinander an und nach kurzer Pause wieder von pin4 -- > pin10 nacheinander wieder aus. } und void unten(){ pin10 -- > pin4 nacheinander an und nach kurzer Pause wieder von pin10 -- > pin4 nacheinander wieder aus. } Die zweite Variante von dir die LEDs gehen nacheinander an gehen aber alle gleichzeitig aus. Wie muss ich es verändern damit die LEDs auch nacheinander ausgehen? (12.02.2015 10:02)Thorsten Pferdekämper schrieb: Ich bin kein Zauberer, ich lerne noch... |
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste