Schemat blokowy projektu został pokazany na rysunku 1.
Nadajnik
Nadajnik składa się z Arduino Nano (Board1), modułu Yoda (YM1), adaptera Yoda (YA1), dwóch rezystorów (R1 i R2) oraz dwóch przełączników on/off (S1 i S2), jak pokazano na rysunku 2.
Moduł Yoda (YM1) pełni funkcję modułu RF koordynatora Zigbee. Do podłączenia modułu do Arduino potrzebny jest adapter. Moduł Yoda zamontowany na adapterze pokazany jest na rysunku 3.
Układ nadajnika (pokazany na rysunku 2) połączony z płytką drukowaną jest pokazany na rysunku 4. Podłącz jeden koniec kabla micro USB do płytki Arduino Nano, a drugi do komputera PC/laptopa, aby włączyć układ nadajnika i wgrać kod Arduino.
Przed użyciem układu nadajnika, musisz zaprogramować Arduino Nano kodem Arduino (remote_tx.ino) i skonfigurować moduł Yoda, jak wyjaśniono później.
Użycie modułu Yoda i adaptera jest wyjaśnione w ich instrukcji. Konfiguracje oprogramowania są wyjaśnione w dokumencie Yoda Command Set. Oba te dokumenty można znaleźć do pobrania na końcu artykułu.
Odbiornik
Odbiornik jest zbudowany z Arduino Nano (Board2), modułu Yoda (YM2), adaptera Yoda (YA2), 2-kanałowego modułu przekaźnikowego (RM1) i zasilacza 5 V DC. W tym przypadku moduł Yoda pełni rolę modułu węzła końcowego. Układ odbiornika (pokazany na rysunku 5) połączony na płytce drukowanej pokazany jest na rysunku 6.
Ponieważ płytka Arduino Nano (Board2) nie jest w stanie dostarczyć wystarczającego prądu do wysterowania przekaźnika, do zasilania modułu/płytki przekaźnikowej (RM1) użyto zasilacza 5 V DC. Aby użyć zasilacza 5 V DC w układzie, możesz użyć gniazda DC jack, jak pokazano na fotografii 7(a), lub gniazda DC z podwójnym przewodem, jak pokazano na fotografii 7(b).
Aby użyć gniazda DC w breadboardzie, przylutuj dwa przewody jak pokazano na fotografii 8.
Do ujemnego zacisku gniazda DC można przylutować czarny przewód Duponta (męsko-męski) w celu podłączenia do płytki drukowanej oraz czerwony przewód Duponta w celu podłączenia do płytki przekaźnikowej.
Podłącz jeden koniec kabla micro USB do płytki Arduino Nano (Board2), a drugi do komputera PC/laptopa, aby włączyć obwód odbiornika i wgrać kod Arduino (relay_rx.ino). Możesz również podłączyć zasilacz 5 V, 1,5 A DC do zasilania przekaźnika i Arduino (Board2).
Konfiguracja modułu Yoda
Płytki Arduino Nano (Board1 i Board2) nie są wymagane na etapie wstępnej konfiguracji zarówno dla układu nadajnika (YM1), jak i odbiornika (YM2). Podłącz moduł Yoda z adapterem jak pokazano na rysunku 3 zarówno dla nadajnika jak i odbiornika.
Potrzebne jest oprogramowanie do komunikacji szeregowej takie jak Docklight w komputerze z systemem Windows. Docklight jest narzędziem do testowania, analizy i symulacji protokołów komunikacji szeregowej. Jest to w zasadzie narzędzie terminala szeregowego, takie jak TeraTerm i RealTerm. Możesz pobrać Docklight.
Aby podłączyć adapter Yoda do komputera, najpierw musisz zainstalować sterownik USB MCP2221 (konwerter protokołu USB 2.0 na UART) w komputerze. Najnowszy sterownik dla MCP2200/MCP2221 można pobrać ze strony producenta. Kliknij na opcję Dokumenty, aby pobrać dokładny sterownik.
Zarówno YM1 jak i YM2 muszą być poprawnie skonfigurowane w Docklight, aby rozpocząć komunikację pomiędzy dwoma modułami. Każdy moduł Yoda (YM1 i YM2) powinien być skonfigurowany ze wspólnymi wartościami kanału i PAN ID, aby współdziałać/komunikować się pomiędzy dwoma lub więcej modułami Yoda. Dokument Yoda Command Set opisuje konfiguracje oprogramowania modułu Yoda oraz strukturę pakietów do wysyłania danych z jednego modułu Yoda do drugiego.
Możesz przetestować oba obwody za pomocą komputera, podłączając YA1 do portu USB, a YA2 do innego portu USB tego samego laptopa/komputera PC.
Procedury konfiguracyjne
Wykonaj poniższe kroki, aby skonfigurować moduł Yoda:
- Zainstaluj wersję ewaluacyjną Docklight v2.3 w swoim komputerze PC/laptopie. Otwórz Docklight i kliknij OK w oknie Docklight License Registration. Sprawdź instrukcję Yoda Zigbee Adaptor, aby uzyskać wskazówki krok po kroku dotyczące konfiguracji sprzętu.
- Zainstaluj sterownik MCP2200/MCP2221 w swoim systemie.
- Podłącz moduł Yoda z adapterem, jak pokazano na rysunku 3. Następnie podłącz płytkę adaptera Yoda do komputera PC/laptopa za pomocą kabla micro USB. Aby sprawdzić komunikację pomiędzy komputerem a modułem Yoda, najpierw wyślij komendę 'Dump Connection'. Jeśli otrzymasz odpowiedź z modułu Yoda (YM1), połączenie PC z modułem Yoda jest sprawne. Możesz teraz przetestować pozostałe komendy konfiguracyjne, jak opisano poniżej.
- Podłącz odbiornik YM2 do komputera. Wybierz właściwy port COM w Docklight dla YA1 i YA2.
- Skonfiguruj kanał i PAN-ID w obu modułach Yoda (YM1 i YM2) za pomocą polecenia Write, odwołując się do dokumentu Yoda Command Set. (Podczas testów użyto PAN-ID jako 0001 i Channel jako 11 zarówno dla nadajnika jak i odbiornika).
- Wykonaj polecenie Read w celu potwierdzenia konfiguracji.
- Zrestartuj/resetuj oba obwody modułu Yoda.
- Z komputera otwórz Docklight dla YM1, a następnie otwórz nowe okno Docklight dla YM2.
- Sprawdź komunikację między modułami wysyłając przykładową komendę danych np. 4D 08 FF FF FF FF 08 01 02. Jeśli YM1 odbiera dane z YM2 i odwrotnie, urządzenia te są gotowe do użycia w sterowaniu urządzeniami.
W tym projekcie, dwie płytki Arduino Nano zostały połączone z modułami Yoda w celu sterowania dwoma urządzeniami elektrycznymi. Dwa przełączniki (S1 i S2) są podłączone do cyfrowych pinów D3 i D4 płytki Arduino Board1 w nadajniku, aby kontrolować dwa obciążenia elektryczne w odbiorniku.
Oprogramowanie
Oprogramowanie dla Arduino Nano jest napisane w języku programowania Arduino, który zapewnia komunikację szeregową poprzez UART, SPI i I2C. Arduino IDE służy do kompilacji i wgrywania plików na płytki Arduino (Board1 i Board2).
Aby wgrać kod nadajnika do Arduino Nano (Board1):
- Otwórz Arduino IDE
- Skopiuj i wklej kod nadajnika 'Remote_Tx.ino' w Arduino IDE
- Usuń przewody UART (jeśli są już podłączone na pinach Rx i Tx) z Arduino Nano (Board1)
- Skompiluj kod i wgraj go do Arduino Nano Board1
- Podłącz z powrotem przewody Yoda UART do Arduino Nano Board1
Aby wgrać kod odbiornika do Arduino Nano (Board2) wykonaj poniższe kroki:
- Otwórz Arduino IDE
- Skopiuj i wklej kod odbiornika 'Relay_Rx.ino' w Arduino IDE
- Usuń przewody UART (jeśli są już podłączone na pinach Rx i Tx) z Board2
- Skompiluj kod i załaduj go do Arduino Nano Board2
- Podłącz z powrotem przewody Yoda UART do Arduino Nano Board2
Testowanie
W pierwszej kolejności włącz obwód nadajnika, ponieważ koordynator Yoda (YM1) jest odpowiedzialny za uruchomienie sieci komunikacyjnej Zigbee. Następnie włącz obwód odbiornika i odczekaj pięć sekund, jak zdefiniowano w kodzie odbiornika. Naciśnij przycisk (S1 lub S2) w obwodzie nadajnika, aby sterować odpowiednim przekaźnikiem w obwodzie odbiornika. Piny cyfrowe D3 i D4 płytki Arduino Board2 są połączone z modułem przekaźnika (RM1) w celu włączania/wyłączania urządzeń.
Jeśli po naciśnięciu przełącznika S1 przekaźnik 1 w RM1 zostanie zasilony, oznacza to, że urządzenie elektryczne, np. żarówka, podłączone do jego styków zostanie włączone. Podobnie, można sterować przekaźnikiem 2 i podłączonym do niego urządzeniem, np. wentylatorem, naciskając przełącznik S2 od strony nadajnika.
Zasięg bezprzewodowy pomiędzy nadajnikiem a odbiornikiem zależy od użytych modułów Yoda, który w tym przypadku wynosił około 600 metrów w linii prostej.