Bluetoothowy moduł BTM222 i STM32
W projektowanych urządzeniach niejednokrotnie zachodzi potrzeba zrealizowania transmisji bezprzewodowej. Bardzo wygodne i atrakcyjne cenowo jest wykorzystanie do tego celu modułów Bluetooth. Elementarnym przykładem realizacji transmisji pomiędzy komputerem osobistym i systemem cyfrowym z wykorzystaniem modułu Bluetooth jest sterowanie diodami LED dołączonymi do mikrokontrolera. Dla wygody zbudowania części sprzętowej projektu wykorzystano zestaw uruchomieniowy ZL27ARM z mikrokontrolerem z rodziny STM32 do którego dołączono moduł KAmodBTM222. Jest to oczywiście konfiguracja sprzętowa znacznie przekraczająca potrzeby realizowanego zadania, ale wykorzystanie gotowych modułów jest wygodne i powoduje, że na etapie poznawania nowych zagadnień przynajmniej nie ma wątpliwości co do poprawności działania sprzętu.
Konfiguracja komputera
Sterowanie diodami LED zamontowanymi w zestawie ZL27ARM wykonuje się za pomocą komputera osobistego. Tak więc wymagane jest, żeby komputer był wyposażony w moduł Bluetooth – może to być moduł wbudowany lub w postaci dołączanej do portu USB komputera. Taki moduł jest widoczny w systemie jako dodatkowe porty szeregowe COM. Do transmisji przez moduł Bluetooth należy więc użyć dowolnego terminala, np. pokazany na rysunku 1 program Hercules, który można pobrać ze strony http://www.hw-group.com/products/hercules/index_en.html.
Konfigurację połączenia szeregowego należy ustawić następująco:
- Baud – 115200,
- Data size – 8,
- Parity – none,
- Handshake – OFF,
- Mode – Free.
Rys. 1. Widok okna programu Hercules
Wybór portu szeregowego COM jest zależny od przeprowadzonej konfiguracji systemu przy łączeniu z modułem Bluetooth. Po nawiązaniu połączenia pomiędzy komputerem i modułem KAmodBTM222 dołączonym do mikrokontrolera, program zapisany w mikrokontrolerze wysyła komunikat przedstawiający sposób obsługi, co pokazano na rysunku 1. Zgodnie z komunikatem program rozpoznaje następujące polecenia:
- led_x_inv – przełącza diodę LED, gdzie x to numer diody,
- led_x_on – włącza diodę LED gdzie x to numer diody,
- led_x_off – wyłącza diodę LED gdzie x to numer diody,
- led_all_inv – przełącza stan wszystkich diod LED,
- led_all_on – włącza wszystkie diody LED,
- led_all_off – wyłącza wszystkie diody LED,
- led_status – informacja o stanie diod LED,
- ? – wyświetla informacje.
Zgodnie z przesłanymi instrukcjami mikrokontroler steruje diodami LED zamontowanymi w zestawie ZL27ARM. Poprawnie odebrane polecenie jest potwierdzane przez mikrokontroler komunikatem „OK”. W przypadku odebrania nieznanego polecenia, mikrokontroler zwraca komunikat „ERROR”. W przesyłanych poleceniach wielkości liter nie mają znaczenia.
Program mikrokontrolera
Połączenie zestawu ZL27ARM i modułu Bluetooth KAmodBTM222 przedstawiono na rysunku 2. Do wykonania takich połączeń wygodnie jest użyć kolorowych przewodów CAB_A pokazanych na rysunku 3.
Rys. 2. Połączenie zestawu ZL27ARM i modułu Bluetooth KAmodBTM222
Rys. 3. Kolorowe przewody CAB_A ułatwiające wykonanie połączenia pomiędzy zestawem uruchomieniowym ZL27ARM i modułem KAmodBTM222