Witam.
Parę lat temu zaprojektowałem i wykonałem tablicę wyników sportowych dla sali gimnastycznej. Sterowanie tablicy było wykonane za pomocą sterownika, który był połączony przewodem z tablicą. Dlaczego przewodem...? Do sterowania tablicy potrzeba aż 107 przycisków i nie miałem pomysłu, jak takie sterowanie wykonać drogą radiową. Po kilku latach postanowiłem wrócić do tematu i opracować sterowanie tablicy drogą radiową. Problem tkwi w ilości kanałów, jakie oferują gotowe rozwiązania, najczęściej jest to tylko kilka kanałów. Przeglądałem rozwiązania oparte na mikrokontrolerach, ale stabilność pracy, zakłócenia i potrzeba kodowania, a potem dekodowania sygnału (np. Manchester) zniechęciły mnie do takiego rozwiązania. Postanowiłem połączyć analogowe układy zdalnego sterowania z mikrokontrolerami. W projekcie wykorzystałem dość popularne i tanie układy zdalnego sterowania HT12E i HT12D. Układy te posiadają tylko 4 kanały sterowania, ale w połączeniu z mikrokontrolerem, można zwiększyć ilość kanałów do 14 na jeden układ. W moim projekcie muszę odpowiednio połączyć 8 tych układów. Doświadczenia przeprowadzałem na dwóch układach, co daje razem 28 kanałów, rozbudowa o kolejne kanały jest dość prosta.
Nadajnik
Nadajnik oparty jest na jednym układzie HT12E i jednym układzie Atmega8 dla 28 kanałów, ale dla 107 kanałów muszę zastosować Atmega32. Atmega8 posiada tylko 6 portów ADC, Atmega32 posiada 8, które zostaną wykorzystane do klawiatury ADC.
Piny od 1 do 8 układu HT12E odpowiadają za kodowanie wysyłanego sygnału. Na schemacie nadajnika widać, że wykorzystałem dwa piny 7 i 8. Za pomocą mikrokontrolera na te piny podaje odpowiednio stan 0 w zależności, który układ w odbiorniku ma odebrać sygnał. Klawiaturę oparłem na wbudowanym w mikrokontroler przetwornik ADC. Należy pamiętać przy pisaniu kodu mikrokontrolera dla większej ilości kanałów, że jedne wejścia ADC pracują jako 8-bitowe, a inne jako 10-bitowe. Kody mikrokontrolerów napisałem w Bascomie, które udostępniam jako materiał do analizy, wykorzystania czy rozbudowy. Nadajnik i odbiornik wg załączonych schematów zostały wykonane i przetestowane, działają prawidłowo.
Odbiornik:
W odbiorniku zastosowałem układ HT12D, tak jak wcześniej wspomniałem, układ ten obsługuje tylko 4 kanały. Wykorzystując kombinację zero jedynkową czterech kanałów mogę uzyskać 16 kombinacji. Same zera i same jedynki pomijamy i tak pozostaje nam 14 kanałów. Czyli na każde 14 kanałów potrzebujemy po jednym układzie HT12D i Atmega8. Docelowo będę musiał zbudować osiem takich układów 8 x 14 = 112. Piny odpowiedzialne za dekodowanie sygnału (od 1 do 8) układu HT12D odpowiednio połączone są na stałe z masą, by dostroić się do nadajnika.
Nadajnik:
Odbiornik:
Parę lat temu zaprojektowałem i wykonałem tablicę wyników sportowych dla sali gimnastycznej. Sterowanie tablicy było wykonane za pomocą sterownika, który był połączony przewodem z tablicą. Dlaczego przewodem...? Do sterowania tablicy potrzeba aż 107 przycisków i nie miałem pomysłu, jak takie sterowanie wykonać drogą radiową. Po kilku latach postanowiłem wrócić do tematu i opracować sterowanie tablicy drogą radiową. Problem tkwi w ilości kanałów, jakie oferują gotowe rozwiązania, najczęściej jest to tylko kilka kanałów. Przeglądałem rozwiązania oparte na mikrokontrolerach, ale stabilność pracy, zakłócenia i potrzeba kodowania, a potem dekodowania sygnału (np. Manchester) zniechęciły mnie do takiego rozwiązania. Postanowiłem połączyć analogowe układy zdalnego sterowania z mikrokontrolerami. W projekcie wykorzystałem dość popularne i tanie układy zdalnego sterowania HT12E i HT12D. Układy te posiadają tylko 4 kanały sterowania, ale w połączeniu z mikrokontrolerem, można zwiększyć ilość kanałów do 14 na jeden układ. W moim projekcie muszę odpowiednio połączyć 8 tych układów. Doświadczenia przeprowadzałem na dwóch układach, co daje razem 28 kanałów, rozbudowa o kolejne kanały jest dość prosta.
Nadajnik
Nadajnik oparty jest na jednym układzie HT12E i jednym układzie Atmega8 dla 28 kanałów, ale dla 107 kanałów muszę zastosować Atmega32. Atmega8 posiada tylko 6 portów ADC, Atmega32 posiada 8, które zostaną wykorzystane do klawiatury ADC.
Piny od 1 do 8 układu HT12E odpowiadają za kodowanie wysyłanego sygnału. Na schemacie nadajnika widać, że wykorzystałem dwa piny 7 i 8. Za pomocą mikrokontrolera na te piny podaje odpowiednio stan 0 w zależności, który układ w odbiorniku ma odebrać sygnał. Klawiaturę oparłem na wbudowanym w mikrokontroler przetwornik ADC. Należy pamiętać przy pisaniu kodu mikrokontrolera dla większej ilości kanałów, że jedne wejścia ADC pracują jako 8-bitowe, a inne jako 10-bitowe. Kody mikrokontrolerów napisałem w Bascomie, które udostępniam jako materiał do analizy, wykorzystania czy rozbudowy. Nadajnik i odbiornik wg załączonych schematów zostały wykonane i przetestowane, działają prawidłowo.
Odbiornik:
W odbiorniku zastosowałem układ HT12D, tak jak wcześniej wspomniałem, układ ten obsługuje tylko 4 kanały. Wykorzystując kombinację zero jedynkową czterech kanałów mogę uzyskać 16 kombinacji. Same zera i same jedynki pomijamy i tak pozostaje nam 14 kanałów. Czyli na każde 14 kanałów potrzebujemy po jednym układzie HT12D i Atmega8. Docelowo będę musiał zbudować osiem takich układów 8 x 14 = 112. Piny odpowiedzialne za dekodowanie sygnału (od 1 do 8) układu HT12D odpowiednio połączone są na stałe z masą, by dostroić się do nadajnika.
Nadajnik:
Kod: VB.net
Odbiornik:
Kod: VB.net
Fajne? Ranking DIY