Arduino Polska Forum
Problem na poziomie piaskownicy - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Problem na poziomie piaskownicy (/watek-problem-na-poziomie-piaskownicy)



Problem na poziomie piaskownicy - MISIEK666-6 - 01-02-2019

Cześć mam problem z podstawami.
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ń.


RE: Problem na poziomie piaskownicy - kaczakat - 01-02-2019

Brawo, poznałeś pierwsze trzy litery alfabetu Arduino, no to trochę mało by napisać pełne zdanie, poznaj się z kursem: https://forbot.pl/blog/kursy , do napisania dobrego programu nie wystarczy, ale to na początek wystarczy.