Moduły zdalnego sterowania do Raspberry Pi

Moduły zdalnego sterowania do Raspberry Pi

Zaprezentowane moduły umożliwiają zarządzanie pracą urządzeń elektrycznych zasilanych napięciem sieciowym 230 V AC. Moduł nadawczy, podłączony do komputerka Raspberry Pi, nadaje sygnał radiowy w paśmie 433 MHz. Moduł odbiorczy jest wyposażony w kompatybilny odbiornik sygnału radiowego oraz elementy pozwalające sterować zasilaniem innego urządzenia. Jeśli dodatkowo Raspberry Pi wyposażymy w mikrofon USB, możliwe jest głosowe sterowanie pracą np. lampy biurkowej, radiem czy wentylatorem.

Podstawowe parametry:
  • jeden moduł nadawczy umożliwia zdalne sterowanie czterema modułami odbiorczymi,
  • nadajnik i odbiornik komunikują się w paśmie radiowym 433 MHz,
  • przeznaczone do współpracy z komputerkiem Raspberry Pi,
  • umożliwiają sterowanie dołączonymi urządzeniami poprzez komendy głosowe,
  • zasilanie modułu nadawczego: 3,3 V, zasilanie modułu odbiorczego oraz dołączonego urządzenia: 230 V AC.

Moduł nadawczy

Schemat ideowy modułu nadawczego ZW-M1 został pokazany na rysunku 1. Złącze J1 służy do podłączenia napięcia zasilania o wartości 3,3 V, które jest filtrowane przez kondensatory C1 oraz C2. Do tego samego złącza należy podłączyć 4 sygnały sterujące, które trafiają do wejść scalonego enkodera U1 typu HT12E. Za pomocą 8-sekcyjnego przełącznika S1 ustawiany jest adres w enkoderze. Dzięki temu na sygnał enkodera będą reagowały tylko odbiorniki z ustawionym takim samym adresem. Rezystor R1 ustala częstotliwość pracy wbudowanego oscylatora.

Rysunek 1. Schemat ideowy modułu nadawczego

Element oznaczony jako MOD1 to gotowy moduł radiowy nadajnika na pasmo 433 MHz, który zamienia sygnał dochodzący z enkodera na fale radiowe. Jeden moduł nadawczy umożliwia zdalne sterowanie czterema modułami odbiorczymi. Schemat płytki drukowanej modułu nadawczego został pokazany na rysunku 2.

Rysunek 2. Schemat płytki PCB modułu nadawczego

Montaż nie jest skomplikowany i nie wymaga szczegółowego opisu, po zmontowaniu wygląda, jak na fotografii 1.

Fotografia 1. Wygląd płytki drukowanej modułu nadawczego

Moduł odbiorczy

Schemat ideowy modułu odbiorczego ZW-M2 został pokazany na rysunku 3. Do złącza J1 należy podłączyć napięcie sieciowe 230 V AC, które przez bezpiecznik F1 trafia na wejście kompaktowego modułu zasilacza U1 typu HLK-PM01. Napięcie wyjściowe z zasilacza ma wartość 5 V i jest dodatkowo filtrowane przez kondensatory C1 oraz C2. Element opisany jako MOD1 to gotowy moduł radiowy – odbiornik na pasmo 433 MHz. Odebrane sygnały trafiają do dekodera U2 typu HT12D. Przełącznik S1 służy do ustawienia adresu w dekoderze. Jeśli będzie taki sam jak w nadajniku, to urządzenia będą ze sobą współpracowały. Rezystor R1, podobnie jak w nadajniku, wyznacza częstotliwość pracy wbudowanego w układ U2 oscylatora.

Rysunek 3. Schemat ideowy modułu odbiorczego

Sygnał wyjściowy z dekodera trafia na przełącznik 4-sekcyjny S2. Załączenie jednej sekcji spowoduje, że odbiornik będzie reagował na odpowiadający mu sygnał sterujący doprowadzony do nadajnika. Za przełącznikiem sygnał trafia na rezystor R2 oraz tranzystor T1, który steruje pracą przekaźnika PK1. Zakłócenia generowane przez cewkę przekaźnika są tłumione przez diodę prostowniczą D1. Złącze J2 służy do podłączenia urządzenia, które będzie zdalnie sterowane. Będzie ono zasilane z tego samego napięcia, które doprowadzono na złącze J1.

Schemat płytki drukowanej modułu odbiorczego został pokazany na rysunku 4, a wygląd zmontowanego modułu odbiornika pokazuje fotografia 2.

Rysunek 4. Schemat płytki drukowanej modułu odbiorczego

Kształt płytki drukowanej jest dostosowany do wymiarów obudowy Z66 firmy Kradex.

Fotografia 2. Wygląd płytki drukowanej modułu odbiorczego

Uruchomienie

Po zmontowaniu wszystkich modułów w pierwszej kolejności należy ustawić takie same adresy w enkoderze oraz dekoderze za pomocą przełączników 8-sekcyjnych. Następnie konieczne jest włączenie jednej z czterech sekcji przełącznika S2 w module odbiorczym – w ten sposób zostanie wybrany kanał sterujący. Przykładowe ustawienia pokazuje fotografia tytułowa.

Do modułu odbiorczego można już podłączyć urządzenie, które będzie sterowane zdalnie, a sam moduł należy dołączyć do zasilania. Moduł nadawczy należy połączyć z minikomputerem Raspberry Pi za pomocą przewodów zakończonych złączami żeńskimi. Zasilanie o napięciu 3,3 V jest dostępne na wyprowadzeniu nr 1, a masa np. na wyprowadzeniu nr 9 (rysunek 5). Wyprowadzenia sygnałów sterujących będzie definiowała docelowa aplikacja uruchomiona na Raspberry Pi.

Rysunek 5. Opis wyprowadzeń GPIO komputerka Raspberry Pi

Dla sprawdzenia działania i zademonstrowania możliwości zestawu uruchomimy na nim system sterowania komendami głosowymi. W tym celu dołączamy do komputerka mikrofon USB, a jedno z wejść modułu nadawczego łączymy z wyprowadzeniem nr 8 (GPIO14) komputerka. Przykładowy układ testowy prezentuje fotografia 3.

Fotografia 3. Przykładowy układ testowy

Aby komputer Raspberry Pi rozpoznawał polecenia głosowe, konieczne jest zainstalowanie odpowiednich bibliotek języka Python. W tym celu w terminalu wpisujemy polecenia:

pi@raspberrypi:~$ sudo pip3 install SpeechRecognition
pi@raspberrypi:~$ sudo pip3 install PyAudio
pi@raspberrypi:~$ sudo apt-get install flac

Teraz możemy pobrać program prezentujący działanie modułów zdalnego sterowania:

pi@raspberrypi:~$ cd Desktop
pi@raspberrypi:~/Desktop $ git clone https://github.com/ZW-Robotics/Moduly_zdalnego_sterowania.git

Na pulpicie pojawi się folder z programem testowym. Kod skryptu w Pythonie, który realizuje całą funkcjonalność, nie jest skomplikowany i został pokazany na listingu 1.

Listing 1. Skrypt testowy, pozwalający na sterowanie głosowe jednym urządzeniem
import speech_recognition as sr
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(14, GPIO.OUT)

while True:

r = sr.Recognizer()
with sr.Microphone() as źródło_dźwięku:
r.adjust_for_ambient_noise(źródło_dźwięku)
try:
print("Wydaj polecenie")
wypowiedziane_słowo = r.listen(źródło_dźwięku)
print("Przetwarzam ...")
print("Polecenie: \n" + r.recognize_google(wypowiedziane_słowo, language="pl-PL"))
except sr.UnknownValueError:
print("Nie rozpoznałem polecenia")
continue

polecenie = r.recognize_google(wypowiedziane_słowo, language="pl-PL")

if polecenie == "Włącz lampę":
GPIO.output(14, GPIO.LOW)

if polecenie == "Wyłącz lampę":
GPIO.output(14, GPIO.HIGH)

polecenie = ""

Aby algorytm rozpoznawania mowy działał poprawnie, komputer Raspberry Pi musi mieć aktywne połączenie z internetem. Więcej informacji na temat modułów zdalnego sterowania oraz film prezentujący ich działanie można znaleźć na mojej stronie internetowej www.zw-robotics.pl.

Uwaga! W module odbiorczym występuje napięcie sieciowe 230 V, które jest niebezpieczne dla życia. Montaż i uruchomienie modułu odbiorczego należy wykonać pod nadzorem wykwalifikowanej osoby. Moduł odbiorczy należy podłączać do napięcia sieciowego 230 V tylko wtedy, gdy jest zamknięty w obudowie.

Zygmunt Wypich
zygmunt.wypich@zw-robotics.pl

Wykaz elementów: Moduł nadawczy
Rezystory:
  • R1: 1 MΩ
Kondensatory:
  • C1: 100 nF ceramiczny
  • C2: 100 μF/16 V elektrolityczny
Półprzewodniki:
  • U1: HT12E
  • MOD1: nadajnik 433 MHz FS1000A
Pozostałe:
  • J1: złącze goldpin męskie 6 pinów
  • S1: przełącznik DIP switch 8 sekcji
  • antena 433 MHz
  • podstawka DIP 18 pin
Moduł odbiorczy
Rezystory:
  • R1: 47 kΩ
  • R2: 1 kΩ
Kondensatory:
  • C1: 100 nF ceramiczny
  • C2: 100 μF/16 V elektrolityczny
Półprzewodniki:
  • D1: dioda prostownicza 1N4148
  • T1: tranzystor BC337
  • U1: zasilacz HLK-PM01
  • U2: HT12D
  • MOD1: odbiornik 433 MHz MX-RM-5V
Pozostałe:
  • S1: przełącznik DIP switch 8 sekcji
  • S2: przełącznik DIP switch 4 sekcje
  • F1: złącze bezpiecznikowe PTF-78 szare + bezpiecznik 250 mA szybki
  • J1, J2: złącze śrubowe 3 piny o rastrze 7,5 mm
  • PK1: przekaźnik S3-5
  • antena 433 MHz
  • podstawka DIP 18 pin
  • obudowa Kradex Z66
  • wkręt do plastiku 2,5×8 mm
  • wtyk sieciowy 230 V na przewód z uziemieniem
  • gniazdo sieciowe 230 V na przewód z uziemieniem
  • kabel 3×1,5 mm²
Artykuł ukazał się w
Elektronika Praktyczna
listopad 2022
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów