Problem z ir - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w) +--- Wątek: Problem z ir (/watek-problem-z-ir) |
Problem z ir - Mati94 - 16-02-2024 Witam. Zaznaczę że jestem początkujący w programowaniu i zabawie z Arduino. Chciałbym rozwiązać problem sterowania za pomocą pilota ir, wszystko opanowałem do zapalania diody jak i gaszenia lecz działa tylko jeden pilot, zmieniałem odbiorniki lecz nic to nie dawało, na innych pilotach wartość odbieranego sygnału była ffffffffff na każdym przycisku pilota. dodam że próbowałem zmieniać programy lecz jak już udało się odczytać wlasciwy kod to dalej nie udało się już sterować diodami gdyż po wgraniu programu do sterowania nie odczytywał żadnych wartości ir tylko na jednym pilocie z 5 zadziałało prawidłowo. Proszę o pomoc w rozwiązaniu problemu RE: Problem z ir - kaczakat - 16-02-2024 Jak masz problem z kodem to pokazujesz ten kod, jakie program IDE, jaka płytka Arduino i opis połączeń - schemat, napisz też z jakich bibliotek korzystasz. W bibliotekach do arduino są przykłady pozwalające identyfikować kod - w IRremote ReceiveDump, trzeba wstępnie rozpoznać czy to jest NEC, SONY czy co tam za protokół, kody mogą być unikatowe, podwójne lub z wartością oznaczającą powtórzenie kodu , potem w gotowym programie trzeba wskazać jakiego trybu się używa. W DUMP jest bardzo duży bufor na przylatujące wartości, tak by niczego nie pominąć, ale w gotowym programie nie należy z tego korzystać, aplikacja zajęła by za dużo zasobów. RE: Problem z ir - Mati94 - 17-02-2024 program to arduino ide biblioteka irremote płytka to zamiennik arduino uno załączam zdjęcie na którym program jak i odczyty ir drugie odczyty to z pilota który działa i jest właściwy kod który mogę używać dalej do sterowania stycznikami a wyżej kod z pierwszego pilota który wygląda jak wygląda. Sprawdziłem w recivedumb niby to nec, pobrałem bibliotekę nec lecz nic to nie zmieniło RE: Problem z ir - kaczakat - 18-02-2024 Można dodać zrzut ekranu jako uzupełnienie treści programu, ale do pokazywania kodu skopiuj tekst, wejdź w pełną edycję posta (podgląd), napisz co masz do powiedzenia, kod wklej w jeden znacznik code, potem w drugi to co pokazuje SerialMonitor. Ten który działa to może i NEC, ale ten który wrzuca EFY to może coś zupełnie innego, te piloty są takie same, kupiłeś je jako moduły do Arduino, czy znalazłeś w starym pudle z gratami i chcesz je sobie zagospodarować? RE: Problem z ir - Mati94 - 18-02-2024 ok dzięki za radę, pilot który działa to pilot z laptopa hp sterujący mediami, każdy inny pilot tzn od radia samochodowego, od klimatyzacji, od telewizora, od lampek choinkowych pokazuje wartość 0xfffffffff. Chciałbym zagospodarować inny pilot gdyż od laptopa jest bardzo niewygodny. RE: Problem z ir - oscarX - 18-02-2024 (18-02-2024, 01:07)Mati94 napisał(a): ok dzięki za radę, pilot który działa to pilot z laptopa hp sterujący mediami, każdy inny pilot tzn od radia samochodowego, od klimatyzacji, od telewizora, od lampek choinkowych pokazuje wartość 0xfffffffff. Chciałbym zagospodarować inny pilot gdyż od laptopa jest bardzo niewygodny. Różne piloty IR nie muszą być ze sobą kompatybilne - są co najmniej dwa fundamentalne parametry, którymi mogą się różnić. 1. Długość fali IR - coś jak "kolor" światła. 2. Częstotliwość nośna - piloty nie włączają diody przez te milisekundy na stałe - na ten czas dioda miga z pewną częstotliwością nośną. Odbiór stałego sygnału byłby bardzo trudny, uwzględniając "tło" promieniowania np. światło słoneczne. Łatwiej jest odebrać sygnał zmienny kluczowany (takie CW). jest to przebieg zwykle w zakresie 30-40kHz, ale są i wyżej. Odbiornik pilota to nie jest sama fotodioda, ale prosty układ ze wzmacniaczem i filtrem na odpowiednią częstotliwość. W sumie odbiornik musi być zgrubnie dopasowany do pilota. RE: Problem z ir - Mati94 - 18-02-2024 przez recivedumb udało się tyle wyciągnąć z tego pilota Cytat:Protocol=RC5 Address=0x0 Command=0x40 Raw-Data=0x0 1 bits MSB first również udało mi się odczytać kod następującym programem: Cytat:``` otrzymałem następujące wartości z pilota z który wcześniej wysyłał wartości 0xFFFFFFF: 0xF00F5E87 0xE9165E87 0xCB345E87 0xDF205E87 0xBB445E87 Problem dalej tkwi w tym jak wykorzystać te kody gdyż nadgrywając następujący program płytka wcale nie reaguje z pilotem ( poniżej program): Cytat:#include <IRremote.h> RE: Problem z ir - kaczakat - 18-02-2024 Brawo, w szkicu dump ustaliłeś, że masz protokół RC5, nie działa w drugim szkicu, bo mu nigdzie nie napisałeś, że będziesz korzystał z pilota RC5. Piloty do chińskich zabawek często korzystają z protokołów NEC lub RC5. Skorzystaj z przykładu SimpleReceiver, gdzie masz pokazane jak wskazać używany protokół, możesz też wskazać dwa, więcej, wtedy do programu jest dodawany protokół: Kod: //#define DECODE_DENON // Includes Sharp Przed pisaniem programów do używania warto się nauczyć używać millis zamiast delay. RE: Problem z ir - Mati94 - 19-02-2024 Czy dobrze zrozumiałem kod na sterowanie stycznikiem ma wyglądać następująco?: Kod: #include <IRremote.h> Kod: #define DECODE_NEC Kod: #define DECODE_RC6 RE: Problem z ir - kaczakat - 19-02-2024 Jak zaczęło drukować garaz, to jest to dobry początek, teraz naucz się używać millis, mierzyć czas w programie i zarządzać zdarzeniami wraz z jego upływem. Wciśnięcie przycisku może wysłać wiele kodów, trzeba umieć zignorować te niepotrzebne, podobnie jak z drganiem styków. Nie wiem czemu wybrałeś pin 11, w uC piny mają podstawową funkcję Input/Output cyfrowe, ale niektóre mają dodatkowe, np. w NANO są dwa piny z przerwaniem zewnętrznym, czyli można napisać kod programu wywoływany natychmiast gdy określony stan zaistnieje na tym pinie, ta biblioteka to wykorzystuje i domyślnie preferuje pin 2 jako wejście IR. Na pinie 11 biblioteka może działać gorzej, a ten pin jest cenny dla innych zasobów. Poza tym są piny do UART, SPI, Analogowe, piny wyjściowe poszczególnych timerów, jak nie musisz korzystać z tych szczególnych funkcji to zostawiasz te piny do wykorzystania w ostateczności, tak by nie zamykać sobie drogi do dodania tej funkcjonalności. |