Monitorowanie wejść - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: Monitorowanie wejść (/watek-monitorowanie-wej%C5%9B%C4%87) |
Monitorowanie wejść - bond - 04-07-2016 Dzień dobry. Jestem poczatkującym i uczę się obsługi i programowania Arduino. Chciał bym aby moje arduino nadzorowało zamkniecie drzwi w komorze, w której muszą być szczelnie pozamykane drzwi. Mam 4 pary drzwi. Jak są prawidłowo zamknięte drzwi to mają świecić się cztery diody zielone. W przypadku otwarcia drzwi zapalają się ledy czerwone w zależność, które drzwi są otwarte (gaśnie zielona i zapala się czerwona) oraz włącza się buzerek sygnalizujący nie zamknięte drzwi. Ja napisałem program używając pętli " if else " ale jest to błędne bo ja otwarte są pierwsze drzwi gaśnie zielona led i zaświeca się czerwona i dalej otwierając kolejne nie powoduje zmian stanów w kolejnych ledach. Proszę o podpowiedz jakich powinienem użyć warunków aby spełnić to zadanie. Może ktoś wysłał mi przykładowy szkic. Z góry dziękuję i myślę że niedługo ja będę mógł podpowiadać nowicjuszom. Pozdrawiam RE: Monitorowanie wejść - pan_statystyka - 05-07-2016 Bez kompletnego kodu będzie ciężko. Rozumujesz dobrze, ale pewnie jest jakiś błąd w kodzie, np. kolejne IFy zagnieżdżone w innych, zamiast być w pętli głównej. RE: Monitorowanie wejść - adix - 06-07-2016 Tu masz gotowca porty wpisałem przypadkowe musisz sobie pozmieniać. Kod: const int button1 = 2; RE: Monitorowanie wejść - pan_statystyka - 06-07-2016 adix - na tablicach to by było o wiele piękniej, niż tak topornie to robić RE: Monitorowanie wejść - adix - 06-07-2016 Tak wiem ale napisałem to by każdy zrozumiał. Staram się pisać jak najbardziej proste kody bo my je zrozumiemy ale początkujący będą pytać" a czego tak" RE: Monitorowanie wejść - bond - 07-07-2016 dzięki wgrałem kody, ale na czuwaniu nie świecą zielone ledy wskazując zamknięte drzwi. Po uruchomieniu włączników włączają się ledy czerwone, ale nie nie gasną po zamknięciu drzwi i nie załanczają zielonych. pozdrawiam RE: Monitorowanie wejść - adix - 07-07-2016 Program działa tak; jeśli klawisz jest 0 to włącz diodę jeśli 1 to wyłącz i tak wszystkie 4, nie tak miał działać. Kod: const int button1 = 2; RE: Monitorowanie wejść - bond - 08-07-2016 Dzięki, ale nadal nie chcą się zaświecić na początku zielone. Opiszę Ci jeszcze raz oraz załączę sygnalizator. W pomieszczeniu mamy 4 pary drzwi, które muszą być zamknięte (ten stan zamknięcia sygnalizują 4 zielone ledy gdy zostaną otwarte któreś drzwi stan zielone zmienia się na czerwony). Musimy pamiętać iż drzwi mogą być otwierane i zamykane w różnych kolejnościach. Mój program działał do tego momentu Ok. ale w przypadku otwarcia np. drzwi nr2 następnie nr 3 i zamykamy pierwsze np. 2 i stan z czerwonej mi się nie zmieniał na zielony dopóki nie zamknąłem wszystkich. RE: Monitorowanie wejść - pan_statystyka - 08-07-2016 No to zmieniasz tutaj: Kod: digitalWrite(ledz1, LOW); // na HIGH To co mówisz jest trochę dziwne, bo kod każdego IFa rozpatruje osobno, a przynajmniej powinien. Może jednak masz coś źle podłączone? Poza tym można byłoby pominąć zmienne buttonState4 i warunki zamienić tak: Kod: if ( digitalRead(button1)== LOW) Kod: //deklaracja a potem ten kod wstawić w pętli RE: Monitorowanie wejść - adix - 08-07-2016 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. |