STM32F411 i komunikacja ISM 315MHz w CUBE


W artykule przedstawiamy przykład zdalnego sterowania urządzeniami zewnętrznymi za pomocą komunikacji radiowej w paśmie 315MHz (ISM). Sygnały z pilota zdalnego sterowania przetwarzane są przez mikrokontroler STM32 z płytki KA-NUCLEO-F411CE i w ten sposób sterowane są elementy wyjściowe: diody LED oraz buzzer.

W przykładzie użyto moduł pilota bezprzewodowego 4-kanałowego do Arduino składa się z samego pilota z czterema przyciskami oraz modułu odbiornika. Komunikacja odbywa się w paśmie ISM 315 MHz. Zasięg, według producenta, wynosi od 50 do 100 metrów. Trochę mniej techniczną cechą pilota jest ciekawy wygląd. Moduł jest kompatybilny z platformą Arduino. Komunikacja modułu z urządzeniami zewnętrznymi jest prosta: gdy odbiornik odczyta informacje o przyciśnięciu przycisku wprowadza jeden z pinów D0-D3 w stan wysoki. Dodatkowo pin VT wprowadzany jest w stan wysoki, gdy którykolwiek z przycisków na pilocie jest wciśnięty. Poniżej znajduje się tabela opisująca to, który pin odpowiada któremu przyciskowi na pilocie.

Pin wyjściowy odbiornika Przycisk na pilocie
D0 B
D1 D
D2 A
D3 C

Sygnały z pilota zdalnego sterowania są przetwarzane przez mikrokontroler STM32F4 zawarty na płytce KA-NUCLEO-F411CE i w ten sposób sterowane będą elementy wyjściowe: diody LED oraz Buzzer. Jedno naciśniecie przycisku powoduje włączenie elementu, następne – jego wyłączenie. Sterowanie odbywa się za pomocą przerwań – gdy mikrokontroler zauważy zbocze rosnące na linii VT wchodzi w stan obsługi przerwania. W tym ostatnim zmienia stan linii według tego, który przycisk jest włączony. Moduł odbiornika powinien być zasilany napięciem 5 V (przy zasilaniu odbiornika napięciem 3,3 V układ działa, ale zasięg drastycznie spada – do kilku centymetrów). Także poziom wysoki linii D0-D3 oraz VT wynosi 5 V, w związku z tym należy podłączyć odbiornik do tych pinów mikrokontrolera, które tolerują napięcie 5 V. Linie, do których nie należy podłączać napięcia wyższego niż 3,3 V to PA0 (A0), PA4 (A2), PA5(D13), PB5 (D4). Nie należy również podłączać wejść odbiornika do pinu PA3 (D0), gdyż jest tam podłączony pin RX portu szeregowego połączony z programatorem. Przykładowe połączenie modułu odbiornika z płytką Nucleo przedstawiono w poniższej tabeli:

Pin odbiornika
Pin KA-NUCLEO-F411CE Pin mikrokontrolera STM32F411
D0 D5  PB4
D1 D3 PB3
D2 D2 PA10
D3 D1 PA2
VT D6  PB10
5 V +5 V  –
GND GND

Urządzenia, którymi można sterować za pomocą pilota to trzy różnokolorowe diody LED oraz buzzer aktywny. Diody należy połączyć szeregowo z rezystorem – wartość 270Ω dla napięcia sterującego 3,3 V jest odpowiednia. Oczywiście istnieje możliwość podłączenia innych urządzeń sterowanych binarnie. Dzięki modułom z przekaźnikami można sobie pozwolić na sterowanie urządzeń wymagających większego napięcia/większej mocy niż można uzyskać z mikrokontrolera. Przypisanie pinów do urządzeń w tym przykładzie przedstawiono w tabeli:

Pin KA-NUCLEO-F411CE Urządzenie Pin mikrokontrolera STM32F411
D8 Dioda czerwona  PA9
D9 Dioda zielona  PB7
D10 Dioda żółta  PB6
D11 pin sterujący buzzera  PA7

Zmontowany układ można obejrzeć na poniższym zdjęciu:

Do pobrania