Spisu treści:

Komunikatory kodu sygnału (RFM69): 7 kroków (ze zdjęciami)
Komunikatory kodu sygnału (RFM69): 7 kroków (ze zdjęciami)

Wideo: Komunikatory kodu sygnału (RFM69): 7 kroków (ze zdjęciami)

Wideo: Komunikatory kodu sygnału (RFM69): 7 kroków (ze zdjęciami)
Wideo: Bezpieczne komunikatory, czyli zadbaj o prywatność w sieci 2024, Listopad
Anonim
Komunikatory sygnałowo-kodowe (RFM69)
Komunikatory sygnałowo-kodowe (RFM69)
Komunikatory sygnałowo-kodowe (RFM69)
Komunikatory sygnałowo-kodowe (RFM69)

Te „dwubitowe” (cyfrowe) komunikatory radiowe zapewniają środki do wzajemnego sygnalizowania sobie (gdzie się znajdują; jeśli to zrobiono…) podczas zakupów na przeciwległych końcach dużego sklepu; nawet tam, gdzie telefony komórkowe nie są naładowane ani nie są naładowane.

Stosowane są moduły radiowe RFM69 915MHz. Są to bardzo wydajne radiotelefony o niskim poborze mocy, wykorzystujące cyfrową komunikację pakietową. Mogą komunikować się na odległość ponad 100 metrów przy użyciu małej mocy, przy zaledwie 10 miliamperach i do 1/2 kilometra, a nawet 1/2 mili przy około 120 mA.

Moduły radiowe RFM69 są znacznie bardziej wydajne i skuteczne na większych odległościach niż NRF24L01 lub RFM12.

W celu uzyskania jeszcze bardziej niezawodnych połączeń na dłuższych dystansach, ten projekt może być również wykonany dla używanych modułów radiowych LoRa. Istnieje kilka urządzeń LoRa (takich jak RFM95), które mają podobny rozmiar i interfejs. Ale kosztują znacznie więcej, co było dla mnie nieuzasadnione.

Jednostki obsługują zestaw cyfrowych, 10-20 (lokalizacja?) kodów pytań i odpowiedzi (patrz wiki/Ten-code https://en.wikipedia.org/wiki/Ten-code); a także opcjonalny kod Morse'a. Jednostki nie obsługują komunikacji głosowej (analogowej).

Mogą być również używane jako pagery z 3 poziomami próśb o uwagę, gdy ktoś wraca do zdrowia lub pracuje pod domem.

Poza tym mogą być świetną zabawą, szczególnie dla dzieci lub studentów.

Krok 1: Zbierz komponenty

Ponieważ moduł radiowy nie może obsłużyć napięcia zasilania lub sygnału 5 V, należy użyć MCU 3,3 V. Zauważ też, że używam wersji 'H' o dużej mocy modułów radiowych.

Ta lista polega na zbudowaniu 2 jednostek.

  • szt. 2 Pro Mini 3.3v Arduino MCU
  • szt. 2 moduły RFM-69HCW 915MHz
  • szt. 2 Obudowa (miała być komora baterii)
  • szt. 2 akumulatory litowo-jonowe 3.7v 200+mah https://www.ebay.com/itm/311682151405 (7x20x30mm, ~Maksymalny rozmiar użytkowy 9x24x36mm)
  • szt. 4 diody LED dwukolorowe czerwono-zielone 5 mm ze wspólną katodą https://www.ebay.com/itm//112318970450 (ważne jest okablowanie i napięcie przebicia)
  • szt. 4 przyciski 6x6x7,5mm
  • szt. 2 aktywny brzęczyk piezo
  • szt. 2 rezystory każdy … 270 Olm, 1,5kOlm, ~5k
  • szt. 2 monolityczna czapka 0,1 uf

Opcjonalny

  • szt. 2 białe (lub niebieskie) diody LED 3 mm
  • szt. 2 gniazda gramofonowe 3,5 mm
  • szt. 2 kondensatory filtra mocy 220 uf
  • kij do lodów

Inne materiały, których możesz potrzebować

Drut 30ga stały https://www.ebay.com/itm/142255037176, 26ga drut stały lub 24ga linka, do uziemienia i +V

Drut 22ga stały, do anteny

Różne: materiały lutownicze, taśma, klej na gorąco, narzędzia do prototypowania.

Konwerter USB na TTL

Sprzęt opcjonalny:

Gniazdo stereo do podłączenia słuchawki, aby nie przegapić komunikacji przychodzącej. Można do niego podłączyć również przenośny wzmacniacz głośnikowy.

Mała (3 mm) biała dioda LED jest opcjonalna. Dodałem go, aby służył jako wskaźnik ON. Łatwo było dodać, gdy podłączyłem go przez Btn1, który otrzymuje trochę prądu sterującego z wewnętrznego rezystora (~ 37k). Przy tak małym napędzie ta dioda LED musi być bardzo wydajna. Można użyć zielonej lub niebieskiej diody LED, ale nie żółtej lub czerwonej, ponieważ ich spadek napięcia jest zbyt niski i sprawia wrażenie, że przycisk jest wciśnięty. Nie używałbym zielonego, ponieważ ten kolor jest w innym przypadku używany do sygnalizacji informacji.

Gniazdo gramofonowe można również pominąć. To urządzenie nie generuje dużo hałasu, ale jeśli obawiasz się, że przyciągniesz uwagę innych, to zapewnia możliwość korzystania z słuchawki. Alternatywnie skuteczny jest kawałek taśmy klejącej nad otworem dla dźwięku.

Aby wszystkie pomiary były łatwe i dokładne, bardzo podoba mi się ta niedroga suwmiarka.

Krok 2: Zbuduj podsystem radia MCU

Zbuduj podsystem radiowy MCU
Zbuduj podsystem radiowy MCU
Zbuduj podsystem radia MCU
Zbuduj podsystem radia MCU
Zbuduj podsystem radia MCU
Zbuduj podsystem radia MCU

Podłącz krótkie przewody do pinów MCU: 10, 11, 12, 13; średniej długości przewód do pin2.

Dodaj długie (4-5 cali) styki we/wy MCU, które mają być używane (styki: 3-9). Użyłem miernika 30 AWG i różnych kolorów dla typów peryferyjnych. Ten przewód o małej średnicy jest w stanie obsłużyć sygnały mniejsze niż 100 miliamperów, ale jest wystarczająco mały i wystarczająco giętki (i wysoce zalecany), aby ułatwić ciasny montaż.

Podłącz też masę i przewody Vcc (użyłem 26ga, na zdjęciach są niebieskie). Drut ten przenosi większy prąd, więc użyj dużego miernika, aby zmniejszyć spadek napięcia (i potencjalne promieniowanie sygnału szumu).

Połącz MCU z płytą RFM-69. Idą do niego wszystkie oprócz długich przewodów.

Złóż płytę radiową na płycie MCU. Między deskami nie powinno być szortów. Jeśli wydaje się, że istnieje realny potencjał krótkiego, należy użyć kawałka taśmy lub plastikowego arkusza.

Dodaj przewód antenowy (22-24ga. 80mm) do płyty radia, jak widać na zdjęciu.

Krok 3: Testowanie rozwoju

Testowanie rozwoju
Testowanie rozwoju
Testowanie rozwoju
Testowanie rozwoju

W przypadku implementacji tych jednostek możesz pominąć tę sekcję. Dla zainteresowanych to daje trochę więcej informacji o tym, jak się tam dostałem.

¼ długości fali dla 915 MHz to 82 mm. Samouczek Sparkfun.com sugeruje użycie 78 mm. Rozumiem, że technika antenowa mówi, że gdy antena znajduje się w odległości ½ długości fali od ziemi, antena będzie zachowywać się tak, jakby była o ~ 5% dłuższa niż jest. Jeśli chodzi o 915Mhz to byłoby mniej niż stopa i normalnie obsługujesz tę jednostkę znacznie wyżej od ziemi niż to, odrzucam tę długość 78mm. Istnieją jednak inne czynniki, które mogą powodować podobne efekty, uznając za mądre użycie mniej niż dokładnie ¼ długości fali. Poszedłem na kompromis i przeciąłem przewody antenowe do 80 mm (łącznie z sekcją przechodzącą przez płytkę drukowaną). Przy odpowiednim sprzęcie testowym można lepiej zoptymalizować długość anteny dla swojego urządzenia, ale spodziewałbym się tylko niewielkich ulepszeń.

Po korektach uzyskałem maksymalny zasięg około 250m z kilkoma przeszkodami. Poza powiedzmy 150 m orientacja i pozycja anteny stawały się coraz ważniejsze.

Kiedy użyłem pełnej konfiguracji anteny typu dipol (pionowy aktywny element 80 mm naprzeciwko skierowanego w dół elementu przewodu uziemiającego 80 mm) dla jednej jednostki, którą otrzymałem, z pozycjonowaniem metodą prób i błędów, do 400 metrów z kilkoma drzewami i domem pomiędzy, oraz stały dwukierunkowy komunikator w ½ tej odległości, niezależnie od pozycji lub orientacji jednostek zdalnych.

Krok 4: Przygotuj Project Box

Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu
Przygotuj skrzynkę projektu

Konstrukcja tego projektu przy użyciu małego pudełka jest dość trudna. Mam doświadczenie w budowaniu wielu niestandardowych elektronicznych gadżetów do projektów domowych, przemysłowych i lotniczych. Początkujący mogą raczej skorzystać z większego pojemnika, co znacznie ułatwia budowę. W końcu szukamy przyjemności, a nie frustracji. BTW, możesz zauważyć drobne różnice na zdjęciach jednostek, które zbudowałem.

Oczyść większość wnętrza pudełka. Za pomocą dłuta lub noża X-acto odetnij dwa żebra po prawej i jedno po lewej stronie. (patrz zdjęcie wnętrza pudełka przed i po)

Podgrzej koniec X-acto lub noża do obierania (przez ~15 sekund za pomocą zapalniczki) i odetnij jeden duży słupek wewnątrz obudowy, a pozostałe dwa obniż do około 1/8 cala. Po zamontowaniu przełącznika stopiłem te dwa słupki na tyle, aby utrzymać przełącznik na miejscu.

Użyłem taśmy maskującej na pudełku, aby zaznaczyć lokalizację otworów. Zobacz zdjęcia powyżej.

Aby wiercenie otworów pozostało na miejscu, najpierw zaznaczyłem punkty strzałką, następnie wywierciłem wszystkie miejsca wiertłem 1/16, a na koniec wywierciłem każdy otwór do pożądanego rozmiaru.

Wywierć otwory na przyciski, audio i diody LED w obudowie. Dwa otwory na główne diody LED na górze mają 13/64” (5 mm) i 10 mm od krawędzi. Otwory na dźwięk (bip-brzęczyk) i opcjonalną diodę „On” mają 1/8” (3mm). Są 10mm od góry. Mała dioda led ma 7mm z boku. Otwór audio jest wyśrodkowany z boku na bok. Otwory na przyciski z boku mają 9/16” (3,5 mm). Jeden guzik 10mm od góry, drugi 20mm. Ręcznie sfazowałem wnętrze otworów na guziki wiertłem 1/4”, aby upewnić się, że przyciski nie utkną po naciśnięciu.

Jeśli używasz gniazda phono dla zewnętrznych słuchawek lub głośnika, musisz otworzyć istniejący wcześniej otwór na dole na 15/64”. Materiał tutaj jest dość gruby i zwykłe wywiercenie go spowodowałoby powstanie otworu zbyt blisko krawędzi. Tak więc najpierw wywierć otwór 1/16, którego środek znajduje się około 16 cala od krawędzi istniejącego otworu. Następnie powiększ ten otwór za pomocą wiertła 7/16”. Ostrym, małym ostrzem (~Xacto) odetnij materiał tak, aby dwa sąsiadujące otwory były mniej więcej jednym. Użyj spiralnego tarnika Dremel lub pilnika ze szczurzym ogonem, aby otwory utworzyły dobrze okrągły otwór, w który wiertło z łatwością się wycentruje. W tym miejscu otwór powinien mieć prawie 15/64. (W tym miejscu jest zdjęcie otworu) Teraz wywierć go wiertłem 15/64”. Nie byłoby to „straszne”, jeśli użyjesz ¼ bitu.

Krok 5: Podłączanie peryferyjnych komponentów we/wy

Podłączanie peryferyjnych komponentów we/wy
Podłączanie peryferyjnych komponentów we/wy
Podłączanie peryferyjnych komponentów we/wy
Podłączanie peryferyjnych komponentów we/wy
Podłączanie peryferyjnych komponentów we/wy
Podłączanie peryferyjnych komponentów we/wy

Upewnij się, że podczas lutowania wewnątrz obudowy nie przypadkowo dotkniesz żadnej części żelazka, a tym samym nie stopisz części pudełka, szczególnie wzdłuż jego zewnętrznej krawędzi.

Przyciski

Przypnij guziki niewielką ilością kleju podczas ich pozycjonowania. Gorący klej jest w porządku, cienki klej (jak super klej) może dostać się do przycisku, uniemożliwiając jego działanie. Zwróć uwagę, że usunąłem jedną nogę do każdego z przycisków (zbędnych, do których się nie podłączałem); wygiął je, żeby nie wystawały za bardzo; i połączyłem dwa dolne piny między przyciskami. Przyciski są umieszczone tak, że wewnętrznie połączone nogi są poziomo naprzeciw siebie.

Zagnij przewody 3mm diody „włącz/wyłącz” tak, aby można ją było podłączyć przez Btn1, katodą skierowaną do strony uziemienia. To chyba najtrudniejszy problem z montażem.

Zaznacz bok diod LED obok czerwonej anody. Wytnij dwie anody (na zewnątrz) na około ¼ cala. zorientuj je zaznaczonym (czerwonym) ołowiem do góry. Pozostaw środkowy przewód długi, są one później wygięte, aby połączyć się z uziemioną stroną przycisków. Zobacz zdjęcia.

Dołącz oporniki.

Nie używaj po prostu rezystorów wartości, które zrobiłem dla diod LED. Kupiłem swoje diody LED ponad lata temu, a nie dokładnie te wymienione powyżej. Ponieważ wydajność diod LED jest bardzo zróżnicowana, przetestuj wartości rezystora do użytku z diodami LED w dłoni. Wybierz rezystory o pożądanej jasności przy napięciu zasilania od 3 do 3,3 V (preferowane 3,2 V). Do testowego napięcia zasilania można użyć dwóch baterii 1,5 V połączonych szeregowo lub wysokiego cyfrowego wyjścia z układu Arduino zasilanego 3,3 V. Upewnij się, że podczas jazdy zarówno czerwonym, jak i zielonym elementem uzyskujesz dobry, prawdziwy żółty. Przytnij i przylutuj rezystory do diod LED podobnie jak na zdjęciach.

Na jednej jednostce użyłem patyka Popsicle jako przekładki wokół dwóch głównych diod LED, aby tak bardzo nie wystawały. To jest ściśle osobiste preferencje. Ma to negatywny efekt uboczny polegający na zmniejszeniu efektywnej jasności/kąta widzenia tych diod LED.

Nałóż trochę kleju wzdłuż zewnętrznej krawędzi brzęczyka i przyklej go między głównymi diodami LED (+ po prawej). Dostosuj jego pozycję tak, aby pokrywała się z otworem w etui, zanim zostanie zamocowana.

Włącznik/wyłącznik jest utrzymywany na miejscu przez stopienie słupków otworów montażowych. Użyłem do tego podgrzewanej końcówki do małego śrubokręta.

Nakrętka gniazda gramofonowego nie pasuje, więc użyj gorącego kleju na przeciwległym końcu, aby ją zabezpieczyć.

Podłącz uziemienie wzdłuż przycisków i diod LED.

Przygotuj wkład plus i minus (~24ga. Solid) młotkując przycięte końce tak, aby były dwa razy szersze niż grube. Ich końce powinny następnie łatwo wejść do złącza akumulatora, ale dobrze przylegać. Oczywiście, jeśli masz lub możesz znaleźć kabel połączeniowy przeznaczony do współpracy z baterią, użyj go.

Podłącz włącznik/wyłącznik, gniazdo phono, brzęczyk i przewody zasilające. Zapoznaj się z wcześniejszym schematem połączeń.

Mam mały kondensator na połączeniach gramofonowych. Można to pominąć, ponieważ jest dość ciasno dopasowany. Jego celem jest zapobieganie niskim poziomom przydźwięków na wyjściu.

Po całkowitym okablowaniu i przylutowaniu przycisków (a także włącznika/wyłącznika i gniazda gramofonowego), przyklej je na gorąco, aby nie drgnęły nawet po intensywnym użytkowaniu.

Krok 6: Ostateczny kompletny montaż

Ostateczny kompletny montaż
Ostateczny kompletny montaż
Ostateczny kompletny montaż
Ostateczny kompletny montaż
Ostateczny kompletny montaż
Ostateczny kompletny montaż

Czas podłączyć podsystem radiowy MCU do obudowy z urządzeniami I/O.

Podłącz podsystem MCU-Radio.

Przytnij przewody zgodnie z potrzebami, pozostawiając w nich wystarczający luz, aby zespół podsystemu mógł być na tyle daleko, aby umożliwić lutowanie pozostałych końców przewodów.

Pamiętaj, aby podłączyć przewody do głównej diody LED do właściwych czerwonych/zielonych, a zwłaszcza uzyskać poprawną relację lewo/prawo. Diody LED są odwrócone od lewej do prawej, gdy zaglądasz do wnętrza obudowy, aby dowiedzieć się, jak trzymasz i używasz komunikatora. (chyba że zamierzasz używać jednostek z przeciwną stroną skierowaną do ciebie, jak może to zrobić osoba leworęczna).

Przenieś podsystem MCU-Radio na miejsce i wciśnij go, składając przewody w razie potrzeby, do obudowy; sprawdzanie, czy nie ma żadnych spodenek. W razie potrzeby umieść pod nim kawałek taśmy elektrycznej.

Możesz przeprogramować to urządzenie po złożeniu, jak pokazano w następnej sekcji, z tymczasowo podłączonym FDDI za pomocą krótkiego kabla. Upewnij się, że poziom Vcc z kabla USB do pobierania wynosi 3,3 V, a nie 5 V!

Podłącz baterię, wsuń z powrotem i przetestuj, biorąc pod uwagę, że już pobrałeś do niej oprogramowanie. Uważaj, aby bateria nie naciskała przycisku resetowania na płycie MCU.

BTW, bateria 300 mAh powinna wystarczyć na około 12 godzin pracy, zanim będzie trzeba ją naładować.

Krok 7: Funkcje i działanie oprogramowania i urządzenia

Funkcje i działanie oprogramowania i urządzenia
Funkcje i działanie oprogramowania i urządzenia
Funkcje i działanie oprogramowania i urządzenia
Funkcje i działanie oprogramowania i urządzenia

Drugą ważną częścią tego projektu, od której zależy jego działanie, jest oprogramowanie. Ale wypracowałem to wszystko, więc nie musisz.

Instrukcje dotyczące pobierania szkicu do Arduino Pro mini można łatwo znaleźć w innym miejscu. Ustaw swoje Arduino IDE na prawidłowe urządzenie i częstotliwość roboczą, w przeciwnym razie uzyskasz zły dźwięk i być może niewłaściwe zachowanie. Upewnij się, że używasz konwertera USB-TTL z napięciem 3,3 V (nie 5 V). Samo urządzenie powinno być wyłączone. Widać, że umieściłem końcówkę pod kątem prostym na końcu kabla do pobierania, a następnie włożyłem go do odpowiednich otworów na płycie MCU i zawiesiłem na nim urządzenie, zachowując wystarczająco dobre, ale tymczasowe połączenie.

Musisz także zainstalować bibliotekę dla RMF69; patrz „Instalowanie biblioteki RFM69” na dole tej strony.

Edytuj odpowiednio (patrz segment kodu poniżej), skompiluj i pobierz załączony szkic Two_bit_Comm.

// !!!! Adresy dla tego węzła. ODWRÓĆ ID DLA DRUGIEGO WĘZŁA !!!!

#define MYNODEID 1 // ID mojego węzła (0 do 255) #define TONODEID 2 // ID węzła docelowego (0 do 254, 255 = rozgłaszanie)

Oprogramowanie korzysta z wersji modułów radiowych o dużej mocy 'H', używając początkowo średniej mocy, a następnie nie może uzyskać potwierdzenia, że próbuje z maksymalną mocą. Nie wiem, ale spodziewałbym się, że ta operacja nie będzie stanowić problemu, jeśli użyje się radia w wersji o mniejszej mocy.

Dokumentacja operacyjna

Inicjalizacja po włączeniu:

Po ponownym uruchomieniu jednostki inicjuje cały sprzęt i oprogramowanie oraz wysyła ustawienia trybu i opcji do drugiej jednostki, utrzymując je w synchronizacji. Rozbrzmiewa pojedynczy krótki sygnał dźwiękowy, a następnie, jeśli ta wstępna komunikacja się powiedzie, rozlegnie się kolejny sygnał dźwiękowy i zapali się zielone światło. Jeśli w tym momencie komunikacja nie powiedzie się, nie słychać drugiego sygnału dźwiękowego i zapala się czerwona lampka. Jeśli komunikacja nie powiedzie się, prawdopodobnie druga jednostka jest poza zasięgiem, jest wyłączona lub rozładowana. Podejmowane są wielokrotne próby i zwiększenie maksymalnej mocy transmisji, zanim błąd zostanie zaakceptowany.

Tryb 1 – 10-20 Typ Comm

  • Dzień dobry
  • Potrzebuję pomocy
  • WSPARCIE!
  • Gotowe ? Gotowy do wyjścia ?
  • Gdzie jesteś ?
  • Zadzwoń.
  • Proszę powtórzyć

Zdefiniowano również odpowiednie konwencje odpowiedzi. W tym odpowiedzi „Typ obszaru” i „Typ sekcji” na „Gdzie jesteś?” upraszanie.

Należy pamiętać, że należy uzbroić się w cierpliwość, gdy urządzenie wyświetla odpowiedź, ponieważ naciśnięcia przycisków w tym czasie będą ignorowane.

Tryb 2 – pozwala na komunikację alfabetem Morse'a

Obsługiwane są zarówno style jednoklawiszowe, jak i dwuklawiszowe.

Załączony dokument "Two_bit_Comm_user_Manual" zawiera pełne szczegóły działania funkcjonalnego obsługiwanego przez oprogramowanie.

Zalecana: