Машинка на Arduino своїми руками, Найпотрібніші саморобки
Машинка на Arduino своїми руками

- Платформа- її ми вирізали з листового матеріалу. Для простоти використовували ДВП;
- Переднє колесо- поворотне колесо від крісла;
- Мотор-редуктори2 шт.;
- Колеса, з віссю, що підходить до мотор-редукторів 2 шт. Колеса ми купували разом з двигунами редукторами;
- Батарейний відсікз вимикачем, на 4 пальчикові батарейки (тип АА);
- Arduino, ми використовували той самий клон Seeeduino;
- Модуль Bluetooth HC-06;
- Драйвер моторівна чіпі L298N;
Усі деталі можна замовити на китайському сайті за копійки. Щоправда, доведеться чекати небагато. але краще заощадити ніж переплатити
Електрична частина та схема підключення всіх модулів машинки представлена на наступному малюнку.

Машинка для Arduino. Схема підключення
Програма управління
Встановіть по центру екрана "Джойстик". У властивостях джойстика виберіть установку додаткового елемента керування «Увімкнути сенсор G». Виберіть положення перемикача G-сенсора "Низ-ліво". Також в налаштуваннях можна змінити колір на червоний. Надалі джойстиком ми керуватимемо рухом машинки.
Встановіть перемикач. Розмістіть його лівіше за джойстик. Можете також змінити його колір. Перемикачем ми керуватимемо світлодіодом на платі Arduino на піні 13.
Якщо ви все правильно зробили, у васповинен вийти приблизно такий інтерфейс управління:

У налаштуваннях проекту виберіть цільову платформу, для якої ми отримуємо вихідний код Arduino (SoftwareSerial). Натискаємо кнопку «Отримати код» та завантажуємо вихідний код на свій комп'ютер.
Відкриємо завантажений скетч у IDE Arduino. Скетч чудово компілюється без помилок. Однак, у ньому звичайно немає коду для управління нашою машинкою. Наше завдання – написати цей код. Для зразка ми використовуватимемо завантажений приклад.
Зверніть увагу на визначення структуриRemoteXY_TypeDefу файліremotexy.h. Структура містить поля, що повністю відповідають встановленим на інтерфейсі керування елементам керування. Ми бачимо змінніjoystick_1_xіjoystick_1_y, що відображають координати x і y нашого джойстика, а так само зміннуswitch_1, що відображає перемикач.
/* структура визначає всі змінні вашого інтерфейсу управління */ typedef struct
/* input variable */ signed char joystick_1_x; /* =-100..100 координата x положення джойстика */ signed char joystick_1_y; /* =-100..100 координата y положення джойстика */ unsigned char switch_1; /* =1 якщо перемикач увімкнено та =0 якщо вимкнено */
/* other variable */ unsigned char connect_flag; /* =1 if wire connected, else =0 */
Далі наводиться основний код програми, в який вже вбудовано керування двигунами нашої машини. Ви можете просто скопіювати цей код у свій скетч, або вибірково додати необхідні шматки коду в завантажений приклад.
#include #include #include "remotexy.h"
/* визначаємо піни керування правим мотором */ #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_DN 4 #define PIN_MOTOR_LEFT_SPEED 9
/* визначаємо пін керування світлодіодом */ #define PIN_LED 13