Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Jest to niezwykle przydatne, jeśli chcesz przetestować swój szkic w środowisku rzeczywistym, z dala od komputera. W rezultacie smartfon działa tak samo, jak monitor szeregowy Arduino na komputerze. Moduły Bluetooth HC-05 i HC-06 są dostępne w serwisie eBay za około 3 GBP, a do wyboru jest wiele bezpłatnych aplikacji na smartfony. Jest kilka pułapek, których, miejmy nadzieję, unikniesz, postępując zgodnie z poniższymi przykładami. Wykorzystana tutaj bezpłatna aplikacja na smartfona może również zapisywać otrzymany tekst w pliku do późniejszego wykorzystania. Twoje szkice nie wymagają żadnych zmian, ponieważ używane są te same kołki szeregowe.
Po raz pierwszy użyłem tego podczas testowania urządzenia, które mierzy odległość, jaką dają samochody, kiedy wyprzedzają mnie na rowerze. Udało mi się nagrać pomiary odległości wykonane 30 razy na sekundę na moim telefonie, gdzie zostały zapisane w pliku. Przeanalizowałem to później za pomocą wideo, które również nagrałem za pomocą kamery sportowej i mojej aplikacji śledzącej, która podała moją prędkość i lokalizację.
Będziesz potrzebować:
- Twoje ulubione Arduino (użyto tutaj Uno)
- Moduł Bluetooth HC-05 lub HC-06
- Smartfon (używany tutaj telefon z Androidem) i bezpłatna aplikacja Bluetooth
Kroki:
- Zainstaluj bezpłatną aplikację Bluetooth
- Skonfiguruj moduł Bluetooth
- Podłącz Bluetooth do Arduino
- Załaduj przykładowy szkic
- System testowy
Krok 1: Zainstaluj aplikację Bluetooth
Dostępnych jest wiele aplikacji Bluetooth, a wiele z nich jest bezpłatnych. Używam telefonów z Androidem, ale spodziewam się, że to samo dotyczy innych systemów. Zdecydowałem się skorzystać z BlueTerm 2, ponieważ zapewnia on również opcję rejestrowania otrzymanych danych do pliku. Uważam również, że jest bardzo prosty w użyciu. Przejdź do Google Play i poproś o pobranie BlueTerm 2.
Po zainstalowaniu aplikacji możesz łączyć się z urządzeniami Bluetooth. Pamiętaj, że urządzenie Bluetooth musi najpierw zostać sparowane z telefonem, zanim będzie można z nich korzystać w jakichkolwiek aplikacjach:
Włącz Bluetooth: przechodzę przez Ustawienia> Bluetooth.
Telefon wyświetli listę już sparowanych urządzeń, a po kilku sekundach pokaże Dostępne urządzenia. Nazwa może początkowo być wyświetlana jako zestaw liczb, a nie nazwa urządzenia. Jednak wybranie go powoduje wyświetlenie nazwy i pytanie o PIN, który zwykle jest 1234.
Teraz uruchom BlueTerm 2. Kliknij ustawienia, a następnie kliknij Połącz urządzenie i wybierz zgodnie z wymaganiami. Na tym etapie możesz po prostu włączyć moduł HC-05/HC-06 i sprawdzić proces parowania, jeśli chcesz (podłączyć ujemne zasilanie do masy i 5 V do Vcc).
Krok 2: Skonfiguruj moduł Bluetooth - Część 1 - Połączenia i HC-06
Jeśli jesteś zadowolony z używania domyślnej nazwy i szybkości transmisji, możesz pominąć ten krok. Wartości domyślne to nazwa: HC-05 lub HC-06 i baud: 9600. Zaletą ponownej konfiguracji modułu jest to, że można wybrać szybsze szybkości transmisji i ustawić nazwę na coś łatwiejszego do rozpoznania.
Konfiguracja wymaga wysyłania poleceń z komputera PC do modułu za pośrednictwem połączenia szeregowego. Łącze szeregowe USB FDTI jest idealne, zwłaszcza jeśli ma opcję 3,3 V. Jednak płyty Arduino mają konwerter USB na szeregowy, dlatego można go również użyć i jest to metoda pokazana tutaj. W tym celu najlepiej jest wyłączyć port szeregowy procesora głównego Arduino, aby móc bez zakłóceń komunikować się między komputerem a modułem Bluetooth.
Szkic do wyłączenia szeregowego Arduino ma po prostu instrukcje:
pinMode(0, WEJŚCIE):
pinMode(1, WEJŚCIE);
w sekcji setup{}.
Załączam szkic NoSerial.ino. Utwórz folder o nazwie „NoSerial” w folderze szkiców i dodaj do niego NoSerial.ino. Uruchom Arduino IDE, przejdź do Plik> Szkicownik> szkice> NoSerial, aby otworzyć szkic. Wybierz typ płytki i port z menu Narzędzia i kliknij przycisk pobierania.
Połączenie do konfiguracji
Po załadowaniu szkicu możemy teraz podłączyć moduł Bluetooth do płytki Arduino. Połączenia Tx i Rx są zamieniane w porównaniu z tym, co zrobimy później, ponieważ chcemy komunikować się z portem komputera dla monitora szeregowego, a nie z głównym procesorem Arduino. PC Tx jest podłączony do Arduino Rx i odwrotnie.
Zauważ, że moduły Bluetooth mają poziomy 3,3 V dla Tx i Rx. Dlatego przy podłączaniu do systemów 5V należy użyć dzielnika napięcia dla wejścia Bluetooth Rx. Wyjście Bluetooth 3.3v Tx jest zwykle dobrze wykrywane przez systemy 5v i dlatego może być podłączone bezpośrednio.
Odkryłem, że dzielnik napięcia wykorzystujący rezystory 3k3 i 6k8 działa z szybkością transmisji szeregowej 115200.
Moduły HC05 i HC06 mają wbudowane regulatory napięcia, a zatem działają z Vcc podłączonym do 5V.
Więc połącz:
- Rezystor 3k3 do D0
- Rezystor 6k8 do masy
- Połącz ze sobą pozostałe końce dwóch rezystorów i do styku Rx w module Bluetooth
- Podłącz pin Tx modułu Bluetooth do D1
- Podłącz styk uziemienia modułu Bluetooth do GND Podłącz styk uziemienia modułu Bluetooth do GND
- Podłącz pin Vcc modułu Bluetooth do 5 v
Zobacz zdjęcie dla szczegółów.
W celu skonfigurowania modułu należy go ustawić w tryb AT. Procedura jest inna dla modułów HC-05 i HC-06.
HC-06
To są najłatwiejsze. Ustawiają się w trybie AT, jeśli nie są sparowane z żadnym urządzeniem. Jednak ustawienie bodów będzie takie, na jakie ustawiono normalną prędkość roboczą. Zwykle jest to 9600, gdy jest dostarczane. Jeśli to nie zadziała, wypróbuj 38400 lub inne wspólne stawki.
Podłącz przewód USB z komputera do Arduino i uruchom Arduino IDE. Dioda LED Bluetooth będzie szybko migać (~4Hz) w trybie AT.
Otwórz monitor szeregowy Arduino za pomocą Narzędzia> Monitor szeregowy. Ustaw prędkość transmisji na 9600 i ustaw „Bez końca linii”.
Teraz wpisz AT i kliknij Wyślij. Jeśli wszystko działa, na monitorze pojawi się komunikat „OK”. Jeśli nic nie wróci, dokładnie sprawdź okablowanie i wypróbuj różne ustawienia Baud.
Z OK potwierdzającym dobrą komunikację możemy zmienić nazwę i ustawić własną szybkość transmisji.
Wpisz AT+NAMEARDUINO i kliknij wyślij. Ustawia to nazwę modułu na ARDUINO. Można użyć dowolnego innego tekstu. Zwróć uwagę na brak spacji w poleceniu.
Odpowiedź powinna brzmieć OKsetname. Zostanie to dodane do wysłanego wcześniej OK
Teraz wpisz AT+BAUD8. Ustawia to prędkość bodów na 115200.
Odpowiedź powinna brzmieć OK115200. Jeśli mają zostać wysłane dalsze polecenia AT, należy zmienić ustawienie transmisji Serial Monitor na 115200.
Można ustawić inne stawki. Baud4 to 9600, Baud5 to 19200, Baud6 38400, Baud7 57600. Są ustawienia wyższe niż 115200, ale najpierw sprawdź, czy Twój komputer i Arduino je akceptują (moje nie mogą przekraczać 128000). Uwaga - Jeśli ustawisz zbyt wysoką stawkę, nie będziesz w stanie skomunikować się z nią, aby ją cofnąć!!!
Krok 3: Skonfiguruj moduł Bluetooth - Część 2 - HC-05 i test wstępny
HC-05
Mają one komplikację polegającą na konieczności ręcznego ustawienia w trybie AT. Instrukcja mówi, że jeśli tryb AT zostanie wyzwolony po włączeniu zasilania, ustawienie Baud będzie kontynuowane z prędkością już ustawioną dla normalnej komunikacji. Nie mogłem zmusić tego do pracy! Jeśli jednak tryb AT jest ustawiony przy włączonym zasilaniu, prędkość transmisji jest ustawiona na 38400. Stąd ta ostatnia opcja jest najbardziej niezawodna, ponieważ możemy być pewni, że prędkość transmisji wynosi 38400.
Otwórz monitor szeregowy Arduino za pomocą Narzędzia> Monitor szeregowy. Ustaw prędkość transmisji na 38400 i ustaw „Powrót karetki”.
Następnym krokiem jest wprowadzenie tablicy w tryb AT. To tutaj pojawia się najwięcej problemów z powodu różnic w płytach nośnych.
Podstawowym procesem jest przytrzymanie pinu „klucza” (pin 34) nisko przez kilka sekund po włączeniu zasilania.
Moja płytka ma przycisk do tego (dwa dodatkowe piny połączenia to EN i STATE). Odłącz przewód Vcc od modułu Bluetooth. Następnie, trzymając wciśnięty przycisk, ponownie zastosuj 5 V do Vcc. Dioda LED powinna migać w odstępach około 2 sekundowych. Trzymam przycisk do drugiego błysku.
Niektóre płyty mają pin Key jako jeden z 6 pinów modułu. Jeśli tak, połącz to z 3,3 V podczas włączania.
Niektóre płyty nie mają żadnego, a użytkownicy musieli wlutować przycisk między kluczem (34) a 3,3 V (styk 12). Zobacz załączoną instrukcję.
Gdy dioda LED powoli miga, możemy sprawdzić komunikację. Wpisz AT i kliknij Wyślij. Odpowiedź powinna być OK. Zauważyłem, że ta odpowiedź była ciągle powtarzana, dopóki nie wysłałem pustej linii – wystarczy kliknąć wyślij. Jeśli otrzymasz BŁĄD:(0), wyślij pustą linię, a następnie wyślij AT.
Teraz ustaw nową nazwę. Wpisz AT+NAME=ARDUINO Odpowiedź powinna być OK. Jednak w moim przypadku moduł wyszedł z trybu AT (dioda szybko miga). Nie mogłem znaleźć przyczyny i stało się to również podczas korzystania z połączenia szeregowego FDTI zamiast Arduino. Wróciłem do trybu AT jak poprzednio: odłączenie przewodu zasilającego do płyty i ponowne podłączenie, gdy przycisk był wciśnięty. Późniejsze kontrole wykazały, że nazwa została zmieniona.
Następnie ustaw Baud. Wpisz AT+UART=115200, 1, 0 Odpowiedź powinna być OK. Jednak czasami wyskakiwał z trybu AT, jak powyżej.
Ustawienie UART można sprawdzić poleceniem: AT+UART? Odpowiedź powinna być OK i +UART=115200, 1, 0
Test wstępny
Na tym etapie mamy komputer PC z połączeniem szeregowym z modułem Bluetooth. Tak więc wstępny, opcjonalny test można wykonać, uruchamiając aplikację BlueTerm 2 na smartfonie (zakładając, że moduł został już sparowany z telefonem). Połącz się z ARDUINO. Ustaw Arduino Serial Monitor na 115200 bodów. Wpisz „Hello World” i kliknij Wyślij. Powinno to teraz pojawić się w BlueTerm 2. Teraz wpisz „Hello to you” w BlueTerm 2. Powinno to teraz pojawić się w Monitorze szeregowym.
Krok 4: Podłącz moduł Bluetooth do Arduino
Najpierw musimy załadować nasz szkic testowy Arduino. Załączony plik BTtest.ino wysyła liczbę co 0,5 s, a następnie zwiększa ją, przewracając się do 0 z 255. Utwórz folder o nazwie BTtest w folderze szkiców i dodaj BTtest.ino
Połączenie szeregowe Arduino służy również do pobierania szkiców. Więc dwa przewody do modułu Bluetooth muszą być odłączone, aby nie przeszkadzało.
Po pobraniu szkicu podłącz ponownie moduł Bluetooth. Należy jednak pamiętać, że Tx i Rx na Arduino muszą zostać zamienione w porównaniu z wcześniejszą konfiguracją.
Więc połącz:
- Rezystor 3k3 do D1
- Rezystor 6k8 do masy
- Połącz ze sobą pozostałe końce dwóch rezystorów i do styku Rx w module Bluetooth
- Podłącz pin Tx modułu Bluetooth do D0
- Podłącz styk uziemienia modułu Bluetooth do GND Podłącz styk uziemienia modułu Bluetooth do GND
- Podłącz pin Vcc modułu Bluetooth do 5 v
Zobacz zdjęcie dla szczegółów.
Teraz włącz Arduino. Nie trzeba go podłączać do komputera.
Sparuj płytkę ze smartfonem, jeśli nie jest jeszcze podłączona (patrz Instalacja aplikacji Bluetooth powyżej). Następnie uruchom BlueTerm 2, kliknij ustawienia, a następnie kliknij Połącz urządzenie i wybierz ARDUINO. Powinieneś zobaczyć ekran wypełniony liczbami rosnącymi od 0 do 255.
Mam nadzieję, że uznasz to za tak przydatne, jak ja.
Mikrofon
Drugie miejsce w wyzwaniu Bluetooth