• 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 ze sterowaniem wyświetlaczem 7 segmentowym
#1
Witam
Jestem nowy na forum oraz w programowaniu Arduino . Posiadam Adruino uno n
Napisałem poniższy  program i działa mam tylko problem z tym ,że po naciśnięciu 
dwóch lub więcej przycisków sumuje linie na wyświetlaczu i nie wyświetlają się prawidłowe cyfry tylko
jakieś bzdury
Program w załączniku oraz poniżej :

Kod:
int pin_przycisk1 = A0;
int pin_przycisk2 = A1;
int pin_przycisk3 = A2;
int pin_przycisk4 = A3;
int pin_przycisk5 = A4;
int pin_przycisk6 = 3;
int pin_przycisk7 = 4;
int pin_przycisk8 = 5;
int pin_diodaP = 6;
int pin_diodaA = 7;
int pin_diodaB = 8;
int pin_diodaC = 9;
int pin_diodaD = 10;
int pin_diodaE = 11;
int pin_diodaF = 12;
int pin_diodaG = 13;

void setup() {
 //ustawienia dla pinu przycisku
 pinMode(pin_przycisk1, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk1, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk2, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk2, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk3, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk3, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk4, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk4, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk5, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk5, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk5, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk5, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk6, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk6, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk7, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk7, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)
 pinMode(pin_przycisk8, INPUT); //pracuje jako wejscie
 digitalWrite(pin_przycisk8, HIGH); //spoczynkowy stan wysoki (rezystory podciagajace wlaczone)

 //pin zapalajacy diode musi pracowac jako wyjscie
 pinMode(pin_diodaA, OUTPUT);
 pinMode(pin_diodaB, OUTPUT);
 pinMode(pin_diodaC, OUTPUT);
 pinMode(pin_diodaD, OUTPUT);
 pinMode(pin_diodaE, OUTPUT);
 pinMode(pin_diodaF, OUTPUT);
 pinMode(pin_diodaG, OUTPUT);
 pinMode(pin_diodaP, OUTPUT);
 digitalWrite(pin_diodaA, HIGH);
 digitalWrite(pin_diodaB, HIGH);
 digitalWrite(pin_diodaC, HIGH);
 digitalWrite(pin_diodaD, HIGH);
 digitalWrite(pin_diodaE, HIGH);
 digitalWrite(pin_diodaF, HIGH);
 digitalWrite(pin_diodaG, HIGH);
 digitalWrite(pin_diodaP, HIGH);
}

void loop() {
 int przycisk2 = digitalRead(pin_przycisk2); //odczytujemy stan przycisku
 if (przycisk2 == LOW) { //jesli przycisk nie jest wcisniety
   digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
   digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona
   digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona
   digitalWrite(pin_diodaD, LOW); //dioda ma byc zgaszona
   digitalWrite(pin_diodaE, LOW); //dioda ma byc zgaszona

 }
 else //w przeciwnym wypadku
 {
   digitalWrite(pin_diodaA, HIGH); //dioda ma sie swiecic
   digitalWrite(pin_diodaB, HIGH); //dioda ma sie swiecic
   digitalWrite(pin_diodaG, HIGH); //dioda ma sie swiecic
   digitalWrite(pin_diodaD, HIGH); //dioda ma sie swiecic
   digitalWrite(pin_diodaE, HIGH); //dioda ma sie swiecic


 }
 {
   int przycisk1 = digitalRead(pin_przycisk1); //odczytujemy stan przycisku
   if (przycisk1 == LOW) { //jesli przycisk nie jest wcisniety
     digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona
     digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona


   }
   else //w przeciwnym wypadku
   {
     digitalWrite(pin_diodaC, HIGH); //dioda ma sie swiecic
     digitalWrite(pin_diodaB, HIGH); //dioda ma sie swiecic

   }

   {
     int przycisk3 = digitalRead(pin_przycisk3); //odczytujemy stan przycisku
     if (przycisk3 == LOW) { //jesli przycisk nie jest wcisniety
       digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
       digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona
       digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona
       digitalWrite(pin_diodaD, LOW); //dioda ma byc zgaszona
       digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona

     }
     else //w przeciwnym wypadku
     {
       digitalWrite(pin_diodaA, HIGH);          //dioda ma sie swiecic
       digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic
       digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic
       digitalWrite(pin_diodaD, HIGH);          //dioda ma sie swiecic
       digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic

     }
     {
       int przycisk4 = digitalRead(pin_przycisk4); //odczytujemy stan przycisku
       if (przycisk4 == LOW) { //jesli przycisk nie jest wcisniety
         digitalWrite(pin_diodaF, LOW); //dioda ma byc zgaszona
         digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona
         digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona
         digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona

       }
       else //w przeciwnym wypadku
       {
         digitalWrite(pin_diodaF, HIGH);          //dioda ma sie swiecic
         digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic
         digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic
         digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic


       }
       {
         int przycisk5 = digitalRead(pin_przycisk5); //odczytujemy stan przycisku
         if (przycisk5 == LOW) { //jesli przycisk nie jest wcisniety
           digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
           digitalWrite(pin_diodaF, LOW); //dioda ma byc zgaszona
           digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona
           digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona
           digitalWrite(pin_diodaD, LOW); //dioda ma byc zgaszona

         }
         else //w przeciwnym wypadku
         {
           digitalWrite(pin_diodaA, HIGH);          //dioda ma sie swiecic
           digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic
           digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic
           digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic
           digitalWrite(pin_diodaD, HIGH);          //dioda ma sie swiecic

         }
         {
           int przycisk6 = digitalRead(pin_przycisk6); //odczytujemy stan przycisku
           if (przycisk6 == LOW) { //jesli przycisk nie jest wcisniety
             digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
             digitalWrite(pin_diodaF, LOW); //dioda ma byc zgaszona
             digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona
             digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona
             digitalWrite(pin_diodaD, LOW); //dioda ma byc zgaszona
             digitalWrite(pin_diodaE, LOW); //dioda ma byc zgaszona

           }
           else //w przeciwnym wypadku
           {
             digitalWrite(pin_diodaA, HIGH);          //dioda ma sie swiecic
             digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic
             digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic
             digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic
             digitalWrite(pin_diodaD, HIGH);          //dioda ma sie swiecic
             digitalWrite(pin_diodaE, HIGH);          //dioda ma sie swiecic

           }
           {
             int przycisk7 = digitalRead(pin_przycisk7); //odczytujemy stan przycisku
             if (przycisk7 == LOW) { //jesli przycisk nie jest wcisniety
               digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
               digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona
               digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona


             }
             else //w przeciwnym wypadku
             {
               digitalWrite(pin_diodaA, HIGH);          //dioda ma sie swiecic
               digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic
               digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic

             }
             {
               int przycisk8 = digitalRead(pin_przycisk8); //odczytujemy stan przycisku
               if (przycisk8 == LOW) { //jesli przycisk nie jest wcisniety
                 digitalWrite(pin_diodaA, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaB, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaC, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaD, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaE, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaF, LOW); //dioda ma byc zgaszona
                 digitalWrite(pin_diodaG, LOW); //dioda ma byc zgaszona

               }
               else //w przeciwnym wypadku
               {
                 digitalWrite(pin_diodaA, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaB, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaC, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaD, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaE, HIGH);          //dioda ma sie swiecic
                 digitalWrite(pin_diodaG, HIGH);          //dioda ma sie swiecic

               }
             }
           }
         }
       }
     }
   }
 }
}


Proszę o pomoc .
 
Odpowiedź
  


Wiadomości w tym wątku
Problem ze sterowaniem wyświetlaczem 7 segmentowym - przez mlamla - 23-12-2017, 19:45

Skocz do:


Przeglądający: 1 gości