Сборка и программирование мобильного робота ардуино

23 февраля 2019 - Администратор

Мобильный робот ардуино arduino

В этой статье мы разберем как собрать и запрограммировать мобильного робота на ардуино
Мы разберем принципиальную схему мобильного робота arduino, напишем программу для управления движением мобильного робота Arduino. 

Принципиальная схема  мобильного робота ардуино

Существует множество платформ для мобильных роботов  ардуино, предлагаем начинать с двух колесной платформы. Мы соберем платформу на базе двух желтых моторов с редуктором. В наборе с платформой идет комплект креплений и подробная инструкция сборки подвижной платформы, следуя ей установите моторы на платформе. 
Чтобы управлять моторами необходимо установить  поверх платы ардуино  специальную плату мотор шилд Motor Shield Мотор шилд это специальная плата расширения, предназначенная для управления моторами их скоростью и направлением вращения  Аккуратно одеваем на плату ардуино плату мотор шилд при этом необходимо,  чтобы ножки мотор шилда вошли в соответствующие порты платы ардуино, каждый порт мотор шилда вошел в порт платы ардуино. Прикрепляем провода от правого мотора в слот М1 от левого мотора в слот M2.Подсоединяем отсек с источником питания  к клеммам питания  мотор шилда ,необходимо правильно соблюдать полярность: плюс отсека питания к клемме + мотор шида. Минус отсека питания к клемме – мотор шилда

схема мобильного робота ардуино

Программирование мобильного робота арудино

Для начала напишем простую программу для робота движения вперед. На следующем уроке мы разберем как управлять роботом  программировать повороты направо, налево  мобильного  Arduino робота 
В самом начале программы мы должны  определить пины  через которые мы будем управлять скоростью и направлением вращения моторов
#define SPEED_1      6 //Пин для управления  скоростью  первого мотора
#define DIR_1        7 //Пин для управления направлением первого мотора
#define SPEED_2      5 // Пин для управления  скоростью  второго мотора
#define DIR_2        4 // Пин для управления направлением второго мотора

В блоке setup  необходимо установить пины отвечающие за управлением моторами в режим OUTPUT Подробнее об управлением через пины ардуино
void setup() {
Serial.begin(9600); 
 pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}

В основной программе loop  запрограммируем движение вперед мобильного робота ардуино.Для этого необходимо  перевести пины отвечающие за направление в режим HIGH (в зависимости от подключения моторов  у Вас за движение мотора вперед  может быть режим LOW) Это цифорвые пины , поэтому используется команда digitalWrite(номерпина, HIGH)
digitalWrite(DIR_1,HIGH);
digitalWrite(DIR_2, HIGH);

Установим скорости  моторов  с помощью записи в пины отвечающие за скорость  уровня скорости вращения. Это аналоговые пины, поэтому используем команду analogWrite(номерпина, скорость). Скорость может изменяться в диапазоне от 1 до 255
analogWrite(SPEED_1, 100);
analogWrite(SPEED_2,100);

И в конце установим время, сколько будет робот двигаться в таком режиме с помощью команды
delay(время в миллисекундах);
После  движения необходимо остановить моторы, для этого скорость устанавливается в  ноль
digitalWrite(DIR_1,HIGH);
digitalWrite(DIR_2, HIGH);
analogWrite(SPEED_1, 0);
analogWrite(SPEED_2,0);

delay(время остановки в миллисекундах);
Полная версия программы для движения мобильного робота ардуино вперед
#define SPEED_1      6 // скорость первого мотора
#define DIR_1        7 // направление первого мотора
#define DIR_2        4 // направление второго мотора
#define SPEED_2      5 // скорость второго мотора
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
  analogWrite(SPEED_1, 100);
 digitalWrite(DIR_1,HIGH);
 analogWrite(SPEED_2,100);
 digitalWrite(DIR_2, HIGH);
 delay(1000);
 analogWrite(SPEED_1,0);
 digitalWrite(DIR_1,HIGH);
 analogWrite(SPEED_2,0);
 digitalWrite(DIR_2, HIGH);
 delay(10000);
}

Вернуться к содержанию курса Следующая тема Повороты мобильного робота ардуино

Комментарии (0)

Нет комментариев. Ваш будет первым!