Nadal modeluję i buduję roboty. Napisałem już instrukcje dotyczące tworzenia pilota modele i roboty. Pilot jest oparty na starym joysticku Sega. Ten joystick ma cztery strzałki i 8 przycisków, wystarczających do sterowania maszyną lub małym robotem. Zarządzanie odbywało się za pomocą diody IR LED. Dziś napiszę instrukcje dotyczące modernizacji tego pilota, a mianowicie jego konwersji na pilota Bluetooth. W zależności od używanego modułu Bluetooth pilot zdalnego sterowania połączy się z zaprogramowanym urządzeniem lub będzie można połączyć się z pilotem zdalnego sterowania. Opiszę obie opcje. Będziemy potrzebować:
- Joystick od Sega
- Arduino Pro Mini 3.3v 8MHz
- USB-TTL
- 2 akumulatory Ni-Mn 1,2v 1000mA
- Moduł Bluetooth HC-05 lub HC-06
- Czerwona dioda LED
- Niebieska dioda LED
- Rezystor 2x75Om, 2x5Om, 1x2Om
- Złącze PLSx5 „matka”
- Gorący klej
- przewody
- Komora baterii 4xAAA
- Wielokolorowe druty
- Lutownica, lut, kalafonia
- proste ramiona
Krok 1 Wybór modułu Bluetooth
Do komunikacji wymagane są dwa moduły. Wstawimy jeden do pilota, a drugi podłączymy do maszyny do pisania lub robot. Istnieje ogromna liczba modułów Bluetooth. Różnią się funkcjami i obsługiwanymi protokołami komunikacyjnymi. Przykładowa lista znalezionych modułów:
- HC-03, HC-04 (HC-04-M, HC-04-S) na chipie BC417143;
- HC-05, HC-06 (HC-06-M, HC-06-S) na chipie BC417143;
- HC-05-D, HC-06-D;
- HC-07 - moduł z układem CSR 41C6;
- HC-08 - moduł o bardzo niskim zużyciu energii i protokole Bluetooth 4.0;
- HC-09 to najnowszy moduł przeznaczony do zastąpienia HC-06 i HC-07.
Zdecydowałem się na dwa moduły HC-05 i HC-06, ponieważ są one optymalne pod względem ceny / funkcjonalności. Obsługują protokół komunikacyjny - Specyfikacja Bluetooth v2.0 + EDR. Zasięg wynosi do 10 metrów (poziom mocy 2). Kompatybilny ze wszystkimi adapterami Bluetooth obsługującymi SPP. Objętość pamięci flash (do przechowywania oprogramowania układowego i ustawień) wynosi 8 Mbit. Działają na częstotliwości sygnału radiowego - 2,40 .. 2,48 GHz. Interfejs hosta to USB 1.1 / 2.0 lub UART. Mają niski pobór mocy - prąd podczas komunikacji wynosi 30-40 mA. Średnia wartość prądu wynosi około 25 mA. Po nawiązaniu połączenia pobór prądu wynosi 8 mA. Moduły te są łatwe do znalezienia, są najbardziej popularne. Moduły są bardzo podobne, ale główna różnica między nimi polega na tym, że HC-05 może pracować zarówno w trybie master, jak i slave.HC-06 może być tylko niewolnikiem. Mówiąc najprościej, HC-06 nie może wykryć sparowanego urządzenia i nawiązać z nim połączenia; może jedynie słuchać urządzenia głównego. Moduły są sprzedawane jako dwie płytki lutowane razem. Mniejszy jest modułem fabrycznym. Large - specjalna płyta chlebowa do majsterkowania. Wygląda jak mniejsza płyta z układem BC417:
I tak same moduły DIY HC-05 i HC-06:
Możesz kupić moduł bez płyty chlebowej. Kosztuje to trochę taniej, ale wtedy będziesz musiał zainstalować regulator napięcia 3,3 V dla modułu. Ponadto odległość między stykami jest niewielka i będziesz musiał dręczyć się przez lutowanie do modułu drutu.
Aby ustanowić komunikację między pilotem a robotem lub maszyną, musisz skonfigurować dwa moduły Bluetooth jeden na drugim. W takim przypadku skonfigurujemy moduł HC-05, aby znalazł i połączył się z HC-06.
Krok 2 Skonfiguruj HC-06.
Najpierw musisz podłączyć HC-06 do komputera. Można tego dokonać podłączając moduł za pomocą adaptera USB-UART. W takim przypadku połączenie wygląda następująco:
Bluetooth - USB-UART
TX - RX
RX - TX
VCC - +5
GND - GND
Jeśli nie masz pod ręką USB-UART, możesz napisać następujący szkic na dowolnej płycie Arduino:
Połącz w następujący sposób:
Bluetooth - Arduino
TX - styk 2
RX - pin 3
VCC - +5
GND - GND
Następnie otwieramy dowolny program terminala, wybieramy port, do którego podłączony jest HC-06, domyślna prędkość to 9600, NL i CR nie są potrzebne. Jeśli połączenie HC-06 nie zostanie nawiązane, moduł jest w trybie wprowadzania poleceń AT. Jeśli moduł nie reaguje, spróbuj go przeciążyć, odłączając przewód dodatni i podłączając go ponownie. I wprowadź następujące polecenia:
„AT” - bez cudzysłowów powinna pojawić się odpowiedź „OK”.
„AT + ADDR” - za pomocą tego polecenia dowiemy się niepowtarzalnego adresu HC-06, zapisz ten adres
„AT + BAUD7” - ustaw prędkość na 57600
„AT + RESET” - przeciążamy moduł
Nie trzeba wprowadzać następujących poleceń, ale na wszelki wypadek lepiej je znać:
„AT + NAZWA
„AT + ORGL” - resetowanie modułu do ustawień fabrycznych
To kończy konfigurację HC-06.
Krok 3 Skonfiguruj HC-05.
Moduł podłączamy podobnie do HC-06. Następnie otwórz dowolny program terminalowy, wybierz port COM, na którym wisi USB-UART lub Arduino, domyślna fabryczna prędkość komunikacji to 9600, ale spotkałem się również z prędkością 38400, jeśli jej nie zmieniłeś, wybierz 9600, nie możesz się połączyć, zmień na 38400. Również Warto uwzględnić parametry NL i CR. Aby przenieść tryb wprowadzania poleceń AT, należy nacisnąć przycisk na tablicy HC-05, a następnie wprowadzić następujące dane:
„AT” - wpisane bez cudzysłowu, powinna pojawić się odpowiedź „OK”. Jeśli przyjdziesz, nadal wprowadzamy polecenia.
„AT + ROLE = 1” - tym poleceniem ustawiamy rolę modułu za pomocą cyfry:
0 - slave, 1 - master, 2 - slave w cyklu *. Powinieneś otrzymać odpowiedź „+ ROLE: 1 \ r \ n” lub „OK”
„AT + CMODE = 0” - moduł w roli mastera jest podłączony tylko do urządzenia Bluetooth, którego adres wskazuje komenda „AT + BIND”.
„AT + BIND: 1234,56,123456” - aby nawiązać połączenie z HC-06, należy wpisać tutaj jego adres. Po wprowadzeniu wszystkich poleceń moduł pełni rolę nadrzędnego (ROLA = 1) i ustawiony jest tryb połączenia ze stałym adresem (CMODE = 0), połączy się on tylko z urządzeniem Bluetooth, którego adres jest określony przez to polecenie. Części adresu są wprowadzane: podczas instalacji - oddzielone przecinkiem, a po odebraniu - przez dwukropek. Otrzymasz odpowiedź: „+ BIND: 1234: 56: 789ABC \ r \ n” lub „OK”
„AT + UART = 57600,0,0” - ustaw prędkość na 57600 bps, bit stopu jest reprezentowany przez liczbę: 0 - jeden, czek reprezentowany jest przez liczbę: 0 - bez weryfikacji
Jeśli masz wątpliwości co do ustawień modułu lub przestaje ono działać poprawnie, spróbuj wykonać następujące polecenie:
„AT + ORGL” - moduł resetuje następujące ustawienia KLASA = 0, IAC = 9e8b33, ROLE = 0, CMODE = 0, UART = 38400,0,0, PSWD = 1234, NAZWA = hc01.com.
A następnie ponownie skonfiguruj potrzebne ustawienia.
W ten sposób stworzyliśmy silny związek między HC-05 i HC-06. Gdy moduły HC-05 są włączone, nawiąże połączenie z HC-06. Z własnego doświadczenia mogę powiedzieć, że lepiej najpierw włączyć HC-05, a potem HC-06. Jeśli połączenie zostanie utracone, musisz przeładować oba moduły.
Krok 4 Przygotowanie pilota.
Ten krok został szczegółowo opisany w poprzednich instrukcjach pod adresem:
https://plm.imdmyself.com/8626-ik-pult-iz-dzhoystika-ot-sega.html
Należy wykonać kroki od 1 do 4. Lutowanie diody IR jest opcjonalne, chociaż nie będzie przeszkadzać.
Krok 5 Podłączanie modułu Bluetooth.
Radzę zainstalować HC-06 w pilocie. Ponieważ aby zmienić ustawienia modułu, wystarczy wypełnić odpowiedni szkic w Arduino Pro Mini. W przypadku HC-05 będziesz musiał zdemontować pilota, aby nacisnąć przycisk, aby przejść do trybu komend AT.Łączymy wszystko zgodnie z następującym schematem
Joystick - Arduino
Strzałka w górę - pin 2
Strzałka w dół - pin 4
Strzałka w lewo - pin 5
Strzałka w prawo - pin 6
Przycisk A - styk 8
Przycisk B - pin 10
Przycisk C - styk 7
Przycisk X - styk 12
Przycisk Y - styk 11
Przycisk Z - pin 9
Przycisk Start - styk 14 (A0)
Przycisk resetowania - RST
Ogólne - GND
Bluetooth - Arduino
TX - styk 16 (A2)
RX - pin 17 (A3)
VCC - + 5
GND - GND
HC-05 łączymy się z Twoją maszyną do pisania lub robotem, którym będziesz sterować. Opcje połączeń i szkice można znaleźć w innych moich instrukcjach. Podczas pisania szkicu robota należy ustawić szybkość połączenia na 57600 i użyć biblioteki SoftwareSerial w szkicu.
Krok 6 Przygotowanie środowiska i oprogramowania układowego.
Najlepszym sposobem na napisanie i edycję szkicu jest użycie Arduino IDE. Wersja Arduino IDE nie może być niższa niż 1.8. Pobierz Arduino IDE z oficjalnej strony:
https://www.arduino.cc/en/Main/Software
Następnie musisz dodać bibliotekę do Arduino IDE. Szkic wykorzystuje jedną bibliotekę SoftwareSerial.h (do komunikacji z modułem Bluetooth):
Musisz go pobrać i zainstalować. Możesz zainstalować bibliotekę poprzez rozpakowanie archiwum i przeniesienie rozpakowanych plików do folderu „bibliotek” znajdującego się w folderze z zainstalowanym Arduino IDE. Możesz też użyć wbudowanego narzędzia do dodawania bibliotek - bez rozpakowywania pobranego archiwum wybierz menu Szkic - Połącz bibliotekę w Arduino IDE. Na górze listy rozwijanej wybierz element „Dodaj .Zip Library”. I wskaż lokalizację pobranego archiwum. Po zainstalowaniu biblioteki musisz zrestartować Arduino IDE.
Nasz pilot jest flashowany w taki sam sposób, jak poprzednia wersja pilota, podłączonego przez USB-TTL za pomocą złącza, ładowanie również przez niego. Podczas wypełniania szkicu kliknij Resetuj.