Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот-машина, управляемая с помощью смартфона с G-сенсором

Компоненты и расходные материалы

Arduino UNO
× 1

Шаг 1.

Постройте робототехнику на любой доступной платформе, построенной по двухколесной схеме. Схема подключения электронных компонентов представлена ​​на рисунке ниже. Вам понадобится Arduino UNO или совместимая плата, модуль Bluetooth HC-05 (06), драйвер двигателя и батарея источника питания. Мотор-редукторы размещены на платформе и приводят в движение колеса робота.

Шаг 2.

Перейдите на веб-сайт службы RemoteXY по адресу http://remotexy.com/en/editor/ и создайте графический пользовательский интерфейс для управления роботом. Установите функцию управления с помощью G-сенсора для джойстика. Пример интерфейса показан на рисунке ниже. Нажмите кнопку «Получить исходный код».

Шаг 3.

Загрузите исходный код графического интерфейса и откройте его в Arduino IDE. Для компиляции вам понадобится библиотека RemoteXY.h; библиотеку можно скачать по ссылке http://remotexy.com/en/library/. Вы уже можете попробовать загрузить код в Arduino и подключиться к мобильному приложению. Но пока это только пустой код, вам нужно будет добавить необходимые функции, связывающие графический интерфейс и драйвер двигателя.

Шаг 4.

Вам не нужно добавлять в исходный код функции управления роботом с помощью графического интерфейса. Для этой цели поле RemoteXY structure.RemoteXY structure отображает все ваши элементы управления графическим интерфейсом.

Результирующий исходный код показан ниже. Вы можете скомпилировать его и загрузить в Arduino.

Шаг 5.

Установите мобильное приложение RemoteXY на http://remotexy.com/ru/download/. Когда приложение запущено на мобильном устройстве, нажмите кнопку Bluetooth в списке, выберите имя вашего модуля Bluetooth, для модулей HC-05 (06) имя обычно будет INVOR или HC-06.

Работает!


Код

  • Дистанционное управление роботизированной машиной через мобильное приложение RemoteXY
Дистанционное управление автомобилем-роботом через мобильное приложение RemoteXY C / C ++
Вы можете скачать библиотеку RemoteXY.h по ссылке http://remotexy.com/en/library/
/////////////////////////// //////////////////// // RemoteXY включает библиотеку // /////////////////////// /////////////////////// * RemoteXY выберите режим подключения и включите библиотеку * / #define REMOTEXY_MODE__SOFTWARESERIAL #include  #include  / * Настройки подключения RemoteXY * / #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 / * RemoteXY configurate * / unsigned char RemoteXY_CONF [] ={3,0,23,01, 5,15 11, 43,43,1,2,0,6,5,27,11,5, 79,78,0,79,70,70,0}; / * эта структура определяет все переменные вашего интерфейса управления * / struct {/ * входная переменная * / signed char joystick_1_x; / * =-100..100 x-координата положения джойстика * / signed char joystick_1_y; / * =-100..100 положение джойстика по координате Y * / unsigned char switch_1; / * =1, если включен и =0, если выключен * / / * другая переменная * / unsigned char connect_flag; / * =1, если провод подключен, else =0 * /} RemoteXY; ///////////////////////////////////////////// // END RemoteXY include // ///////////////////////////////////////////// /* определенный правые штифты управления двигателем * / #define PIN_MOTOR_RIGHT_UP 7 #define PIN_MOTOR_RIGHT_DN 6 #define PIN_MOTOR_RIGHT_SPEED 10 / * определены левые штифты управления мотором * / #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_DN 4 #define PIN_MOTOR_LEFT_DN 4 #define PIN_MOTOR_LEFT_DN 4 define PIN_LED 13 / * определены два массива со списком контактов для каждого двигателя * / unsigned char RightMotor [3] ={PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED}; символ без знака LeftMotor [3] ={PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED}; / * управление скоростью двигателя motor - указатель на массив контактов v - скорость двигателя может быть установлена ​​от -100 до 100 * / void Wheel (unsigned char * motor, int v) {if (v> 100) v =100; если (v <-100) v =-100; если (v> 0) {digitalWrite (двигатель [0], ВЫСОКИЙ); digitalWrite (двигатель [1], НИЗКИЙ); analogWrite (мотор [2], v * 2.55); } иначе, если (v <0) {digitalWrite (двигатель [0], LOW); digitalWrite (двигатель [1], ВЫСОКИЙ); analogWrite (мотор [2], (-v) * 2,55); } else {digitalWrite (двигатель [0], НИЗКИЙ); digitalWrite (двигатель [1], НИЗКИЙ); analogWrite (двигатель [2], 0); }} void setup () {/ * контакты инициализации * / pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); pinMode (PIN_MOTOR_RIGHT_DN, ВЫХОД); pinMode (PIN_MOTOR_LEFT_UP, ВЫХОД); pinMode (PIN_MOTOR_LEFT_DN, ВЫХОД); pinMode (PIN_LED, ВЫХОД); / * модуль инициализации RemoteXY * / RemoteXY_Init (); } void loop () {/ * модуль обработчика событий RemoteXY * / RemoteXY_Handler (); / * управление выводом светодиода * / digitalWrite (PIN_LED, (RemoteXY.switch_1 ==0)? LOW:HIGH); / * управлять правым мотором * / Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); / * управление левым мотором * / Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); } 

Схема


Производственный процесс

  1. Робот Raspberry Pi, управляемый через Bluetooth
  2. Робот, управляемый Wi-Fi и использующий Raspberry Pi
  3. Декодер DTMF с использованием только Arduino
  4. Создание монитора Ambilight с помощью Arduino
  5. Система сигнализации Arduino:SERENA
  6. Вольтметр своими руками с использованием Arduino и смартфона
  7. Игрушка под управлением Android с использованием Raspberry Motor Shield
  8. Радиоуправляемая машина с джойстиком
  9. Робот, управляемый речью
  10. MobBob:самостоятельный робот Arduino, управляемый смартфоном Android