Przez mękę do sukcesu – Juniora program sterujący BlueTooth

Jakby to powiedzieć żeby nie skłamać … Junior dostał zadanie: opracować „program sterujący BlueTooth”. Najpierw jęczał narzekał … i wcale mu się nie chciało, bo przecież miał kaktusowi (tacie) pomóc, co oczywiście przekraczało jego chęci i możliwości. Ale w końcu zaczął działać i powstawać zaczęła działająca aplikacja.
elektroniczny układ modelowy, z modułem BTCałe zamieszanie dlatego, że zrodziła się wyraźna potrzeba zbudowania sterownika z manipulatorem do zadawania nastaw na odległość. Możliwości technicznych na dziś dzień jest bardzo wiele. Na pierwszą myśl przyszła mi komunikacja w podczerwieni. Po czasie zacząłem zastanawiać się nad różnymi możliwościami związanymi z komunikacją drogą radiową, ze względu na większą uniwersalność. Ponieważ w szufladzie od pewnego czasu (marzec 2014) siedzą moduły BT postanowiłem je zaadoptować i użyć w tym celu. Tym samym powstała idea by zbudować układ z komunikacją BlueTooth, który otrzymywał by informacje np z tabletu lub telefonu pracującego w oparciu o system Android. Na dziś dzień urządzenia takie są bardzo powszednie i stosunkowo nie drogie, a zarazem bardzo uniwersalne. Tym samym w konstruowanym układzie odpada potrzeba budowania interfejsów do prezentacji danych i komunikacji z użytkownikiem, co zdecydowanie upraszcza całą konstrukcję. Tym samym zyskuję duży kolorowy wyświetlacz, mnóstwo przycisków i manipulatorów, a wszystko niewielkim nakładem, dzięki jednemu niedrogiemu modułowi z komunikacją BT, i możliwością  posłużenia się już posiadanym gadżetem.

Jakby tego było mało część obliczeń i zasobożernych operacji można wykonać po stronie „manipulatora”, odciążając tym samym µC sterownika.

Ponieważ zakładane przeze mnie wytyczne i wymagania do programu, który miał powstać były niemałe, pierwsze co zobaczyłem to przerażenie w oczach młodego człowieka  😈 zwłaszcza, że miała to być jego premiera ze środowiskiem Android. Ale co tam … jak się coś robi samodzielnie to efekt musi być zamierzony, a nie może być jakimś kompromisem i zalążkiem zakładanej funkcjonalności. Więc Junior nie miał łatwo, lecz stękając zabrał się do roboty i pomalutku pomalutku zaczynał dawać wyraz wymaganiom surowego ojca 👿
Pierwsza wersja działającej aplikacji powstała w końcu października 2014 i umożliwiała podstawową komunikację wysyłając proste dane przez interfejs BT do układu elektronicznego. 🙂 pilot BT widok ekranu aplikacji

widok ekranu aplikacji pilot BT - nastawy

program sterujący BlueTooth na zielono opisane komendy wysyłane po uaktywnieniu przycisku

Program sterujący BlueTooth posiadał funkcjonalność, która umożliwiała połączenie się ze zdalnym urządzeniem (układem elektronicznym) dzięki interfejsowi BlueTooth, które jest już sparowane w systemie, oraz wysyłał proste komendy po posłużeniu się jednym z przycisków lub suwaków. Suwaki posiadają funkcjonalność polegającą na zmianie wartości parametru w zadanym zakresie 0-255. Po zakończeniu modyfikacji nastawy, wartość ta jest automatycznie wysyłana do portu BT, jako identyfikator w postaci jednego znaku i trzech znaków wartości. Taka funkcjonalność pozwalała już na zbudowanie, oprogramowanie i przetestowanie układu elektronicznego komunikującego się z telefonem lub tabletem. Jednak to nie było wszystko …. program musi umieć dużo więcej …

Aktualny etap pozwolił na analizę i zmianę kilku istotnych spraw. Między innymi był to sposób przesyłania danych po modyfikacji wartości nastawy suwakiem. W chwili obecnej przesyłany jest identyfikator suwaka w postaci jednego znaku, oraz dodatkowy jeden znak o wartości nastawy. Dodatkowo program umożliwia:
– wyłączenie „zbędnych” manipulatorów,
– zmianę/przypisanie nazwy i kolorów indywidualnie poszczególnym przyciskom,
– zmianę zakresu pracy suwaków na jedną z dwóch nastaw: 0-10 lub 0-100.

Do zrobienia na chwilę obecną pozostało:
– możliwość zmiany tła,
– stworzenie profilów tak by umożliwić aplikacji wybór zapisanej konfiguracji i naprzemienną współpracę z różnymi urządzeniami elektronicznymi,
– dodanie funkcji przełącznik do przycisku, z wizualizacją aktualnego stanu,
– i być może najistotniejsze – wybór trybu pracy z komunikacją w dwóch kierunkach tak aby po połączeniu ze sterownikiem odczytać nastawy i ustawienia przycisków,
– taaak i wymagające głębokich przemyśleń, zbudowanie algorytmu, który będzie przeliczał zakres nastawy suwaka z wybranego do wartości 0-255 dla generatora PWM w µC. Sprawę komplikuje nieco fakt polegający na tym, że liniowa zmiana wartości generatora PWM nie zapewnia płynnej, liniowej modyfikacji intensywności źródła światła tak sterowanego. Po prostu to co widzimy, czyli płynna stała zmiana jasności nie odpowiada stałej w czasie regulacji nastaw. Może jeszcze inaczej to ujmę – przy zachowaniu stałego w czasie kroku zwiększania wartości generatora PWM, światło najpierw rozjaśnia się zdecydowanie błyskawicznie, kolejno narastanie intensywności świecenia powoli zmniejsza się, by przy końcu zakresu zmiana jasności była praktycznie mało zauważalna. Ufff 😉

Od tamtego czasu w zakresie rozwoju/ukończenia aplikacji nic się nie dzieje i Junior rozpoczęty projekt i sprawy rodziców ma w głębokim poważaniu … a szkoda, bo zaczęło mu coś wychodzić i miał okazję nauczyć się coś nowego. Hee no i oczywiście Junior skasował Bon Narodowego Banku Polskiego ;-P


Aplikacja o podobnej funkcjonalności dostępna bezpłatnie w Google play, o nazwie Blue Control.

Share Button
Tagi , , .Dodaj do zakładek Link.

3 odpowiedzi na „Przez mękę do sukcesu – Juniora program sterujący BlueTooth

  1. koleżanka mówi:

    Wie Pan…musi Pan tego Juniora bardziej przycisnąć…bo on jest zbyt leniwy…

  2. kolega mówi:

    Oj, leniwy ten junior 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

5 + twelve =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.