• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem na poziomie piaskownicy
#1
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ń.
 
Odpowiedź
#2
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości