Problem z obsługą przycisku - 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: Problem z obsługą przycisku (/watek-problem-z-obs%C5%82ug%C4%85-przycisku) |
Problem z obsługą przycisku - fgt90 - 01-06-2019 Witam Na wstępie chciałbym zaznaczyć iż jestem nowym użytkownikiem na tym forum, jednocześnie nie mam dużego doświadczenia w programowaniu (jestem samoukiem z YT elektroprzewodnik i elektromaras) jednak mimo to udało mi się stworzyć kilka projektów. Niestety tym razem walczę ze sterownikiem do oświetlenia led do kuchni sterowanego z pilota od tv. Póki co udało mi się zbudować sterownik włączanie i wyłączanie kanałów z pilota działa, przyciemnianie i rozjaśnianie też działa. Niestety nie daje rady z przyciskiem który ma włączać i wyłączać kanał z ledami pod szafkami (dodatkowe sterowanie jednym kanałem poza pilotem). Problem polega na tym iż fragment kodu obsługi przycisku jest w jakiś sposób pomijany. Tutaj wstawiam cały kod. Kod: int ir_pin = 2; //Sensor pin 1 wired through a 220 ohm resistor //"Ready to Recieve" flag, not needed but nice int getIRKey() ..... jest to gotowiec z internetu pilota czyta i przypisuje przyciskom wartości niestety przez niego nie działa przcisk jak wprowadze przróbkę typu void loop() { int key = 0; //int key = getIRKey(); zamiast void loop() { int key = getIRKey(); wtedy przycisk działa niestety nie reaguje we właściwym kodzie proszę o pomoc już kilka dni z tym walczę sam i doszedłem do etapu gdzie dalej sam nie dam rady pozdrawiam z góry dzięki za pomoc RE: Problem z obsługą przycisku - kaczakat - 01-06-2019 Albo przestań używać delay, zamień to na obsługę czasu z millis(), albo przycisk zrób na przerwaniach zewnętrznych. Sam przycisk zwykle się robi definiując wejście jako INPUT_PULLUP by wymusić stan wysoki bez wciśnięcia i reagować na niski gdy przycisk wciśnięty. Można też na odwrót, można bez pullup, ale wtedy ma być coś dorzucone do pinu - podciąganie sprzętowe do VCC lub GND. Funkcja while() czeka aż użyjesz pilota w tym miejscu, blokując cały program. Użyj po prostu biblioteki do IR z przerwaniami. RE: Problem z obsługą przycisku - fgt90 - 02-06-2019 [attachment=839][attachment=840][attachment=841]witam udało mi się uporać z przyciskiem teraz niestety mam inny problem. W chwili obecnej męcze się z tym, że po zmontowaniu układu wszystko smiga włączanie i wyłączanie kanałów działą niestety wszystko się wiesza jak zaczynam przyciemniać i rozjaśniać ledy. Ta sama atmega przepięta z układu na plytke śmiga bez problemu niestety w sterowniku pada. połączenia są ok bo włącz wyłącz kanałyjest ok zawiesza się dopiero po zmianie pwm. Niżej wrzucam fotki układu RE: Problem z obsługą przycisku - Robson Kerman - 02-06-2019 Poczytaj trochę i się zastanów czy na pewno połączenia są ok. http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html http://mikrokontrolery.blogspot.com/2011/04/zakocenia-w-pracy-mikrokontrolerow.html RE: Problem z obsługą przycisku - fgt90 - 02-06-2019 (02-06-2019, 20:24)Robson Kerman napisał(a): Poczytaj trochę i się zastanów czy na pewno połączenia są ok. wszystko jest ok. na plytce stykowej dziala bez problemu polaczenia w sterowniku sa takie same pozatym przelaczanie kanalow jest ok wiesza sie przy zmianie wartosci pwm poza tym zauwazylem ze dwa kanaly wyraznie mrugaja kiedy pozostale 3 mimo tej samej wartosci pwm nie mrugaja ledy sa z tej samej szpulki RE: Problem z obsługą przycisku - kaczakat - 02-06-2019 Nie wszystko jest OK, na płytce nie widać pół kondensatora. Lepiej poczytaj to co wrzucił Ci Robson Kerman. RE: Problem z obsługą przycisku - fgt90 - 03-06-2019 (02-06-2019, 23:48)kaczakat napisał(a): Nie wszystko jest OK, na płytce nie widać pół kondensatora. Lepiej poczytaj to co wrzucił Ci Robson Kerman.Faktycznie na zdjęciach tego nie widać. kondensatory sa dwa po 100 nf oba są na zasilaniu atmegi jeśli chodzi o AREF i GND to faktycznie tam nic nie dałem RE: Problem z obsługą przycisku - kaczakat - 03-06-2019 100nF może być wystarczające jak sobie chcesz pomigać ledem lub wyświetlić coś na LCD. Płytka wygląda jak generator zakłóceń, pod procesorem leżą kable, z grubości i mosfetów sugerujące prądy liczone w amperach. To raczej nie jest dobra konstrukcja. Nawet jeśli mosfety są logic level to nie gwarantuje to prawidłowej pracy. Przy dużych częstotliwościach wymagane są drivery mosfetów o dużej wydajności prądowej (pomimo sterowania napięciem), driver musi szybko "napełniać" i "opróżniać" gate. Zerknij na pierwszy z brzegu driver: Kod: TypIGBT driver RE: Problem z obsługą przycisku - fgt90 - 03-06-2019 Dzięki wsztkim za uwage problem rozwiązany dzięki wszystkim za pomoc Temat do zamknięcia |