Spisu treści:

OldMan i Bluetooth: 5 kroków
OldMan i Bluetooth: 5 kroków

Wideo: OldMan i Bluetooth: 5 kroków

Wideo: OldMan i Bluetooth: 5 kroków
Wideo: He's Been Locked In This Machine For 70 Years 2024, Listopad
Anonim
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth
OldMan i Bluetooth

Aktualizacja z kwietnia 2020 roku, dzięki komentarzowi czytelnika Krasli, mogę teraz przejść do trybu poleceń z JDY-31s.

Zamierzam spróbować wziąć udział w konkursie Sensor.

Więc ten Lazy Old Geek (L. O. G.) właśnie ukończył projekt GPS:

www.instructables.com/id/Old-Man-and-the-Arduino-GPS/

i zastanawiał się nad sposobami komunikacji z GPS. Cóż, miałem kilka starych modułów Bluetooth i postanowiłem sprawdzić, czy mogę je uruchomić. Teraz były to moduły Bluetooth HC-05/HC-06, które mogłem posortować, ale działały, ale niezbyt dobrze.

Więc zrobiłem dużo badań w Internecie. Jednym z najlepszych źródeł, jakie znalazłem, był Martyn Currey:

www.martyncurrey.com/hc-05-zg-b23090w-bluetooth-2-0-edr-modules/#more-5681

Krok 1: Testowanie Bluetooth

Testowanie Bluetooth 2
Testowanie Bluetooth 2
Testowanie Bluetooth 2
Testowanie Bluetooth 2
Testowanie Bluetooth 2
Testowanie Bluetooth 2

OK, następnym krokiem jest rozmowa przez Bluetooth. Mam więc smartfona z Androidem i wypróbowałem aplikację o nazwie B-BLE. Nie mogłem zmusić tego do pracy. Potem próbowałem „Terminal Bluetooth” To zadziałało.

Procedura Smartfon

Przejdź do Google Playstore i zainstaluj Terminal Bluetooth.

Skonfiguruj HC-06 z Seeduino (lub CP2102) i połącz się z komputerem, otwórz Arduino Serial Terminal.

Na smartfonie kliknij Ustawienia, znajdź Bluetooth, kliknij sparuj nowe urządzenie. Jeśli łączysz się po raz pierwszy, powinieneś zobaczyć coś podobnego:

00:12:09:27:18:94

To jest adres MAC HC-06s. Kliknij na to

Jeśli nie za pierwszym razem, pokaże nazwę Bluetooth, np. my2BT, kliknij na nią. Widzieć zdjęcie

Poprosi cię o hasło, te, które mam to 1234. (Jeśli masz dostęp do poleceń, możesz zmienić hasło). Widzieć zdjęcie.

Na smartfonie otwórz aplikację Terminal Bluetooth. Powinien otworzyć się na ekranie Paired Devices, patrz zdjęcie, Wybierz nazwę BT (my2BT).

Nawiasem mówiąc, w tym miejscu migająca dioda LED modułu BT powinna zmienić się na stałe.

Powinien zostać wyświetlony ekran Terminal. Widzieć zdjęcie

Tam, gdzie jest napisane „Enter ASCII Command”, wpisz coś do wysłania na komputer. Następnie dotknij (Wyślij ASCII) (Mam zaprogramowane niektóre BTN).

Wprowadzone dane powinny pojawić się na terminalu szeregowym Arduino PC. Widzieć zdjęcie

Aby wysłać z komputera (zmieniłem go na (zarówno NT i CR) w polu poleceń, wpisz, co chcesz wysłać, a następnie kliknij (Wyślij). Powinno pojawić się na ekranie Terminala Bluetooth, patrz poprzednie zdjęcie

Yay, komunikujemy się!

Krok 3: Mój problem

Mój problem
Mój problem
Mój problem
Mój problem
Mój problem
Mój problem

Jak wspomniałem wcześniej moduły te są przeznaczone do sygnałów wejściowych 5V i 3,3V. Dla mnie to najgorsze z obu światów. Właściwym sposobem użycia tego jest Arduino 5 V, a następnie przekonwertowanie poziomów TX i RX na prawidłowe. Niektórzy używają dzielników rezystorowych. Teraz myślę, że moje Seeduino nawet w trybie 5 V wysyła sygnały 3,3 V, ale inne Arduino nie.

Teraz używam głównie urządzeń 3,3 V, takich jak Adafruit Feather M4 Express. M4 Express nie ma zasilania 5V więc jak mogę wykorzystać te moduły. Jednym ze sposobów jest użycie samego modułu HC-06 bez podstawy, ale trudniej z nimi pracować. To, co zdecydowałem się zrobić, to przekonwertować moje moduły BT tylko na 3,3V. To właśnie wskazuje duża żółta trójka.

Z pomocą Internetu wymyśliłem kilka schematycznych wersji modułu JY-MCU BT patrz zdjęcie i umieściłem je w Eagle Cadsoft, patrz zip.

TECHNOBABBLE: BTI BCM to Bluetooth, a reszta to płyta bazowa. Niestety istnieje wiele różnych płyt bazowych. Niektóre nie mają diody B1, inne mają mosFET z kanałem P, aby włączyć urządzenie. Ale w tym przypadku głównymi problemami są B1 i regulator 3,3V. Z wejściem 3,3 V nie dostaniesz 3,3 V do HC-06.

Połączyłem więc pin wejściowy VCC (5 V) z 3,3 V na pinie 12 modułu. Teraz myślę, że to wszystko, co jest potrzebne, ale usunąłem też regulator (XC6206P332, ale może być innego typu). Z technicznego punktu widzenia nie sądzę, aby skrócenie wejścia i wyjścia regulatora było dobrym pomysłem. Nie będę wyjaśniał tego bardziej szczegółowo, ponieważ każda płyta podstawowa może być inna. Zobacz żółty przewód na zdjęciu.

Więc teraz te moduły będą działać w systemach 3,3V.

Krok 4: Adapter szeregowy

Adapter szeregowy
Adapter szeregowy
Adapter szeregowy
Adapter szeregowy
Adapter szeregowy
Adapter szeregowy

Więc zamiast używać Arduino na PC, możesz również użyć konwertera USB-szeregowy. Stare Arduino używały FTDI232, ale są drogie, więc używałem konwerterów PL2303 USB-serial. Ale ponieważ nie mogłem znaleźć sterownika dla starszych modeli dla Windows 10, zacząłem używać CP2102s. Teraz znowu problem polega na tym, że wszystkie piny wyjściowe mają na nich napięcie 5 V (pochodzące bezpośrednio ze złącza USB). A odmian jest wiele. W każdym razie zwykle modyfikuję je na 3,3 V i lutuję na żeńskim nagłówku, więc działa z wieloma moimi projektami Instructables. Teraz dodałem też regulator 3.3v (chyba L4931C33) Zobacz zdjęcie. Większość układów scalonych pokrywających ma wyjście 3,3 V, ale myślę, że większość jest ograniczona do około 50 mA. Właściwie do rozmowy z HC-06 wystarczy 50mA.

Ok, więc można je podłączyć do HC-06 w następujący sposób:

BT CP2102

Gnd Gnd

3,3 V 3,3 V

Rx Tx

Tx Rx

Widzieć zdjęcie

Podłącz CP2102 do komputera USB. Teraz terminal szeregowy Arduino nie jest najłatwiejszy w użyciu, więc wypróbowałem Tera Term i Putty, ale nie działały zbyt dobrze i nie mogłem wymyślić, jak skonfigurować brak zakończenia linii, więc nadal używam Arduino. Działa dobrze.

Krok 5: JDY-30/31 Bluetooth

JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth
JDY-30/31 Bluetooth

Więc jeśli szukasz HC-06 w serwisie eBay, trudniej je znaleźć i często zamiast tego otrzymasz JDY-30. Skoro więc wydawały się tańsze, kupiłem parę właściwie z Aliexpress. Powinny być kompatybilne.

Niektórzy ludzie i sprzedawcy twierdzą, że JDY-30 i JDY-31 to to samo. Nie jestem taki pewien.

W każdym razie te, które otrzymałem, wydają się być kompatybilne z pinami, a moje pojawiły się na podobnej płycie bazowej, co HC-06.

Testowanie: Aktualizacja z kwietnia 2020 r.: Dzięki komentarzowi Krasli mogę teraz połączyć się z moim JDY-31 w trybie poleceń. Główną wskazówką było to, że polecenie „AT” nie otrzymuje odpowiedzi, ale inne polecenia, takie jak „AT + WERSJA”, działają dobrze. I musisz dodać CR + LF. Co ciekawe, nie mogłem zmusić tego do pracy z Tera Term lub Putty, ale działa z Arduino Serial Monitor.

W każdym razie postanowiłem spróbować tego z Bluetoothem. Używając tej samej konfiguracji, co HC-06, mogłem połączyć się z Bluetooth przy 9600 bodach.

Ponownie, przy pierwszym sparowaniu nazwa urządzenia będzie adresem MAC, ale po sparowaniu nazwa Bluetooth to: JDY-31-SPP. Działa dobrze.

Więc znalazłem też innego BT o nazwie JDY-31, Zobacz zdjęcia. Podoba mi się w nich to, że mają otwory na męski nagłówek bez potrzeby stosowania płyty bazowej. Zobacz obrazki. Więc zamówiłem kilka z nich.

Takie jest moje dotychczasowe doświadczenie z modułami Bluetooth.

Zalecana: