Wie kan man einen Arduino Sketch mit mit einen taster veränderen?
habe meine frage im Sktech gestellt.
void setup() {
// put your setup code here, to run once:
pinMode (1,OUTPUT);
pinMode (2,OUTPUT);
pinMode (3,OUTPUT);
pinMode (4,OUTPUT);
pinMode (5,OUTPUT);
pinMode (6,OUTPUT);
pinMode (7,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly
digitalWrite (1,HIGH);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);// wen der taster gedrückt ist soll die led auf pin 2 sofort
umspringen soll
digitalWrite (1,LOW);
digitalWrite (2,HIGH);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,HIGH);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,HIGH);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,HIGH);
digitalWrite (7,LOW);
delay (2000);
digitalWrite (1,LOW);
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,HIGH);
delay (2000);}
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, Arduino
Du kannst den Sketch nicht per Taster ändern. Du kannst auch innerhalb der laufenden Delay-Zeit keinen Einfluss auf den Sketch nehmen, da Delay das Programm so lange stoppt...
Du musst alternativen programmieren. Entweder Schleifen mit je z.B. 10ms Delay und zählen, wie oft die Schleife gelaufen ist. Dabei immer prüfen, ob der Taster betätigt wurde und dann aus der Schleife ausbrechen, oder wenn die Anzahl der Schleifendurchgänge erreicht ist. Soll es ganz ohne Verzögerung sein, musst Du mit millis() einen Timer bauen und auf die Zeitdifferenz reagieren... Dazu gibt es das Beispiel "Blink without Delay"... Also "Blinken ohne Delay"...