И так для этого нам понадобится:
-Arduino Uno
-2 редуктора
-ультразвуковой дальномер HS-SR04
-бусинка
-оргстекло
-провода-перемычки типа "папа мама"
-драйвер двигателей L298D
-батарейка "крона"
-аккумулятор на 6-12 В
-колёса
И так для начала нужно припаять провода к ультразвуковому датчику:
Затем нужно припаять провода (с заранее отрезанным выходом "мама") к редукторам. Вместо колёс я взял крышки от 5 литровых бутылок и для лучшего сцепления приклеил на них шкурку.
Теперь нужно из оргстекла или фанеры вырезать каркас, подгоняя его под свои требования, лично я сделал вот такой:
Затем нужно приклеить к нашему каркасу: аккумулятор (я использую спаянные последовательно 4 батарейки на 1,5 В), драйвер двигателей, крону, редукторы, ультразвуковой датчик, так как показано на фото:
Перед тем как приклеить ардуино уно нужно загрузить на неё следующий скетч:
#define Trig 8
#define Echo 9
const int in1 = 2; // IN4 pin 2
const int in2 = 4; // IN3 pin 4
const int in3 = 5; // IN2 pin 5
const int in4 = 7; // IN1 pin 7
int ENB1 = 3;
int ENA2 = 6;
void setup()
{
pinMode(Trig, OUTPUT); // выход
pinMode(Echo, INPUT); // вход
pinMode(in1, OUTPUT); // выход на L298n
pinMode(in2, OUTPUT); // выход на L298n
pinMode(in3, OUTPUT); // выход на L298n
pinMode(in4, OUTPUT); // выход на L298n
pinMode (ENB1, OUTPUT);
pinMode (ENA2, OUTPUT);
}
unsigned int impulseTime=0;
unsigned int distance_sm=0;
void loop()
{
digitalWrite(Trig, HIGH);
delayMicroseconds(10); // 10 микросекунд
digitalWrite(Trig, LOW);
impulseTime=pulseIn(Echo, HIGH); // замеряем длину импульса
distance_sm=impulseTime/58; // переводим в сантиметры
if (distance_sm>20) // если расстояние более 20 сантиметров
{
digitalWrite(in1, HIGH);
delay(300);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
delay(300);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(ENB1,250);
analogWrite(ENA2,250);
}
else
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
delay(500);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(ENB1,250);
analogWrite(ENA2,250);
delay(200);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(ENB1,250);
analogWrite(ENA2,250);
delay(100);
}
delay(50);
}
После загрузки скетча можно приклеивать ардуино и крону:
Теперь нужно все компоненты соединить по следующей схеме:
Первым делом подсоединяем ультразвуковой датчик:
Двигатели:
Питание:
Подключаем драйвер двигателей к ардуино:
На конец нашего робота приклеиваем бусинку:
Ну вот и всё наш робот уже готов, осталось только правильно подключить оставшиеся питание, и так ардуино мы запитываем "кроной" подключая + к UIN, а - к GND, при правильном подключение на ардуино должен загореться красный светодиод:
Теперь подключаем - нашего "аккумолятора" к GND, на драйвере также должен загореться красный светодиод:
если двигатели начали вращаться по очереди против часовой стрелки, то всё подключено правильно и при подношение препятствия они начнут вращаться по другому:
Осталось только его испытать в "полевых условиях"
Видео с испытанием и сборкой:
[media=https://www.youtube.com/watch?v=moi5DQUDSZ8]
Всем спасибо за внимание!
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.