• 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
Monitorowanie wejść
#11
(08-07-2016, 22:59)adix napisał(a): Podaj mi schemat połączenia a wtedy ci dopasuje bo ja mam ledy pod 5v i sterowane gnd i  u mnie działa jak masz inaczej to będzie działało na odwrót.

Ja mam podłączone do GDN a steruję 5V. W załączeniu wysyłam szyld jaki mam już wykonany z płytką. Undecided


Załączone pliki
.pdf   Drzwi syg 080716.pdf (Rozmiar: 1.32 MB / Pobrań: 6)
 
Odpowiedź
#12
Wysyłam kod jakiego użyłem w pierwotnym moim opracowani. Błąd występuje w momencie otwarciu jednych drzwi potem drugich i nie wygasza poszczególnych drzwi jeżeli nie zamkniemy wszystkich.
Poniżej moje wypociny:

Kod:
void setup() {
 Serial.begin(9600);

 pinMode(2, INPUT_PULLUP); // drzwi 1
 pinMode(3, INPUT_PULLUP); // drzwi 2
 pinMode(4, INPUT_PULLUP); // drzwi 3
 pinMode(5, INPUT_PULLUP); // drzwi 4
 
 pinMode(22, OUTPUT); //led zielony drzwi 1 zamknięte
 pinMode(23, OUTPUT); //led czerwona drzwi 1 otwarte
 pinMode(24, OUTPUT); //led zielony drzwi 2 zamknięte
 pinMode(25, OUTPUT); // led czerwona drzwi 2 otwarte
 pinMode(26,OUTPUT); // led zielony drzwi 3 zamknięte
 pinMode(27, OUTPUT);// led czerwona drzwi 3 otwarte
 pinMode(28,OUTPUT); // led zielony drzwi 4 zamknięte
 pinMode(29, OUTPUT);// led czerwona drzwi 4 otwarte
 

 digitalWrite(22, HIGH); //led zielony drzwi 1 świeci
 digitalWrite(23, LOW); //led czerwona drzwi 1 zgaszona
 digitalWrite(24, HIGH); //led zielony drzwi 2 świeci
 digitalWrite(25, LOW); //led czerwona drzwi 2 zgaszona
 digitalWrite(26, HIGH); //led zielony drzwi 3 świeci
 digitalWrite(27, LOW); //led czerwona drzwi 3 zgaszona
 digitalWrite(28, HIGH); //led zielony drzwi 4 świeci
 digitalWrite(29, LOW); //led czerwona drzwi 4 zgaszona
}

 void loop()
{
 if (digitalRead(2) == LOW) { //  jeżel przycisk wcisnięty
 digitalWrite(23, HIGH); // otwarte 1
 digitalWrite(22, LOW); //wyłączona LED zielona 1
 
 } else{
 
   
 if (digitalRead(3) == LOW) { //jeżel przycisk wcisnięty
 digitalWrite(25, HIGH);
 digitalWrite(24, LOW);
 } else{
 
 
 if (digitalRead(4) == LOW) { //jeżel przycisk wcisnięty
 digitalWrite(27, HIGH);
 digitalWrite(26, LOW);
 
 
 } else{
   
 if (digitalRead(5) == LOW) { //jeżel przycisk wcisnięty
 digitalWrite(29, HIGH);
 digitalWrite(28, LOW);
 
 
 } else{
 
 
 digitalWrite(22,HIGH);
 digitalWrite(23,LOW);
 digitalWrite(24,HIGH);
 digitalWrite(25,LOW);
 digitalWrite(26,HIGH);
 digitalWrite(27,LOW);
 digitalWrite(28,HIGH);
 digitalWrite(29,LOW);
 
 
 
 
 
 }} }}}
 
Odpowiedź
#13
Twój kod jest zupełnie błędny.
Dlaczego?
Ponieważ używając "if - else" dalsza część warunków wykona się tylko gdy pierwsyz z nich nie będzie spełniony a Tobie przecież zależy na tym, żeby każda z szuflad była niezależna od pozostałych...
 
Odpowiedź
#14
(09-07-2016, 11:10)pan_statystyka napisał(a): Twój kod jest zupełnie błędny.
Dlaczego?
Ponieważ używając "if - else" dalsza część warunków wykona się tylko gdy pierwsyz z nich nie będzie spełniony a Tobie przecież zależy na tym, żeby każda z szuflad była niezależna od pozostałych...

Wlasnie tu mam problem. Dlatego oczekuje pomocy w podpowiedzi jak moge usunac moje bledne myslenie.
 
Odpowiedź
#15
Ale odpowiedź już dostałeś w postaci gotowych kodów......
Może warto więc po prostu się poduczyć, zrozumieć, o co w tym chodzi, zamiast liczyć na gotowca... tak naprawdę bez zrozumienia istoty sprawy nigdy nie pójdziesz do przodu a problemy będa się tylko piętrzyć.

Zasadniczo powinieneś pozbyć się wszystkich "else".
 
Odpowiedź
#16
Kolego czemu nie użyjesz mojego kody tylko dopasuj go do schematu ja mam ledy do vcc i steruje gnd pozmieniaj to i ma działać .
A postaram ci się wytłumaczyć jak dział twój program:
if(xxx==xx){}jak nie{to jesli(cccc=cc){}jak nie to jesli(xxx===cc){} i tak w nieskończoność czyli wystarczy spełnić 1 warunek by reszta nie działała.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#17
(09-07-2016, 16:14)adix napisał(a): Kolego czemu nie użyjesz mojego kody tylko dopasuj go do schematu ja mam ledy do vcc i steruje gnd pozmieniaj to i ma działać .
A postaram ci się wytłumaczyć jak dział twój program:
if(xxx==xx){}jak nie{to jesli(cccc=cc){}jak nie to jesli(xxx===cc){} i tak w nieskończoność  czyli wystarczy spełnić 1 warunek by reszta nie działała.

Dziekuje za noprawodzenie  mie na dobre tory, ale sie dopiero lucze i mam nadzieje ze wmiare szybko sie naucze. Mam juz wytrawiona plytke wiec musze sterowac 5V.
 
Odpowiedź
#18
Tak wiec użyj mojego kodu tylko ustaw stany początkowe na Hight i pulldown daj następnie pozamieniaj) jeśli masz buton do 5 v(kontaktron) jak nie to nic nie ruszaj )w button z low na HIGHT i ma działać a ledy już sobie dopasuj sam .
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#19
(09-07-2016, 23:30)adix napisał(a): Tak wiec użyj mojego kodu tylko ustaw stany początkowe na Hight i pulldown daj następnie pozamieniaj)  jeśli masz buton do 5 v(kontaktron) jak nie to nic nie ruszaj )w button z low na HIGHT i ma działać a ledy już sobie dopasuj sam .

Cos mam problem z twoim kodem, wiec zaczolem kombinowac z moim. Zlikwidowalem ellse jak polecal mi jeden z naszych kolegow. Zerknicie na moje wypociny i podpowiedzcie mi co robie zle. Napewno robie to bardzo skomplikowanie. Do mojego kodu bede chcial dodac kilka jeszczw innych czynnosci, ale o tym napisze po waszych recenzjach.Pozdrawiam


Załączone pliki
.docx   drzwi as 127.docx (Rozmiar: 14.39 KB / Pobrań: 4)
 
Odpowiedź
#20
Kolego kuuu....... ja się podaje jestem naprawdę!
Jestem cierpliwy ale twoje pojmowanie programowania już nawet laika załamie, kuzwa wytłumacz mi jak twoim zdaniem dział twój kod a jak ci powiem jak działa w rzeczywistości nie wgrywając go nawet i narysuj mi schemat twojego połączenia i zrobię ci gotowca bo normalnie wyrzucę monitor przez okno.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości