- Wymagane komponenty:
- Tworzenie interfejsu dla robota za pomocą aplikacji RemoteXY:
- Schemat obwodu i wyjaśnienie:
- Objaśnienie kodu:
- Jak to uruchomić:
W tym artykule będziemy sterować robotem samochodowym za pomocą czujnika G w naszym telefonie komórkowym i będziesz mógł przesuwać robota po prostu przechylając telefon. Będziemy również używać aplikacji Arduino i RemoteXY dla tego robota sterowanego czujnikiem G. Aplikacja RemoteXY służy do tworzenia interfejsu w smartfonie do sterowania robotem. Dodamy joystick w interfejsie, aby Robotem można było sterować również za pomocą Joysticka, jak również poprzez przechylanie telefonu.
Czujnik G lub czujnik grawitacyjny to w zasadzie akcelerometr w smartfonie, który służy do kontrolowania orientacji ekranu telefonu. Akcelerometr wykrywa kierunki X, Y, Z siły grawitacji i obraca ekran zgodnie z ustawieniem telefonu. W dzisiejszych czasach bardziej czuły i dokładny czujnik żyroskopu jest używany w telefonach komórkowych do decydowania o orientacji ekranu. W naszym Projekcie samochód Robot będzie się poruszał zgodnie z kierunkiem pochylania telefonu, np. Gdy przechylamy telefon do przodu, wtedy samochód będzie poruszał się do przodu i przechylamy go w dół, a następnie samochód będzie się cofał. To samo, co kiedy gramy w gry samochodowe w wersji mobilnej, oni również używają sensora G do odpowiedniego poruszania samochodem. Sprawdź wideo na końcu, sprawdź także nasze inne projekty robotyki tutaj.
Wymagane komponenty:
- Dwukołowe podwozie samochodu robota
- Arduino UNO
- Sterownik silnika L298N
- Moduł Bluetooth HC-06 (HC-05 też będzie działać)
- Zasilanie lub ogniwa
- Przewody łączące
Tworzenie interfejsu dla robota za pomocą aplikacji RemoteXY:
Aby stworzyć interfejs do sterowania Robot Car za pomocą aplikacji RemoteXY, będziesz musiał przejść do poniższego linku
remotexy.com/en/editor/ Strona internetowa będzie wyglądać następująco
Następnie z lewej strony ekranu podnieś przycisk przełącznika i joystick i umieść je w interfejsie mobilnym. Przycisk zapali światło na pinie 13, który jest wewnętrznie połączony w Arduino, a joystick będzie poruszał robotem. Strona WWW po umieszczeniu przełącznika i joysticka będzie wyglądać tak.
Następnie będziemy musieli umieścić przycisk włączania / wyłączania czujnika G wraz z joystickiem, abyśmy mogli poruszać robotem, przechylając telefon w lewo, w prawo, w górę iw dół. Za pomocą tego przycisku możemy włączać i wyłączać czujnik G, gdy czujnik G jest wyłączony. Samochodem można sterować poruszając joystickiem. Aby więc umieścić przycisk włączania / wyłączania czujnika G, kliknij joystick, który umieściłeś w interfejsie, a po lewej stronie pojawi się sekcja właściwości, na końcu będzie opcja umieszczenia przycisku czujnika G w pobliżu joysticka, więc umieść przycisk sensora G w dowolnym miejscu. Strona internetowa po tym będzie wyglądać następująco.
Następnie kliknij przycisk „Pobierz kod źródłowy” i zapisz go na swoim komputerze. Pobierz bibliotekę stąd i zapisz ją w folderze biblioteki Arduino. Skompiluj pobrany kod, aby sprawdzić, czy nie ma błędów. To nie jest kod, który uruchomi Robota, ale pomoże w używaniu aplikacji z Arduino. Pobierz aplikację stąd lub przejdź do Sklepu Play i stamtąd pobierz aplikację RemoteXY na smartfon z systemem Android.
Schemat obwodu i wyjaśnienie:
Przede wszystkim połączymy sterownik silnika L298N z Arduino. Podłącz styki ENA i ENB sterownika silnika do styków odpowiednio 12 i 11 Arduino. Te dwa piny służą do sterowania PWM silnika. Wykorzystując te piny możemy zwiększać lub zmniejszać prędkość samochodu. Następnie podłącz złącza IN1, IN2, IN3 i IN4 odpowiednio do pinów 10, 9, 8 i 7 Arduino. Kołki te obracają silniki w obu kierunkach (zgodnie z ruchem wskazówek zegara i przeciwnie do ruchu wskazówek zegara).
Aby zasilić silnik, podłącz dodatni i ujemny akumulator do napięcia 12 V i masy sterownika silnika. Następnie podłącz 5 V i masę ze sterownika silnika do Arduino Vin i masy.
Następnie połączymy moduł Bluetooth HC-06 z arduino. Jeśli masz HC-05, to też będzie działać. Podłącz VCC i masę modułu Bluetooth do 5 V i masy Arduino. Następnie podłącz pin TX modułu Bluetooth do pinu 2 Arduino i pin RX do pinu 3 Arduino. Sprawdź także Samochodzik sterowany Bluetooth za pomocą Arduino, aby dowiedzieć się więcej o używaniu Bluetooth z Arduino.
Objaśnienie kodu:
Pełny kod Arduino dla tego mobilnego sterowanego robota samochodowego znajduje się poniżej w sekcji Kod, tutaj zrozumiemy, jak działa ten kod.
Przede wszystkim dołączyliśmy biblioteki do oprogramowania Serial i RemoteXY. Biblioteka RemoteXY pomoże nam w ustawieniu aplikacji z Arduino, dzięki której będziemy sterować robotem. Następnie zdefiniowaliśmy piny dla modułu Bluetooth, TX z modułu Bluetooth jest podłączony do pinu 2 Arduino, który jest pinem RX Arduino, a RX z modułu Bluetooth jest podłączony do pinu 3 Arduino, który jest pinem TX Arduino i ustaw szybkość transmisji modułu Bluetooth na 9600.
# zdefiniować REMOTEXY_MODE__SOFTWARESERIAL #include
Poniższy kod zwiększy lub zmniejszy prędkość silnika. Gdy joystick będzie w środku, prędkość będzie wynosić zero, a gdy będzie w kierunku do przodu, prędkość wzrośnie od zera do 100. Prędkość zmniejszy się od 0 do -100, gdy samochód będzie poruszał się odwrotny kierunek. Samochodem można również poruszać się z określoną prędkością, można to zrobić podając sygnał PWM. Sygnał pwm będzie przekazywany do silników zgodnie z obrotami joysticka.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (wskaźnik, WYSOKA); digitalWrite (wskaźnik, LOW); analogWrite (wskaźnik, motor_speed * 2,55); } else if (motor_speed <0) {digitalWrite (wskaźnik, LOW); digitalWrite (wskaźnik, WYSOKI); analogWrite (pointer, (-motor_speed) * 2.55); } else {digitalWrite (wskaźnik, NISKI); digitalWrite (wskaźnik, LOW); analogWrite (wskaźnik, 0); }
W poniższym kodzie zdefiniowaliśmy funkcję, która będzie wywoływana za każdym razem, gdy będziemy poruszać joystickiem w aplikacji. Kiedy włączymy przełącznik w aplikacji, logika 1 zostanie podana do pinu 13 Arduino, który włączy pin LED. Podczas przemieszczania samochodu robota do przodu i do tyłu zostanie wywołana funkcja Speed .
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Prędkość (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Prędkość (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Jak to uruchomić:
Dodaj bibliotekę RemoteXY do bibliotek Arduino i prześlij kod do Arduino IDE. Następnie pobierz aplikację na swój telefon komórkowy i włącz Bluetooth. Interfejs aplikacji będzie wyglądał następująco
Następnie przejdź do Bluetooth i włącz tam Bluetooth. Po włączeniu pokaże Ci urządzenia Bluetooth. Wybierz stamtąd swój moduł Bluetooth HC-06, który przeniesie Cię do interfejsu, z którego możesz sterować robotem.
W ten sposób możemy użyć czujnika grawitacji w naszym telefonie komórkowym, aby przenieść robota. Możesz dalej eksperymentować i znaleźć bardziej interesujące wykorzystanie czujnika G do sterowania zewnętrznymi rzeczami, łącząc między nimi mikrokontorlera (jak Arduino).