Skocz do zawartości

Dwa przyciski i 14 diod led


xirtt

Pomocna odpowiedź

Myślałem, żeby zrobić z tego kiedyś specjalizację - tzn. z obsługi dwóch przycisków.

kod jest w tym wątku: 

 

 

Trochę szkoda, bo koledzy chcą pomóc, ale oczekują minimum wysiłku. Może warto zacząć od dwóch diod? Albo i jednej? 

Z drugiej strony też byłem kiedyś taki uparty. 🙂 

 

Link do komentarza
Share on other sites

while (digitalRead(A1)== HIGH){
  digitalWrite(3,HIGH);
  digitalWrite(3-1,HIGH);
   }

I co robi ta pętla?  Zastanowiłeś się? 

kilka pytań naprowadzających:

1.Jaki stan przycisku gdy go nie wciskasz HIGH czy LOW?

2.Czy ta pętla wykona się gdy przycisk jest wciśniesz czy gdy nie jest wciśnięty?

3.Czy dioda 3 oraz 3-1 miały obie się świecić?

Link do komentarza
Share on other sites

1. stan przycisku mam nie wciśnięty HIGH, wciśnięty LOW

2. powinien być przycisk wciśnięty

3 masz racje ,właśnie świecą się dwie i to jest "cóś" nie tak

 

Widzę Przyjacielu "matural", że masz faine podejście pedagogiczne.

Napisze wam przyjaciele dlaczego tak mi zależy na tym. Mam urządzenie które steruje przełącznikiem ręcznie kilka przekaźników na jednej pozycji . Tych pozycji mam 12 na przełączniku, i przekaźników też 12sztuk. Na każdej pozycji przełącznika działają inne przekaźniki.

Ten program który napisałem ( na podstawie waszego kursu , na waszej stronie, sprawcie to), po naciśnięciu przycisku mogę sobie załączyć odpowiednie przekaźniki (w tym omawianym moim przykładzie akurat są diody ), i to mi super dzieła tak jak chciałem. Tylko chce to sobie ulepszyć , żebym nie musiał przelatywać wszystkich pozycji , kiedy się pomylę , tylko żebym mógł wrócić zaraz drugim przyciskiem. I tak już  ulepszyłem  ten program dodając wyświetlacz, i teraz jest bajka bo pokazuje na wyświetlaczu jakie przekaźniki są załączone. Bedę chciał dopisać do tego jeszcze pilota, ale to potem. Na razie chcę uruchomić ten drugi przycisk.

PRZYJACIELE PRZECIEŻ GDYBYM WIEDZIAŁ JAK TO ZROBIĆ TO NIE POTRZEBOWAŁ BYM TEGO FORUM. KIEDY KUPOWAŁEM ARDUINO U WAS MYŚLAŁEM ŻE DOSTANE POMOC. NIE CHCE BYĆ GENIUSZE PROGRAMOWANIA WY NIMI JESTEŚCIE JA TYLKO CHCE WASZEJ POMOCY W MOJEJ KONKRETNEJ SPRAWIE.

POMÓŻCIE ...............

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ja tylko podpowiem, że na tym forum jest wielu uczestników, którzy pomagają osobom chcącym się czegoś nauczyć, rozwijać swoje zainteresowania itd. Większość pytań, których autor wykazuje dobrą wolę, ale ma konkretny, techniczny problem spotyka się z pozytywnym odzewem i w miarę możliwości pomocą. Natomiast żądania zrobienia czegoś za kogoś, komu się nie chce, nie ma chęci lub czasu wzbudzają, co chyba naturalne, niechęć - bo kto lubi być "łosiem" i odwalać za innego jego pracę, nawet jeśli tylko domową.

@xirtt jeśli nie chcesz się niczego nauczyć, a tylko poszukujesz gotowego programu to moim zdaniem pomyliłeś fora. Tego typu zlecenia lepiej pasują np. do https://www.freelancer.pl/ chociaż pewnie są i inne strony oferujące podobne usługi.

 

  • Lubię! 1
Link do komentarza
Share on other sites

No chyba coś sam zrobiłem...

Jeszcze raz proszę przeczytajcie powoli...........

Ten program który napisałem ( na podstawie waszego kursu , na waszej stronie, sprawcie to), po naciśnięciu przycisku mogę sobie załączyć odpowiednie przekaźniki (w tym omawianym moim przykładzie akurat są diody, po każdym naciśnięciu naraz świeci kilka diod, w 12 sekwencjach  ), i to mi super dzieła tak jak chciałem. Tylko chce to sobie ulepszyć , żebym nie musiał przelatywać wszystkich pozycji , kiedy się pomylę , tylko żebym mógł wrócić zaraz drugim przyciskiem. I tak już  ulepszyłem  ten program dodając wyświetlacz, i teraz jest bajka bo pokazuje na wyświetlaczu jakie przekaźniki są załączone. Bedę chciał dopisać do tego jeszcze pilota, ale to potem. Na razie chcę uruchomić ten drugi przycisk.

Pozdrawiam

Pomóżcie

 

Link do komentarza
Share on other sites

Witam serdecznie.

Próbowałem z tym drugim przyciskiem na podstawie kursu i waszych wskazówek, ale nie uzyskałem takiego efektu który chciałem.

Chciałem uprościć temat i zostać przy jednym przycisku, ale  też potrzebuje pomocy.

Mam sterownik zaprogramowany w 12 sekwencji, po 12 diod led każda, plus wyświetlacz. Kiedy naciskam przycisk wybieram odpowiednią sekwencje na wyświetlaczu. Każde naciśnięcie inna sekwencje , jak wybiorę sekwencje to od razu zaświeca się odpowiednia sekwencja diod led. Chciałem zrobić tak ,że kiedy zatrzymam się na jakiej sekwencji i puszcze przycisk, to dopiero po pięcie sekundach zwłoki zapaliła się ta sekwencja diod led którą wybrałem, ale jeżeli nacisnę przycisk przed upływem tych pięciu sekund , abym mógł dalej wybierać sekwencje na wyświetlaczu. Ustawiałem różne zwłoki ale zawsze blokowała mi przycisk na te pięć sekund . Czy mógłby ktoś mi pomóc . Robiłem różne zwłoki , ale nie mogę sobie z tym poradzić. ( próbowałem z dwoma przyciskami, ale już nie chce tej koncepcji, chce jeden przycisk). Przesyłam moje wypociny, zobaczcie czy można to jakoś przerobić , żeby działało tak jak bym chciał.

Wiem ,że to podobno " syf" ten program, ale działa.

Proszę o pomoc.

 

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

void setup()
{
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print(" WELCOME   ");
  lcd.setCursor(0,1);
  lcd.print("           ");
   lcd.setCursor(0,2);
  lcd.print("           ");
   lcd.setCursor(0,3);
  lcd.print("           ");
   delay(4000);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

  pinMode(A0, INPUT_PULLUP);
  pinMode(A1, INPUT_PULLUP);
 
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
}
 
void loop()
{

  digitalWrite(0, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 1 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
     
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
 
  digitalWrite(0, LOW);
  digitalWrite(1, HIGH);
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 2 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
     
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
   while (digitalRead(A0) == HIGH) {}
 
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 3 ");
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 4 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty
 
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 5 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 6 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 7 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 8 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 9 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 10 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty  

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 11 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(11, LOW);
 
 
 delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
    
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  DIODA 12 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");

 delay(500); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
  }


 

Link do komentarza
Share on other sites

Cześć,

rzeczywiście kod jest bardzo słabo napisany. Na początek proponuję dwie rzeczy (do wykonania przez Ciebie). Poczytaj sobie o pętli for (kurs Arduino).

np. ten kawałek kodu:

  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT); 

Możesz zastąpić taką prostą pętlą:

for (int i=0; i < 12; i++) pinMode(i, OUTPUT);

Jak to działa:

1) Deklarujemy zmienną i (typ integer) i nadajemy jej wartość 0

2) Następnie sprawdzamy warunek i < 12

3) Jeśli warunek spełniony zwiększamy i o 1

4) Jeśli warunek nie spełniony kończymy pętlę

5) Dla każdego przebiegu pętli (i zmienia się od 0 do 11) wykonujemy instrukcję: pinMode(i, OUTPUT)

Postaraj się zastąpić "przydługie" fragmenty twojego kodu takimi instrukcjami for () - tam gdzie to możliwe

A potem wklej poprawiony kod do postu. Pamiętaj o umieszczeniu kodu w tagu kod (< >)

Pozdrawiam

Link do komentarza
Share on other sites

Dziękuje za zainteresowanie moim tematem.

Bawiłem  się tym kursem dla początkujących, fajnie było . Na podstawie tego kursu to ulepiłem. Chciałem zrobić coś co mnie się przyda praktycznego. 

Mam sterownik zaprogramowany w 12 sekwencji, po 12 diod led każda, plus wyświetlacz. Kiedy naciskam przycisk wybieram odpowiednią sekwencje na wyświetlaczu. Każde naciśnięcie inna sekwencje , jak wybiorę sekwencje to od razu zaświeca się odpowiednia sekwencja diod led. Chciałem zrobić tak ,że kiedy zatrzymam się na jakiej sekwencji i puszcze przycisk, to dopiero po pięcie sekundach zwłoki zapaliła się ta sekwencja diod led którą wybrałem, ale jeżeli nacisnę przycisk przed upływem tych pięciu sekund , abym mógł dalej wybierać sekwencje na wyświetlaczu. Ustawiałem różne zwłoki ale zawsze blokowała mi przycisk na te pięć sekund . Czy mógłby ktoś mi pomóc . Robiłem różne zwłoki , ale nie mogę sobie z tym poradzić. ( próbowałem z dwoma przyciskami, ale już nie chce tej koncepcji, chce jeden przycisk). Przesyłam moje wypociny, zobaczcie czy można to jakoś przerobić , żeby działało tak jak bym chciał.

Proszę o pomoc.

 

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

void setup() 
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print(" WELCOME   ");
  lcd.setCursor(0,1);
  lcd.print("           ");
   lcd.setCursor(0,2);
  lcd.print("           ");
   lcd.setCursor(0,3);
  lcd.print("           ");
  delay(2000);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT); 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

  pinMode(A0, INPUT_PULLUP);
  pinMode(A1, INPUT_PULLUP);
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
}
 
void loop()
{

  digitalWrite(0, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 1 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
 
  digitalWrite(0, LOW);
  digitalWrite(1, HIGH);
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 2 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          "); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 3 ");
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 4 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 5 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 6 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, HIGH);
  digitalWrite(1, HIGH); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 7 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 8 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 9 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 10 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty  

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 11 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
    
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 12 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
  }

  

 

Link do komentarza
Share on other sites

4 godziny temu, xirtt napisał:

Dziękuje za zainteresowanie moim tematem.

 Przesyłam moje wypociny, zobaczcie czy można to jakoś przerobić , żeby działało tak jak bym chciał.

Proszę o pomoc.

 


#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

void setup() 
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print(" WELCOME   ");
  lcd.setCursor(0,1);
  lcd.print("           ");
   lcd.setCursor(0,2);
  lcd.print("           ");
   lcd.setCursor(0,3);
  lcd.print("           ");
  delay(2000);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT); 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

  pinMode(A0, INPUT_PULLUP);
  pinMode(A1, INPUT_PULLUP);
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
}
 
void loop()
{

  digitalWrite(0, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 1 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
 
  digitalWrite(0, LOW);
  digitalWrite(1, HIGH);
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 2 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          "); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 3 ");
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 4 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty
  
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 5 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 6 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty 

  digitalWrite(0, HIGH);
  digitalWrite(1, HIGH); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 7 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 8 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 9 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 10 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {} //Jeśli przycisk jest wciśnięty  

  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 11 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  digitalWrite(11, LOW);
 
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
    
  digitalWrite(0, LOW);
  digitalWrite(1, LOW); 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
   lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("  Program 12 ");
  lcd.setCursor(0,1);
  lcd.print("          ");
   lcd.setCursor(0,2);
  lcd.print("          ");
   lcd.setCursor(0,3);
  lcd.print("          ");
  
  delay(1000); //Zatrzymujemy program przed wejsciem do pętli na 1 sekunde
  while (digitalRead(A0) == HIGH) {}
  }

  

 

Cześć,

chyba się nie zrozumieliśmy - miałeś pozamieniać wszystkie fragmenty typu:

  digitalWrite(0, LOW);
  digitalWrite(1, LOW);
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);

w swoim programie na zrobienie tego samego z użyciem pętli for. To ładnie, że wstawiłeś tym razem kod z użyciem tagu <> (code).

Jeśli chcesz pomocy to zrób to o co Cię prosiłem.

Pozdrawiam

Edytowano przez FlyingDutch
  • Lubię! 2
Link do komentarza
Share on other sites

FlyingDutch, Twój post jest OK. Niestety szybko klika się, a na przemyślenie potrzeba więcej czasu. Jeszcze zanim zobaczyłem Twoją edycję zdążyłem wycofać - sorki.🙂

 

Link do komentarza
Share on other sites

Kolega xirtt nie odpowiedział prawidłowo na pytania kolego matural:

1.Jaki stan przycisku gdy go nie wciskasz HIGH czy LOW?

2.Czy ta pętla wykona się gdy przycisk jest wciśniesz czy gdy nie jest wciśnięty?

3.Czy dioda 3 oraz 3-1 miały obie się świecić?

Nie odpowiedział koledze Trekerowi który pisał:

Tworzysz zmienną, która zapamiętuje aktualnie wybraną pozycję/diodę.

Po wciśnięciu przycisku nr 1 zwiększasz wartość tej zmiennej o jeden, a po wciśnięciu przycisku nr 2 zmniejszasz wartość zmiennej o 1. Dzięki temu w zmiennej zawsze masz informacje o numerze diody, która ma być włączona. 

W pętli for gasisz wszystkie diody i włączasz tylko tę jedną, która ma się aktualnie świecić (informacja na podstawie informacje ze zmiennej z punktu 1).

Nie odpisał koledze Belferek który napisał:

Napisałeś: if (digitalRead(A1) == HIGH) {}

Jeśli programik nie działa to powinieneś się zastanowić dlaczego, gdzie jest błąd? Nie wiem jak Ty, ale ja i pewnie większość czytających odczyta ten warunek IF jako:

Jeśli na A1 jest stan wysoki to nie rób NIC.

O to Ci chodziło?

xirtt chyba ciągle liczy na gotowca, nawet mnie brakuje już cierpliwości.

xirtt weź popraw to wszystko, o czym ci piszą, małymi kroczkami, nie kopiuj tu ciągle całego kodu tylko po kawałeczku pokaż jak stosujesz się do rad których Ci tu udzielają...

Edytowano przez SOYER
  • Lubię! 1
Link do komentarza
Share on other sites

Anonim
Ten temat został zamknięty.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.