Komentator Napisano Lipiec 2, 2021 Udostępnij Napisano Lipiec 2, 2021 Jeszcze długo w wielu zastosowaniach nic nie zastąpi pilota IR, który po prostu zawsze działa. Dlatego tym razem wykorzystamy niezastąpione liczniki, aby dekodować transmisję NEC. Nie pójdziemy na łatwiznę, więc bibliotekę do tej komunikacji stworzymy samodzielnie (od zera). UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.Przeczytaj całość »Poniżej znajdują się komentarze powiązane z tym wpisem. Link do komentarza Share on other sites More sharing options...
Komentator Lipiec 2, 2021 Autor tematu Udostępnij Lipiec 2, 2021 Przypominamy: w komentarzach do kursów rozmawiamy wyłącznie na tematy związane z konkretnym kursem. Mile widziane są również informacje od osób, które korzystały wcześniej z naszych poradników. Wszystko po to, aby kursanci, którzy mają zamiar korzystać z tego kursu nie musieli "przedzierać" się przez dziesiątki postów na inne tematy. Tematy na pytanie, które nie są związane z kursem można zadawać na naszym forum o mikrokontrolerach. Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 2, 2021 Udostępnij Lipiec 2, 2021 Czy faktycznie nic nie zastąpi pilota IR? Czas pokaże, ale na pewno jeszcze długo będą one spotykane w wielu zastosowaniach, więc warto wiedzieć jak na STM32L4 dekodować sygnały, które wysyłane są w podczerwieni. Dlatego w tej części kursu opisaliśmy jak w prosty sposób odbierać sygnały z pilotów pracujących w standardzie NEC - oczywiście wszystko sprzętowo (na liczniku). Mam nadzieję, że będzie przydatne 😉 Link do komentarza Share on other sites More sharing options...
Elvis Lipiec 2, 2021 Udostępnij Lipiec 2, 2021 Za nami kolejna część poświęcona modułom licznikowym, mam nadzieję, że udało nam się pokazać ogromne możliwości jakie te peryferia oferują. Ostatnie dwie części się do pewnego stopnia uzupełniają, w poprzedniej zobaczyliśmy jak można wykorzystać timery do wysyłania danych (do diod WS2812B), a teraz poznaliśmy sposób na odbieranie danych przesłanych z pilota podczerwieni. Możliwości układów licznikowych oczywiście się na tym nie kończą i można za ich pomocą zrealizować komunikację przez właściwie dowolny interfejs cyfrowy. W naszym kursie zajmujemy się tylko odbieraniem danych przesyłanych za pomocą podczerwieni, ale warto chociaż wspomnieć o możliwości nadawania sygnału - moglibyśmy sami sterować innymi urządzeniami, jak chociażby telewizorem. Protokół komunikacji już znamy, widzieliśmy jak wysyłać dane do WS2812B, więc napisanie programu nie powinno stanowić problemu. Pozostaje jeszcze kwestia generacji częstotliwości nośnej - jak pamiętamy, dioda w pilocie nie świeci ciągle, ale podczas nadawania miga z częstotliwością 38kHz. Warto więc wspomnieć, że nasz mikrokontroler posiada timery wyposażone w specjalny tryb działania, przeznaczony do generowania sygnału IR. Dokładniej rzecz biorąc, do takiej transmisji wykorzystywane są dwa timery: TIM17 i TIM16 Pierwszy, czyli TIM17 generuje częstotliwość nośną, w naszym przypadku 38kHz. Drugi timer, TIM16 odpowiada za modulację, czyli sterowanie przesyłanymi danymi. 2 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Nore21 Lipiec 2, 2021 Udostępnij Lipiec 2, 2021 Ze względu na kilka prywatnych tematów musiałem na trochę odłożyć eksperymentowanie, ale cały czas śledzę nowe odcinki kursu. Strasznie kusicie, bo każdy kolejny odcinek wydaje się ciekawszy. Nie ma innej opcji, w weekend wyciągam znów zestaw i wracam do nadrabiania zaległości. Kiedyś korzystałem z pilota na podczerwień w połączeniu z Arduino, ale miałem wtedy dużo problemów, bo ciężko było rozbudować program w taki sposób, aby transmisja nadal działała. Wygląda na to, że po prostu korzystałem ze słabej metody (no, ale miałem wtedy też troszkę mniejsze doświadczenie). Z chęcią poczytam jak to powinno być zrobione porządnie. Dzięki Elvis! 2 Link do komentarza Share on other sites More sharing options...
Pennsatucky Lipiec 11, 2021 Udostępnij Lipiec 11, 2021 Cześć, napotkałem pewien problem w trakcie przerabiania kursu, otóż dane odczytywane z odbiornika nie pokrywają mi się z oczekiwanymi długościami impulsów. Próbowałem podłączyć elementy z dokumentacji zamieszczinej przez was jednak nie przyniosło to oczekiwanego rezultatu ;( Czy macie może dla mnie jakąś poradę w tym względzie? Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 11, 2021 Udostępnij Lipiec 11, 2021 @Pennsatucky witam na forum 🙂 Nie masz zarejestrowanego zestawu do tego kursu, ale zakładam, że korzystasz z właściwych elementów. W takiej sytuacji proponowałbym sprawdzić (zgodnie z sugestią z kursu), czy poprawnie skonfigurowałeś zegary. Czy układ jest na pewno taktowany z 80 MHz, a licznik ma ustawione poprawny preskaler? Link do komentarza Share on other sites More sharing options...
Pennsatucky Lipiec 11, 2021 Udostępnij Lipiec 11, 2021 Tak zaiste tak, tak to już jest jak się pomyli słówk prescaler z period. Serdecznie dzięki, wstyd się przyznać do takiego błędu. Świetn kurs 😉 1 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Lipiec 11, 2021 Udostępnij Lipiec 11, 2021 @Pennsatucky nie ma problemu, cieszę się, że temat został szybko rozwiązany. Miło słyszeć, że kurs Ci się podoba 🙂 1 Link do komentarza Share on other sites More sharing options...
Gieneq Lipiec 12, 2021 Udostępnij Lipiec 12, 2021 Zachęcam do lektury kolejnej części kursu: Kurs STM32L4 – #17 – termometry DS18B20 (1-wire, UART) 1 Link do komentarza Share on other sites More sharing options...
padus Lipiec 29, 2021 Udostępnij Lipiec 29, 2021 Jak zwykle, kolejny ciekawy odcinek. Elvis napisał: Cytat Pozostaje jeszcze kwestia generacji częstotliwości nośnej ... dioda w pilocie ... miga z częstotliwością 38kHz ... nasz mikrokontroler posiada timery wyposażone w specjalny tryb ... wykorzystywane są TIM17 i TIM16 Bardzo cenna wskazówka, ale zastanawiam się nad trochę innym zagadnieniem. Załóżmy, że potrzebuję tor podczerwieni typu nadajnik 38kHz i odbiornik. Żadna modulacja nie jest mi potrzebna. Po prostu jeżeli nadajnik widzi odbiornik to na jego wyjściu jest zero logiczne. Jeżeli jakiś przedmiot zasłania odbiornik to na jego wyjściu jest jedynka logiczna. Do takiego nadawania mogę ustawić sprzętowy TIM w trybie PWM z odpowiednią częstotliwością. Wszystko wtedy powinno śmigać. Na podstawie poprzednich części kursu powinienem sobie poradzić. Zależy mi na odbiorniku takim jak w kursie ponieważ takie urządzenie jest dosyć odporne na różne zakłócenia. Ale teraz ten problem niestety jest bardziej złożony, otóż co zrobić jeżeli potrzebuję potrójny tor podczerwieni, tzn. niezależne 3 nadajniki i 3 odbiorniki umieszczone obok siebie. Taką po prostu potrójną kurtynę podczerwieni. Ze względu na oszczędność energii na raz może świecić tylko jeden tor, później drugi i na końcu trzeci. Oczywiście mogę zrobić generowanie sprzętowe nośnej na trzech TIM, ale czy nie da się jakoś prościej? Np. na jednym? Link do komentarza Share on other sites More sharing options...
padus Sierpień 1, 2021 Udostępnij Sierpień 1, 2021 Drążę temat, ale wcale nie jest to takie proste. Aby nie zaśmiecać tego forum założyłem osobny temat tutaj 1 Link do komentarza Share on other sites More sharing options...
MRXWaldek Styczeń 28, 2022 Udostępnij Styczeń 28, 2022 Witam, wszystko fajnie ale jak można by stworzyć na MCU "uczenie się" pilota? Załóżmy zrobiliśmy jakiś sterownik, zamknęliśmy szczelnie i wszystko fajnie działa, i pach jest wymagane kupno nowego pilota z jakiegoś powodu, np zgubienie zniszczenie zepsucie się poprzedniego a jak już wspomnieliscie nie każdy pilot będzie miał takie samy kody klawiszy, wiem że są piloty uniwersalne które się koduje ale jak to rozwiązać na MCU, by MCU się uczył pilota? Link do komentarza Share on other sites More sharing options...
Nakush Sierpień 30, 2022 Udostępnij Sierpień 30, 2022 Wkradł się drobny błąd. W części "Lampka RGB – WS2812B sterowane pilotem" na schemacie ideowym nie zaznaczono połączenia pinu !OE1 z masą 😉 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Sierpień 31, 2022 Udostępnij Sierpień 31, 2022 @Nakush gratuluję spostrzegawczości - dzięki za sygnał 🙂 Będzie poprawione! Aktualizacja: schemat został poprawiony. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »