Witam wszystkich.
Poniżej chciałbym przedstawić Wam krótki opis bardzo popularnego modułu Bluetooth HC-05master-slave. Jest to moduł służący do bezprzewodowej komunikacji Bluetooth, wyposażony w interfejs UART oraz obsługę komend AT.

Moduł ten możemy wykorzystać, np. do bezprzewodowej dwukierunkowej komunikacji komputera z mikroprocesorem AVR obsługującym interfejs UART.
Poniżej opiszę moduł HC-05 przylutowany do adaptera, gdzie mamy dwa dziesięciopinowe rzędy kołków goldpin (raster 2mm) oraz diody LED1 i LED2.
Wymiary płytki to 26x35x9mm. Zasilanie modułu 3,3V, zasięg do 10m, prędkość transmisji 9600bps (czasem producent podaje domyślną jako 38400, ale u mnie domyślna to 9600), domyślny tryb pracy – slave, pobór prądu zmierzony przeze mnie to 42mA. Poziom napięć do komunikacji UART 3,3V.
Hasło do parowania to: 1234.
Jako że nie znalazłem poprawnego opisu wyprowadzeń adaptera w sieci, a opis od XBee nie pasuje, to poniżej przedstawiam pinout płytki adaptera zrobiony przeze mnie:
Jak widać producent adaptera nie dał nam zbyt dużo – do dyspozycji na kołkach goldpin mamy dostępne tylko zasilanie, reset oraz dwa programowalne wejścia/wyjścia. Do czego służą diody LED umieszczone na adapterze – obie diody mają podciągnięte katody do masy, zaś anody połączone są szeregowo przez rezystory 1kΩ do wyjść modułu. LED1 do PIO8, LED2 do PIO9. LED1 pokazuje, czy moduł jest sparowany czy nie; LED2 zapala się, gdy na komputerze włączymy terminal do komunikacji.
Ceny modułu z przesyłką zaczynają się od ok. 40zł na polskich portalach aukcyjnych, zaś na zakup prosto z Chin przeznaczyć trzeba niespełna 4$ wraz z przesyłką.
W tym miejscu chciałbym podziękować koledze Zbyszkowi alias Zibi za udostępnienie komputera z wbudowanym Bluetoothem do przeprowadzenia poniższych testów – dziękuję Ci Zbyszku.
Pierwszy z testów, jaki wykonałem to sparowanie modułu z komputerem, wysłanie bezprzewodowo komunikatu do modułu i odebranie go na tym samym terminalu – na module zostały zwarte linie komunikacyjne od interfejs UART – Rx z Tx, zasilanie moduł 3,3V. Po podłączeniu w ten sposób modułu dioda LED1 będzie szybko migać.
Został tutaj wykorzystany komputer z systemem Windows 10 oraz programem „PuTTY”.
Poniżej pokazane dodawanie urządzenia Bluetooth:
Jak widać - udało się poprawnie dodać urządzenie.
Od tej chwili dioda LED1 zaczyna migać z mniejszą częstotliwością.
W menadżerze urządzeń w Windowsie pojawiły nam się dwa nowe porty COM – w tym przypadku port COM 4 oraz COM5.
Uruchamiamy program „PuTTY „i w kategorii „SESION” zmieniamy typ połączenia na „SERIAL”, wpisujemy w „SERIAL LINE” „COM4” i w oknie „SPEED” podajemy prędkość 9600. W miejscu „SAVED SESSIONS” wpisujemy wybraną przez siebie nazwę i naciskamy „SAVE”.
Przy następnym połączeniu będziemy mogli załadować nasze zapisane ustawienia, wybierając je i wciskając „LOAD”.
Teraz przechodzimy do kategorii CONNECTION/SERIAL i tutaj ustawiamy nasz port COM.
Teraz klikamy przycisk „OPEN”. Dioda LED2 zapala się.
Od tej chwili wszystko, co wpiszemy w oknie terminala zostanie wysłane bezprzewodowo do modułu HC-05 i zostanie wysłane z niego powrotem (dzięki zwarciu linii Rx z Tx) bezprzewodowo na komputer i pojawi się to w oknie naszego terminala.
W oknie terminala wpisałem tekst „test hc-05” i ten, że tekst został wyświetlony na monitorze komputera.
Nie trzeba wciskać klawisza ENTER, skutkiem każdego naciśnięcia guzika na klawiaturze będzie pojawienie się wybranego znaku w oknie terminala.
Rozpięcie zworki łączącej Rx z Tx spowoduje brak reakcji w oknie terminala – nie będziemy widzieć tego, co naciskamy, ani nie dostaniemy odpowiedzi z modułu, mimo to że moduł cały czas odbiera to, co do niego wysyłamy, po rozwarciu zworki moduł nic nie wysyła, bo na linię nadawczą nic nie jest wysyłane.
Druga część testu to wysyłanie danych bezprzewodowo z jednego komputera do drugiego za pomocą badanego modułu. Odległość między komputerem a modułem to ok. 6m.
W tym teście wykorzystałem wymieniowy wcześniej komputer, badany moduł HC-05 oraz drugi komputer z Windowsem XP, do którego został podłączony konwerter USB-UART zbudowany na układzie FT232. Należy jednak pamiętać, że nasz badany moduł HC-05 działa na poziomie napięć 3,3V, przez co na konwerterze USB-UART należy ustawić zworkę w pozycji 3,3V. Na drugim komputerze jako terminal został użyty program „HyperTerminal”. Tutaj konwerter wykrywany jest na porcie COM25, a poniżej mamy podane jego ustawienia dla programu „HyperTermianal”.
Od tej chwili możemy komunikować się bezprzewodowo pomiędzy tymi komputerami dzięki naszemu modułowi HC-05.
W programie „HyperTerminal” w ustawieniach włączyłem lokalne echo, by na oknie terminala było widać to, co piszemy na klawiaturze. Efektem tego powinno być to, że w oknach obu terminali powinniśmy widzieć to samo (o ile będziemy nadawać z „HyperTerminala” – w „PuTTY” nie znalazłem opcji włączenia echa, więc nie widzimy tego, co wpisujemy w oknie „PuTTY”).
Wpisałem tekst w oknie „PuTTY” i na drugim komputerze odebrałem ten komunikat w „HyperTerminalu”, co pokazuje poniższy obraz.
Skoro działa komunikacja w jedną stronę, to powinna działać komunikacja i w drugą stronę.
W celu sprawdzenia w oknie „HyperTerminala” wpisuję tekst:
W oknie „PuTTY” pojawia się dokładnie to samo, co zostało napisane w „HyperTerminalu” na drugim komputerze.
Jak dowodzi powyższa komunikacja bezprzewodowa Bluetooth za pomocą badanego modułu HC-05 działa poprawnie.
Dzięki obsłudze komend AT możemy np. zmienić nazwę modułu, prędkość transmisji lub np. hasło do parowania. By wejść w obsługę komend AT, należy zewrzeć PIO11 do 3,3V. Pin PIO11 jest wyprowadzony na kołek goldpin nr 20.
Przy robieniu powyższego testu nie obyło się bez problemów. Z początku komunikacja nie przebiegała tak jak powinna – zdarzały się przekłamania, tzn. przy trzymaniu na klawiaturze znaku „a" jeden terminal pokazywał cały czas „aaaaaaaaaaaaaa”, zaś drugi odbierał coś takiego „azaazaaaazaaaa”. Nie pomagała tutaj zmiana prędkości transmisji.
Przyczyna okazała się bardzo prosta – zapomniałem o wspólnej masie dla konwertera USB-UART i badanego modułu HC-05. Konwerter zasilany był z USB a moduł z zasilacza. Połączenie konwertera i HC-05 wspólną masą rozwiązało problem – podstawy, ale jak widać - potrafi to nieźle namieszać. Gdyby zasilić HC-05 z portu USB, nie byłoby tego problemu.
Przy robieniu tego testu przy którymś tam z rzędu podłączeniu konwertera do modułu zapomniałem przestawić zworki od poziomu napięć i napięcie zostało ustawione na 5V, zauważyłem to po wysłaniu kilkudziesięciu znaków, ale nie spowodowało to żadnego przekłamania w komunikacji czy też uszkodzenia modułu HC-05. Jak widać - znosi on 5V, ale lepiej nie ryzykujcie i dajcie jakiś konwerter napięć, by zejść do tych zalecanych przez producenta 3,3V.
Poniżej chciałbym przedstawić Wam krótki opis bardzo popularnego modułu Bluetooth HC-05master-slave. Jest to moduł służący do bezprzewodowej komunikacji Bluetooth, wyposażony w interfejs UART oraz obsługę komend AT.


Moduł ten możemy wykorzystać, np. do bezprzewodowej dwukierunkowej komunikacji komputera z mikroprocesorem AVR obsługującym interfejs UART.
Poniżej opiszę moduł HC-05 przylutowany do adaptera, gdzie mamy dwa dziesięciopinowe rzędy kołków goldpin (raster 2mm) oraz diody LED1 i LED2.
Wymiary płytki to 26x35x9mm. Zasilanie modułu 3,3V, zasięg do 10m, prędkość transmisji 9600bps (czasem producent podaje domyślną jako 38400, ale u mnie domyślna to 9600), domyślny tryb pracy – slave, pobór prądu zmierzony przeze mnie to 42mA. Poziom napięć do komunikacji UART 3,3V.
Hasło do parowania to: 1234.
Jako że nie znalazłem poprawnego opisu wyprowadzeń adaptera w sieci, a opis od XBee nie pasuje, to poniżej przedstawiam pinout płytki adaptera zrobiony przeze mnie:

Jak widać producent adaptera nie dał nam zbyt dużo – do dyspozycji na kołkach goldpin mamy dostępne tylko zasilanie, reset oraz dwa programowalne wejścia/wyjścia. Do czego służą diody LED umieszczone na adapterze – obie diody mają podciągnięte katody do masy, zaś anody połączone są szeregowo przez rezystory 1kΩ do wyjść modułu. LED1 do PIO8, LED2 do PIO9. LED1 pokazuje, czy moduł jest sparowany czy nie; LED2 zapala się, gdy na komputerze włączymy terminal do komunikacji.
Ceny modułu z przesyłką zaczynają się od ok. 40zł na polskich portalach aukcyjnych, zaś na zakup prosto z Chin przeznaczyć trzeba niespełna 4$ wraz z przesyłką.
W tym miejscu chciałbym podziękować koledze Zbyszkowi alias Zibi za udostępnienie komputera z wbudowanym Bluetoothem do przeprowadzenia poniższych testów – dziękuję Ci Zbyszku.
Pierwszy z testów, jaki wykonałem to sparowanie modułu z komputerem, wysłanie bezprzewodowo komunikatu do modułu i odebranie go na tym samym terminalu – na module zostały zwarte linie komunikacyjne od interfejs UART – Rx z Tx, zasilanie moduł 3,3V. Po podłączeniu w ten sposób modułu dioda LED1 będzie szybko migać.
Został tutaj wykorzystany komputer z systemem Windows 10 oraz programem „PuTTY”.
Poniżej pokazane dodawanie urządzenia Bluetooth:

Jak widać - udało się poprawnie dodać urządzenie.

Od tej chwili dioda LED1 zaczyna migać z mniejszą częstotliwością.
W menadżerze urządzeń w Windowsie pojawiły nam się dwa nowe porty COM – w tym przypadku port COM 4 oraz COM5.

Uruchamiamy program „PuTTY „i w kategorii „SESION” zmieniamy typ połączenia na „SERIAL”, wpisujemy w „SERIAL LINE” „COM4” i w oknie „SPEED” podajemy prędkość 9600. W miejscu „SAVED SESSIONS” wpisujemy wybraną przez siebie nazwę i naciskamy „SAVE”.

Przy następnym połączeniu będziemy mogli załadować nasze zapisane ustawienia, wybierając je i wciskając „LOAD”.

Teraz przechodzimy do kategorii CONNECTION/SERIAL i tutaj ustawiamy nasz port COM.

Teraz klikamy przycisk „OPEN”. Dioda LED2 zapala się.
Od tej chwili wszystko, co wpiszemy w oknie terminala zostanie wysłane bezprzewodowo do modułu HC-05 i zostanie wysłane z niego powrotem (dzięki zwarciu linii Rx z Tx) bezprzewodowo na komputer i pojawi się to w oknie naszego terminala.
W oknie terminala wpisałem tekst „test hc-05” i ten, że tekst został wyświetlony na monitorze komputera.

Nie trzeba wciskać klawisza ENTER, skutkiem każdego naciśnięcia guzika na klawiaturze będzie pojawienie się wybranego znaku w oknie terminala.
Rozpięcie zworki łączącej Rx z Tx spowoduje brak reakcji w oknie terminala – nie będziemy widzieć tego, co naciskamy, ani nie dostaniemy odpowiedzi z modułu, mimo to że moduł cały czas odbiera to, co do niego wysyłamy, po rozwarciu zworki moduł nic nie wysyła, bo na linię nadawczą nic nie jest wysyłane.
Druga część testu to wysyłanie danych bezprzewodowo z jednego komputera do drugiego za pomocą badanego modułu. Odległość między komputerem a modułem to ok. 6m.
W tym teście wykorzystałem wymieniowy wcześniej komputer, badany moduł HC-05 oraz drugi komputer z Windowsem XP, do którego został podłączony konwerter USB-UART zbudowany na układzie FT232. Należy jednak pamiętać, że nasz badany moduł HC-05 działa na poziomie napięć 3,3V, przez co na konwerterze USB-UART należy ustawić zworkę w pozycji 3,3V. Na drugim komputerze jako terminal został użyty program „HyperTerminal”. Tutaj konwerter wykrywany jest na porcie COM25, a poniżej mamy podane jego ustawienia dla programu „HyperTermianal”.

Od tej chwili możemy komunikować się bezprzewodowo pomiędzy tymi komputerami dzięki naszemu modułowi HC-05.
W programie „HyperTerminal” w ustawieniach włączyłem lokalne echo, by na oknie terminala było widać to, co piszemy na klawiaturze. Efektem tego powinno być to, że w oknach obu terminali powinniśmy widzieć to samo (o ile będziemy nadawać z „HyperTerminala” – w „PuTTY” nie znalazłem opcji włączenia echa, więc nie widzimy tego, co wpisujemy w oknie „PuTTY”).
Wpisałem tekst w oknie „PuTTY” i na drugim komputerze odebrałem ten komunikat w „HyperTerminalu”, co pokazuje poniższy obraz.

Skoro działa komunikacja w jedną stronę, to powinna działać komunikacja i w drugą stronę.
W celu sprawdzenia w oknie „HyperTerminala” wpisuję tekst:

W oknie „PuTTY” pojawia się dokładnie to samo, co zostało napisane w „HyperTerminalu” na drugim komputerze.

Jak dowodzi powyższa komunikacja bezprzewodowa Bluetooth za pomocą badanego modułu HC-05 działa poprawnie.
Dzięki obsłudze komend AT możemy np. zmienić nazwę modułu, prędkość transmisji lub np. hasło do parowania. By wejść w obsługę komend AT, należy zewrzeć PIO11 do 3,3V. Pin PIO11 jest wyprowadzony na kołek goldpin nr 20.
Przy robieniu powyższego testu nie obyło się bez problemów. Z początku komunikacja nie przebiegała tak jak powinna – zdarzały się przekłamania, tzn. przy trzymaniu na klawiaturze znaku „a" jeden terminal pokazywał cały czas „aaaaaaaaaaaaaa”, zaś drugi odbierał coś takiego „azaazaaaazaaaa”. Nie pomagała tutaj zmiana prędkości transmisji.
Przyczyna okazała się bardzo prosta – zapomniałem o wspólnej masie dla konwertera USB-UART i badanego modułu HC-05. Konwerter zasilany był z USB a moduł z zasilacza. Połączenie konwertera i HC-05 wspólną masą rozwiązało problem – podstawy, ale jak widać - potrafi to nieźle namieszać. Gdyby zasilić HC-05 z portu USB, nie byłoby tego problemu.
Przy robieniu tego testu przy którymś tam z rzędu podłączeniu konwertera do modułu zapomniałem przestawić zworki od poziomu napięć i napięcie zostało ustawione na 5V, zauważyłem to po wysłaniu kilkudziesięciu znaków, ale nie spowodowało to żadnego przekłamania w komunikacji czy też uszkodzenia modułu HC-05. Jak widać - znosi on 5V, ale lepiej nie ryzykujcie i dajcie jakiś konwerter napięć, by zejść do tych zalecanych przez producenta 3,3V.
Cool? Ranking DIY