Skocz do zawartości

Odbierane różne wartości liczbowe po wciskaniu tego samego przycisku na pilocie IR


Pomocna odpowiedź

Napisano

Witam, mam pytanie jak w temacie. Wciskanie tego samego przycisku daje różne wyniki, konkretny przykład (co jakiś czas wartości powtarzają się):

551494365

4294967295

551494365

4294967295

3733801123

4294967295

551494365

551494365

4294967295

551494365

4294967295

551494365

8415

4294967295

Czy może ktoś wie jak sobie poradzić z takim problemem?

Biblioteka Shirriff

#include <IRremote.h> 
int  RECV_PIN  =  12; 
IRrecv  irrecv(RECV_PIN); 
decode_results results; 

void setup() 
{ Serial.begin(9600); 
irrecv.enableIRIn();  //  Start  the receiver 
} 

void loop()  
{ 
if  (irrecv.decode(&results)) 
{ Serial.println(results.value, DEC); 
irrecv.resume();  //  Receive the next  value 
}}
A jesteś pewien, że twój pilot używa właśnie tego protokołu, na który jest napisana biblioteka?

Dziękuję deshipu za odpowiedź! Nie mam pojęcia jakiego protokołu używa pilot. A można to jakoś sprawdzić i dobrać właściwą bibliotekę do konkretnego pilota?

Częstotliwość wynosi 38.4kHz, to jest akurat standard, i to jest dekodowane przez sam czujnik, więc się nie musisz tym przejmować. Nie wiem czemu szukasz tego na Githubie, to spokojnie można przeczytać na Wikipedii.

Dałem ci zły link, bo byłem na telefonie, ale nie mogę znaleźć teraz poprawnego.

[ Dodano: 04-03-2018, 01:44 ]

O, tu masz zarówno kody, jak i protokoły podane: http://irdb.tk/

Jednak coś nie działa. Cały czas wciśnięcie tego samego przycisku na pilocie daje kilka różnych wyników, ostatnio:

4294967295

4294967295

551494365

4294967295

551494365

551494365

8415

551494365

551494365

551494365

3733801123

3733801123

...

Zastanawiam się co jeszcze mogę sprawdzić, żeby zidentyfikować problem. Pilot obsługuje prawdopodobnie protokół NEC (model pilota: LG AKB72914209). Najnowsza biblioteka IRremote.h też powinna ten protokół obsługiwać (https://github.com/z3t0/Arduino-IRremote). Odinstalowałem z Arduino IDE wszystkie inne biblioteki powiązane z IR...

Dodam, że pilot z TV działa prawidłowo.

Dawno temu napisałem tutaj artykuł o dekodowaniu nieznanego sygnału z pilota:

https://forbot.pl/blog/jak-przystosowac-domowego-pilota-wlasnych-celow-id1223

Potrzebujesz do tego standardowego odbiornika podczerwieni i jakiegoś oscyloskopu/analizatora logicznego do badania przebiegów czasowych. Warto też przeczytać wcześniej o różnych sposobach kodowania w pilotach np. długością sygnału, manchester

Miałem kiedyś podobny problem.

Okazało się że wina leżała po stronie kiepskiej jakości odbiornika IR. Był to zakupiony z Chin odbiornik nieznanego typu. Po zmianie na TSOP31238 problem zniknął.

Dawno temu napisałem tutaj artykuł o dekodowaniu nieznanego sygnału z pilota:

https://forbot.pl/blog/jak-przystosowac-domowego-pilota-wlasnych-celow-id1223

Potrzebujesz do tego standardowego odbiornika podczerwieni i jakiegoś oscyloskopu/analizatora logicznego do badania przebiegów czasowych. Warto też przeczytać wcześniej o różnych sposobach kodowania w pilotach np. długością sygnału, manchester

Dziękuję GAndaLF. Przeczytałem artykuł i chylę czoło za wiedzę i samozaparcie. Dla mnie to jednak za wiele 🙂

Tak naprawdę nie musisz realizować wszystkich kroków z artykułu. Wystarczy podłączyć zasilanie i analizator do TSOPa i odczytać przebiegi dla wszystkich możliwych przycisków. To jest bardzo proste i ogranicza się do połączenia trzech przewodów. Częstotliwością odbiornika też nie musisz się tak bardzo przejmować, bo pobliskie częstotliwości i tak powinno jeszcze wyłapywać. Dalej te kody w asemblerze i w C to już interpretowanie ramek. Jeśli ci się poszczęści i zidentyfikujesz kodowanie jako jakieś popularne, to może znajdziesz do niego gotową bibliotekę.

  • Lubię! 1
Tak naprawdę nie musisz realizować wszystkich kroków z artykułu. Wystarczy podłączyć zasilanie i analizator do TSOPa i odczytać przebiegi dla wszystkich możliwych przycisków. To jest bardzo proste i ogranicza się do połączenia trzech przewodów. Częstotliwością odbiornika też nie musisz się tak bardzo przejmować, bo pobliskie częstotliwości i tak powinno jeszcze wyłapywać. Dalej te kody w asemblerze i w C to już interpretowanie ramek. Jeśli ci się poszczęści i zidentyfikujesz kodowanie jako jakieś popularne, to może znajdziesz do niego gotową bibliotekę.

Jeszcze raz dziękuję Ci GAndaLF ale znam swoje możliwości (i ich granice) i wiem że to (przynajmniej na razie) są za wysokie dla mnie progi... 🙂

  • 1 miesiąc później...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...