Jest to mój pierwszy post na tym forum także chciałbym wszystkich bardzo serdecznie przywitać - WITAJCIE!
Na wstępie chciałbym również podziękować autorowi tych dwóch wspaniałych książek za bardzo przejrzystą i genialnie opisaną pracę. Bez teoretycznego wsparcia Pana Mirka większość moich dotychczasowych projektów nadal byłaby daleko w polu.
Przechodząc do rzeczy.

Po zakupie książki "Język C Pasja Programowania Mikrokontrolerów 8 bitowych" od razu rzucił mi się w oczy rozdział o bezprzewodowych modułach RFM70. Z faktu, że w szufladzie od jakiegoś czasu gnieździłem klony owych układów o nazwie RF-2400P marki Inhaos - (
http://www.inhaos.com/product_info.php?products_id=35 ) oparte na tym samym chipie firmy Beken BK2421 od razu zabrałem się do roboty. Nie zdziwiło mnie, że są problemy z komunikacją i niestrudzenie zabrałem się za debugowanie i poszukiwanie błędów.
Jednakze po trzech dniach zmagań i niezliczonej ilości rzuconego mięsa w kierunku owych układów skapitulowałem i postanowiłem zapytać o porade na tym forum. Niejestem typem osoby, która z każdym głupstwem leci na forum i wypytuje co i jak, wole sam wyszukać rozwiązenie i dopiero w ostateczności pytać.
Dotarłem do ostateczności więc postanowiłem wnikliwie przedstawić co popełniłem i jak wygląda mój prosty projekt:
Bezprzewodowe moduły zostały podłączone do dwóch uC ATmega8L pracujących na napięciu 3.3V (stabilizowane poprzez LD33V) i taktowane wewnętrznym oscylatorem 8MHz. Do układu odbiorczego dołączony jest wyświetlacz LCD (HD44780) oraz moduł RF. Do układu nadawczego tylko moduł RF. Oto schemat połączeń:

W poniższym pdfie przedstawiony jest schemat połączeń w lepszej rozdzielczości niż na obrazku:
http://www.sendspace.pl/file/f4767271ba36218cb82742fW układzie nadawczym po inicjalizacji portów, Timera oraz modułu RF na "dzień dobry" miga dioda a następnie pewna zmienna wysyłana jest do drugiego układu za pomocą funkcji umieszczonych w bibliotece stworzonej przez Pana Mirka.
W układzie odbiorczym sprawa wygląda podobnie czyli inicjalizacja i przywitanie napisem "Hello World" na wyświetlaczu, wywołuję funkcję odbierającą pakiety i czekam. Teoretycznie po odebraniu wiadomości przez moduł RF wyświetlacz powinien się wyczyścić i wypisać przesłaną wiadomość. Niestety tak się nie dzieje. W zasadzie to nic się nie dzieje. Mikrokontroler zachowuje się tak jakby nic nie otrzymywał. Dodam jeszcze, że zmierzyłem amperomierzem pobór prądu przez te małe moduły, zdziwiło mnie że max pobór to około 13uA czyli z teg wynika, że one w ogóle nie pracują. Poniżej dodaje listingi obu programów:
Listing nadajnika:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Listing odbiornika:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Powiem jeszcze troche o modułach RF2400 i dlaczego się nie różnią od tych marki HopeRF - RFM70.
I w jednych i w drugich znajduje sie chip BK2421. Wyprowadzenia, rejestry, Banki konfiguracyjne i sposób ich programowania z tego co wyczytałem jest taki sam. Identyczne napięcia, prędkośc przesyłu, ilość DataPipes. Wszystko to samo więc zakładam, że są to klony produkowane przez dwie różne firmy pod dwoma innymi nazwami. Można je znaleźć na ebay'u w dość atrakcyjnej cenie (
http://www.ebay.com/itm/PK1-RF-2410U-RF-2400x5-2-4G-RF-Module-Kit-/320723237064?pt=LH_DefaultDomain_0&hash=item4aac9838c8 ) ale nie o tym chce tu pisać.
Dodatkowo podczas przeszukiwania internetu w celu potencjalnych rozwiązań opisanego wyżej problemu, natknąłem się na strony z zamieszczonymi bibliotekami i ciekawymi projektami opartymi na modułach o tym samym chipsecie, podaje linki może komuś się kiedyś przydadzą:
http://maniacbug.wordpress.com/2011/03/19/2-4ghz-rf-radio-transceivers-and-library-8/ http://maniacbug.wordpress.com/2012/03/30/rf24network/ - sieć zbudowana z układów RF
http://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/http://maniacbug.wordpress.com/2011/10/19/sensor-node/ - bardzo ciekawy projekt bezprzewodowego węzła Low-Power
Biblioteka autora powyższych projektów:
https://github.com/maniacbug/RF24 http://maniacbug.github.com/RF24/classRF24.htmlInna biblioteka:
http://www.voti.nl/rfm70/doc-cpp/html/index.htmlDatasheet mojego modułu RF2400P + pliki do zastosowania w AVR:
http://www.inhaos.com/uploadfile/otherpic/DS-RF2400-V11-EN.pdfhttp://www.inhaos.com/uploadfile/otherpic/RF-2400%20Reference%20code%20-%20AVR.rarhttp://www.inhaos.com/uploadfile/otherpic/RF-2400-Release-V10-20110601-EN.rarTo już koniec moich wypocin, z góry przepraszam z tak rozległy post, chciałem wszystko Wam ładnie przedstwić.
A teraz błagam Was drodzy forumowicze o pomoc. Ślęcze już nad tym trzeci dzień i tylko dostaje frustracji.
Czy ktoś, wie dalczego to nie działa i chciałby mi pomóc?
Pozdrawiam Wszystkich serdecznie, Tomek
