- Необхідні компоненти:
- Створення інтерфейсу для робота за допомогою програми RemoteXY:
- Електрична схема та пояснення:
- Пояснення коду:
- Як запустити:
У цій статті ми збираємося керувати автомобілем-роботом через датчик G нашого мобільного телефону, і ви зможете переміщати робота, просто нахиливши телефон. Ми також будемо використовувати програми Arduino та RemoteXY для цього робота, керованого G-сенсором. Додаток RemoteXY використовується для створення інтерфейсу в смартфоні для управління роботом. Ми додамо джойстик в інтерфейс, щоб Робот також міг керуватися Джойстиком, а також нахиляючи телефон.
G-сенсор або датчик сили тяжіння - це в основному акселерометр у смартфоні, який використовується для управління орієнтацією екрана телефону. Акселерометр визначає напрямки X, Y, Z гравітаційної сили та обертає екран відповідно до вирівнювання телефону. Зараз у мобільних телефонах використовується більш чутливий і точний гіроскопний датчик для визначення орієнтації екрану. У нашому проекті автомобіль-робот рухатиметься відповідно до напрямку, в якому нахиляється телефон, як коли ми нахиляємо телефон вперед, тоді автомобіль рухатиметься вперед, а ми нахилятимемо його вниз, тоді автомобіль рухатиметься назад. Це те саме, що коли ми граємо в деякі автомобільні ігри в Mobile, вони також використовують сенсор G, щоб відповідно рухати машину. Перегляньте відео в кінці, а також перегляньте інші наші проекти робототехніки тут.
Необхідні компоненти:
- Двоколісне робоче шасі автомобіля
- Arduino UNO
- Контролер двигуна L298N
- Модуль Bluetooth HC-06 (HC-05 також буде працювати)
- Блок живлення або осередки
- Підключення проводів
Створення інтерфейсу для робота за допомогою програми RemoteXY:
Щоб створити інтерфейс для управління автомобілем-роботом за допомогою програми RemoteXY, вам доведеться перейти за таким посиланням
remotexy.com/en/editor/ Веб-сторінка буде виглядати так
Потім з лівого боку екрана підніміть кнопку перемикача та джойстик і помістіть їх у мобільний інтерфейс. Кнопка вмикає світло на штифті 13, який підключений внутрішньо до Arduino, і джойстик рухатиме машину робота. Веб-сторінка після розміщення перемикача та джойстика буде виглядати так.
Тоді нам доведеться розмістити кнопку ввімкнення / вимкнення датчика G разом із джойстиком, щоб ми могли рухати Robot Car, нахиляючи телефон вліво, вправо, вгору та вниз. За допомогою цієї кнопки ми можемо вмикати та вимикати датчик G, коли датчик G відключений. Автомобіль можна керувати, рухаючи джойстиком. Отже, щоб розмістити кнопку ввімкнення / вимкнення датчика G, натисніть на джойстик, який ви розмістили в інтерфейсі, і ліворуч буде розділ властивостей, в кінці буде опція розміщення кнопки датчика G біля джойстика, тож розмістіть кнопку сенсора G де завгодно. Веб-сторінка після цього буде виглядати так.
Після цього натисніть кнопку «Отримати вихідний код» і збережіть його на своєму комп’ютері. Завантажте бібліотеку звідси та збережіть її в папці бібліотеки Arduino. Складіть завантажений код, щоб перевірити, чи немає помилок. Це не код, який буде запускати робота, але він допоможе у використанні програми з Arduino. Завантажте програму звідси або перейдіть до Play Store і завантажте звідти програму RemoteXY для свого смартфона Android.
Електрична схема та пояснення:
Перш за все, ми зв’яжемо контролер двигуна L298N з Arduino. Підключіть штифт ENA та ENB контролера двигуна до штифтів Arduino 12 та 11 відповідно. Ці два штирі призначені для ШІМ-керування двигуном. Використовуючи дипломні шпильки, ми можемо збільшити або зменшити швидкість автомобіля. Потім підключіть IN1, IN2, IN3 та IN4 до виводів Arduino 10, 9, 8 та 7 відповідно. Ці штифти будуть обертати двигуни в обидві сторони (за годинниковою стрілкою та проти годинникової стрілки).
Для живлення двигуна підключіть плюсик і мінус акумулятора до напруги 12 В і заземлення контролера двигуна. Потім підключіть 5 В і землю від контролера двигуна до Arduino Vin і землі.
Тоді ми підключимо модуль Bluetooth HC-06 до arduino. Якщо у вас HC-05, він теж буде працювати. Підключіть VCC і землю модуля Bluetooth до 5 В і землю Arduino. Потім підключіть штекер TX модуля Bluetooth до штифта 2 Arduino, а штекер RX до штифта 3 Arduino. Також перевірте Bluetooth-іграшкову машину за допомогою Arduino, щоб дізнатися більше про використання Bluetooth з Arduino.
Пояснення коду:
Повний код Arduino для цього мобільного керованого автомобіля-робота подано нижче в розділі коду, тут ми зрозуміємо, як працює цей код.
Перш за все, ми включили бібліотеки для програмного забезпечення Serial та RemoteXY. Бібліотека RemoteXY допоможе нам у налаштуванні програми за допомогою Arduino, за допомогою якої ми будемо керувати роботою. Після цього ми визначили висновки для модуля Bluetooth, TX від модуля Bluetooth підключений до висновку 2 Arduino, який є виводом RX Arduino, а RX від модуля Bluetooth підключений до виводу 3 Arduino, який - це TX-штифт Arduino і встановив швидкість передачі даних модуля Bluetooth на 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #indelu
Наступний код збільшить або зменшить швидкість двигуна. Коли джойстик буде в центрі, швидкість буде дорівнювати нулю, а коли вона буде в прямому напрямку, тоді швидкість збільшиться з нуля до 100. Швидкість зменшиться з 0 до -100, коли машина рухатиметься в зворотний напрямок. Автомобіль також можна рухати певною швидкістю, це можна зробити, подавши ШІМ-сигнал. Шім-сигнал подаватиметься на двигуни відповідно до обертання джойстика.
якщо (швидкість_мотора> 100) швидкість_мотора = 100; якщо (швидкість_мотора <-100) швидкість_мотора = -100; if (motor_speed> 0) {digitalWrite (покажчик, HIGH); digitalWrite (покажчик, LOW); analogWrite (покажчик, швидкість_мотора * 2,55); } ще if (швидкість_мотора <0) {digitalWrite (покажчик, LOW); digitalWrite (покажчик, HIGH); analogWrite (покажчик, (-motor_speed) * 2,55); } else {digitalWrite (покажчик, LOW); digitalWrite (покажчик, LOW); analogWrite (покажчик, 0); }
У наступному коді ми визначили функцію, яка буде викликатися кожного разу, коли ми рухатимемо джойстик у додатку. Коли ми ввімкнемо перемикач у програмі, тоді логіка 1 буде передана виводу 13 Arduino, який вмикає світлодіодний вивід. Під час руху автомобіля-робота у прямому та зворотному напрямку буде викликана функція швидкості .
недійсний цикл () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Швидкість (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Швидкість (другий_мотор, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Як запустити:
Додайте бібліотеку RemoteXY до бібліотек Arduino і завантажте код в IDE Arduino. Потім завантажте програму на свій мобільний телефон, а потім увімкніть Bluetooth. Інтерфейс програми буде виглядати так
Потім перейдіть до Bluetooth і ввімкніть там Bluetooth. Після його ввімкнення він покаже вам пристрої Bluetooth. Виберіть звідти свій модуль Bluetooth HC-06, він перенесе вас до інтерфейсу, звідки ви зможете керувати автомобілем-роботом.
Ось як ми можемо використовувати датчик тяжіння всередині нашого мобільного телефону для переміщення робота. Ви можете далі експериментувати і знайти більш цікаве використання датчика G для управління зовнішніми речами, пов’язавши між собою мікроконтролер (наприклад, Arduino).