Dzień dobry,
posiadam dokładnie taki zestaw nadajnika i odbiornika jak w tytule. Układ nadajnika jest dość zanieczyszczony od strony lutów i zastanawiam się czy on w ogóle działa. Zacząłem się zastanawiać jak to sprawdzić zanim zacznę pisać procedury komunikacji z wykorzystaniem kodowania.
Dwa pytania:
1. Czy jak do pinu ATAD nadajnika podłączę VCC (5V), to czy na pinie danych odbiornika powinienem mieć również poziom wysoki (5V) przy założeniu, że VCC odbiornika to też 5V?
2. Jeśli nie, to czy jest jakiś inny prosty sposób na sprawdzenie, czy moduły w ogóle działają?
Dodam tylko, że jak podłączę odbiornik do zasilania i mierzę napięcie multimetrem między pinem danych i GND to wartości skaczą od 0,7 V do 2,5 V. Zakładam, odbiornik działa i zbiera "śmieci". Jak dodatkowo podłączę również nadajnik i na pin ATAD wyrzucę sygnał z pinu TX modułu USART to na odbiorniku napięcie również oscyluje w tych granicach (górna granica sięga ok 3V). Niestety nie mam oscyloskopu, żeby sprawdzić przebieg. I od razu uprzedzę - wiem, że podpięcie TX do nadajnika i RX do odbiornika nie załatwi sprawy komunikacji. Dla celów dydaktycznych wykonałem jednak poniższy układ:
1. Najpierw połączenie przewodowe, żeby sprawdzić czy program działa
Pin TX ATTiny2313 podpięty do pinu RX ATMega328P. ATTiny2313 co 1 sekundę nadaje znak char = 't'. W momencie wysłania danych dioda podpięta na ATTiny zmienia swój stan na przeciwny. Czyli 1 s świeci, 1 s jest zgaszona itd.. ATMega328P po odebraniu znaku sprawdza, czy znak jest równy 't', jeśli tak to dioda podłączona do ATMega328P zmienia swój stan na przeciwny. Czyli przy poprawnej transmisji diody obu uC migają tak samo (1s świecą i 1s są zgaszone).
Przy połączeniu przewodowym wszystko działa poprawnie.
2. Czas na podłączenie modułów
Podłączyłem TX ATTiny2313 do nadajnika i RX ATMega328P do odbiornika żeby sprawdzić co się stanie przy identycznym programie. Spodziewałem się, że dioda uC z odbiornikiem nie mrugnie wcale. Ku mojemu zaskoczeniu co jakiś czas zmienia swój stan na przeciwny, czyli uC z odbiornikiem odbiera znak char = 't'. Zauważyłem jednak, że zmiany stanów nie są zsynchronizowane ze zmianami stanów na diodzie nadajnika. Postanowiłem więc całkowicie odłączyć nadajnik (wyjąłem go z płytki stykowej) i ..... dioda odbiornika nadal co jakiś czas zmienia swój stan - wniosek z tego taki, że zakłócenia co jakiś czas przybierają formę ramki przesyłającej znak 't'. Szczerze nie spodziewałem się tego. Żeby to potwierdzić, zmienię jeszcze programy, żeby nie był nadawany jeden znak ale jakiś ciąg np 10 znaków. Zobaczę, czy wtedy zakłócenia również będą w stanie ułożyć się w taki ciąg

Takie małe sprawozdanie z moich testów, może ktoś uzna to za ciekawe.