Lauflicht mit Interrupt
|
05.12.2019, 23:02
Beitrag #17
|
|||
|
|||
RE: Lauflicht mit Interrupt
Ds kannst nur Du mit Deinem Taster in einem einfachen Sketch austesten, weil nur Du den Taster hast.
Einfach im Loop zählen wieviele Impulse bei einer Betätigung erfolgen und dann die Zeitkonstante solange hoch/runter stellen bis ein Druck auch nur einen Impuls ergibt und die Zeitkonstante so klein wie möglich ist. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
06.12.2019, 07:15
Beitrag #18
|
|||
|
|||
RE: Lauflicht mit Interrupt
Naja, selbst die Billigtaster aus China haben meist viel geringere Prellzeiten (<10ms).
Da Mensch aber schon beim schnellen drücken des Tasters selten unter 100ms bleibt, ist die Entprellzeit relativ unkritisch. Vor allem bei einer Anwendung wie hier, wo man den Taster ja nicht besonders schnell betätigen muss, sondern ihn nur zum durchschalter der Programme bzw. für die Richtungsumkehr betätigt. Deswegen sind die 30ms, die ich dort hinein geschrieben habe, ziemlich willkürlich gewählt. Wichtig ist, dass man die Taster entprellt. |
|||
09.12.2019, 22:37
Beitrag #19
|
|||
|
|||
RE: Lauflicht mit Interrupt
Nochmals zurück zu deinem Programm. Ich habe es mir jetzt mal genauer angeschaut und noch ein paar kleine Unklarheiten.
Ich möchte jetzt gerne nur 7 Kanäle nutzen dazu habe ich dann die Zeile Code: const uint8_t LED_PINS[] = {2, 3, 4, 5, 6, 7, 8, 9 }; // an D2...D9 sind die LEDs angeschlossen (max. 8 LEDs) geändert ist das so richtig wenn ich nur 7 Kanäle nutzen möchte ? bzw. wenn ich mehr nutzen möchte weitere Pin hinzu schreiben (10, 11 usw.) des weiteren wie ändere ich die Bit Muster Bsp.: B10000000 // Original B1000000 // einfach eine Ziffer weg streichen geht nicht dann geht bei die LED PIN3 an,statt PIN2 wie es im Original der Fall ist. Also vermute ich das das ganze mit derZeile zusammenhängt, Code: digitalWrite(LED_PINS[i], (bits << i) & 0x80); |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste