01-02-2019, 02:10
(Ten post był ostatnio modyfikowany: 01-02-2019, 02:15 przez MISIEK666-6.)
Cześć mam problem z podstawami.
Po trzech (pierwszych) godzinach z arduino udało mi się "sklecić" coś takiego:
(światła dzienne na 7 ledach )
i działa, lecz potrzebuję zapalić dwie diody (obojętne które) gdy na pinie 3 pojawi się sygnał ( z kierunkowskazu czyli przerywany ) -po zaniknięciu impulsów diody muszą zgasnąć. Jak już zauważyłem polecenie while zatrzymuje resztę poleceń.
Po trzech (pierwszych) godzinach z arduino udało mi się "sklecić" coś takiego:
(światła dzienne na 7 ledach )
Kod:
void setup() {
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(6,OUTPUT);
pinMode(7, OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
}
void loop(){
delay(1000);
while(digitalRead(2) == LOW)
delay(50);
digitalWrite(6,LOW);
delay(270);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(260);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(250);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(240);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(230);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(220);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
delay(210);
digitalWrite(12,HIGH);
digitalWrite(6,LOW);
delay(200);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(190);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(180);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(170);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(160);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(150);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
delay(140);
digitalWrite(12,HIGH);
digitalWrite(6,LOW);
delay(130);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(120);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(110);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(100);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(100);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(100);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
delay(100);
digitalWrite(12,HIGH);
//dopalanie
digitalWrite(6,LOW);
delay(100);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(100);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(100);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(100);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(100);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
delay(100);
digitalWrite(6,LOW);
delay(100);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(100);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(100);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(100);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
delay(100);
digitalWrite(6,LOW);
delay(100);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(100);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(100);
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
delay(100);
digitalWrite(6,LOW);
delay(100);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(100);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
delay(100);
digitalWrite(6,LOW);
delay(100);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(100);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
delay(100);
digitalWrite(6,LOW);
delay(95);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
delay(90);
digitalWrite(6,LOW);
delay(1000);
while (digitalRead(2) == HIGH)
delay(50);
//wygaszanie
digitalWrite(6,HIGH);
delay(270);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(260);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(250);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(240);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(230);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(220);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
delay(210);
digitalWrite(12,LOW);
digitalWrite(6,HIGH);
delay(200);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(190);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(180);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(170);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(160);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(150);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
delay(140);
digitalWrite(12,LOW);
digitalWrite(6,HIGH);
delay(130);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(120);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(110);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(100);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(100);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
delay(100);
digitalWrite(12,LOW);
//gaszenie
digitalWrite(6,HIGH);
delay(100);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(100);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(100);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
delay(100);
digitalWrite(6,HIGH);
delay(100);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(100);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(100);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(6,HIGH);
delay(100);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(100);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(100);
digitalWrite(6,HIGH);
delay(100);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(100);
digitalWrite(6,HIGH);
delay(100);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(100);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(6,HIGH);
delay(95);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
delay(90);
digitalWrite(6,HIGH);
delay(1000);
}
i działa, lecz potrzebuję zapalić dwie diody (obojętne które) gdy na pinie 3 pojawi się sygnał ( z kierunkowskazu czyli przerywany ) -po zaniknięciu impulsów diody muszą zgasnąć. Jak już zauważyłem polecenie while zatrzymuje resztę poleceń.