Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Korzystając z urządzeń z systemem Android i modułów HC-05 Bluetooth SPP w niektórych projektach Arduino, chciałem sprawdzić i zmienić szybkość transmisji HC-05 i inne parametry bez podłączania do portu USB komputera. To przerodziło się w to.
Moduły HC-05 łączą urządzenia szeregowe i Bluetooth za pomocą profilu portu szeregowego Bluetooth (SPP). Wiele osób w społeczności Arduino opisało, jak skonfigurować i używać tych modułów, w tym kilku instrukcji. Korzystanie z HC-05 często wymaga początkowego przewodowego połączenia szeregowego. Większość poradników opisuje użycie pewnego rodzaju adaptera USB-szeregowego, często płytki Arduino, w celu uzyskania dostępu do trybu „polecenia” modułu z komputera PC. Wolałbym mieć widget, w który mógłbym po prostu wbić HC-05 i kontynuować.
Ten 'ible obejmuje:
-
szkic, który…
- natychmiast podaj aktualną przepływność transmisji szeregowej (która może być wszystkim, czego potrzebujesz)
- wykryj aktualną prędkość i rozpocznij komunikację szeregową
- zbierać dane wejściowe użytkownika przez Bluetooth SPP
- sygnał do naciśnięcia przycisku polecenia HC-05
- wyślij polecenia do modułu
- w razie potrzeby odbierz odpowiedź HC-05
- sygnał do zwolnienia przycisku polecenia
- odpowiedz użytkownikowi przez połączenie BT
- urządzenie gotowe do użycia
- OPCJONALNIE dla wygody
- bardzo niski koszt
- bardzo mały
- gotowy do podłączenia modułu HC-05
- zasilany kablem microUSB
- używa tablicy podobnej do Digispark z ATtiny85 mcu
Przetestowałem szkic na klonie UNO i klonie Digispark. Może działać na innych płytkach Arduino, które implementują klasę „Serial” z RX na pinie 0.
Kieszonkowe dzieci
- Moduł HC-05 + płytka nośna (AliExpress)
- Płyta mcu Arduino-ish (AliExpress testowany przez klon UNO)
- części montażowe (takie jak stąd)
- Szkic stąd
Opcjonalnie: części do zbudowania widżetu - wymienione później
Krok 1: Po prostu wypróbuj
Zanim zastanowisz się, co, jeśli w ogóle, zacząć lutować: po prostu wypróbuj szkic.
Nazywam go baudat, ponieważ zajmuje się poleceniami bodów i AT i zasługuje na uznanie pana. Emila Baudota.
Jeśli to czytasz, prawdopodobnie masz coś w rodzaju HC-05 i coś w rodzaju „zwykłej” płyty ATmega328 w Arduino, takiej jak UNO R3 lub niewiele się różni. Szkic jest testowany na klonie UNO R3. Spodziewam się, że będzie działać na innych płytach, które implementują klasę Serial i używają pinu 0 dla szeregowego RX. Lub edytuj serialRxPin.
- Pobierz szkic, prześlij go na swoją tablicę i otwórz okno Monitora szeregowego.
- Powinieneś być w stanie odczytać podłączoną szybkość transmisji w początkowym szumie. Teraz znasz prędkość połączenia, ale baudat nie.
- Wpisz coś w tym miejscu. Powinien wykryć szybkość transmisji i kontynuować. Losowe uderzenie w klawiaturę prawdopodobnie zadziała. „U” przechodzi przez przewód, jak x0101010101x, co jest nie do pomylenia. Jakiekolwiek dwa lub więcej popularnych znaków drukowania (7-bitowe, nie „rozszerzone”) wysłane razem (linia-po-czasie vs znak-po-czasie) powinny działać.
- Spróbuj podłączyć monitor z różnymi prędkościami. Powinny działać typowe prędkości obsługiwane przez moduły HC-05. baudat nie rozpoznaje bardzo wolnych, bardzo szybkich lub „dziwnych” prędkości, takich jak 14, 400 bps.
- Wypróbuj interakcję i zobacz, co wysłałby do twojego HC-05, gdyby był podłączony.
Krok 2: Przykład: Monit o konfigurację podstawową
Powinno to wyglądać mniej więcej tak:
##hałas##hałas##hałas##
To jest 57600 bps. Napisz coś. „U” jest solidne.
##hałas##hałas##hałas##
Narzędzie konfiguracyjne Baudat HC-05
Ustawić nazwę BT, „polarną” i szybkość transmisji szeregowej? [t/n] Tak
Ustawić nazwę urządzenia Bluetooth? [t/n] Tak
Nowa nazwa: My_New_BT_Widget
Ustawić polaryzację stanu połączenia BT? [t/n] Tak
Po podłączeniu ustawić pin STAN LOW(0) lub HIGH(1)? [0/1] 0
Obsługiwane szybkości transmisji szeregowej:
a: 500000 b: 230400 c: 115200 d: 57600 e: 38400 f: 19200 g: 9600 h: 4800 i: 2400 Wybierz nową prędkość: [a-i] a
==== Nowe parametry ====
Nazwa BT: My_New_BT_Widget Poziom sygnału stanu połączenia: 0 Baud: 115200
Przygotuj się na naciśnięcie przycisku trybu poleceń HC-05…
Naciśnij, gdy zaświeci się dioda LED; zwolnić, gdy dioda LED zacznie migać.
Gotowy? [Jakikolwiek klucz]
Udać się…
Ta próba w rzeczywistości nic nie robi, ponieważ w pętli nie ma HC-05. Po połączeniu z baudatem przez Bluetooth:
- nie zobaczysz poleceń wysyłanych do modułu w trybie poleceń
-
resety mogą, ale nie muszą, zabić połączenie Bluetooth, w zależności od wersji oprogramowania układowego HC-05
na przykład oprogramowanie układowe HC-05 w wersji 3.0-20170601 może zmienić szybkość transmisji danych szeregowych bez zrywania połączenia BT
LUB…
Krok 3: Przykład: Arbitralne polecenia AT
Aby wprowadzić dowolne polecenia AT, odrzuć monit o konfigurację:
Ustawić nazwę BT, „polarną” i szybkość transmisji szeregowej? [t/n] N
Wpisz polecenie: AT+wersja
Przygotuj się na naciśnięcie przycisku trybu poleceń HC-05…
Naciśnij, gdy zaświeci się dioda LED; zwolnić, gdy dioda LED zacznie migać.
Gotowy? [Jakikolwiek klucz]
Udać się…
Wynik:
Wpisz polecenie: AT
(te przykłady są w osobnych krokach, próbując uniknąć formatowania. Jeśli są zniekształcone, zobacz załączone pliki tekstowe.)
Krok 4: Polaryzacja?
Kino. Bo łatwiej pokazać niż powiedzieć.
Proszę przejrzeć wszystkie zdjęcia i notatki przed rozpoczęciem, ponieważ czasami późniejszy szczegół pomaga zinterpretować wcześniejszy krok.
Krok 10: Ciesz się owocami swojej pracy
Ostatnie zdjęcie to pierwsze zdjęcie.