Самый простой Arduino робот-следопыт с драйвером SparkFun L298
Компоненты и материалы
- Arduino UNO — 1 шт.
- Драйвер двигателей SparkFun Dual H-Bridge L298 — 1 шт.
- ИК-сенсоры линии (IR sensor) — 2 шт. (левый и правый)
- Провода-перемычки — 1 набор
Необходимые инструменты
- Клей-пистолет
- Отвертка
- Набор шасси для line-follower робота
Программное обеспечение
- Arduino IDE
О проекте
Робот-следопыт (line follower) — это «Hello World» робототехники. Данная версия максимально простая и легкая в сборке.
Код прошивки (Arduino)
Логика: два ИК-сенсора (левый LS на пине 2, правый RS на пине 5). Двигатели подключены к пинам 11,10 (левый) и 9,6 (правый) через L298N.
/*------- Определение входов -------*/
#define LS 2 // Левый сенсор
#define RS 5 // Правый сенсор
/*------- Определение выходов -------*/
#define LM1 11 // Левый мотор (прямое)
#define LM2 10 // Левый мотор (обратное)
#define RM1 9 // Правый мотор (прямое)
#define RM2 6 // Правый мотор (обратное)
void setup() {
pinMode(LS, INPUT);
pinMode(RS, INPUT);
pinMode(LM1, OUTPUT);
pinMode(LM2, OUTPUT);
pinMode(RM1, OUTPUT);
pinMode(RM2, OUTPUT);
}
void loop() {
// Оба сенсора на белом (LOW) -> ВПЕРЕД
if ((digitalRead(LS) == LOW) && (digitalRead(RS) == LOW)) MoveForward();
// Оба на черном (HIGH) -> СТОП
if ((digitalRead(LS) == HIGH) && (digitalRead(RS) == HIGH)) Stop();
// Левый на белом, правый на черном -> ПОВОРОТ ВЛЕВО
if ((digitalRead(LS) == LOW) && (digitalRead(RS) == HIGH)) TurnLeft();
// Левый на черном, правый на белом -> ПОВОРОТ ВПРАВО
if ((digitalRead(LS) == HIGH) && (digitalRead(RS) == LOW)) TurnRight();
}
void MoveForward() {
analogWrite(LM1, 50); analogWrite(LM2, 0);
analogWrite(RM1, 50); analogWrite(RM2, 0);
delay(20);
}
void TurnRight() {
analogWrite(LM1, 0); analogWrite(LM2, 60);
analogWrite(RM1, 60); analogWrite(RM2, 0);
delay(30);
}
void TurnLeft() {
analogWrite(LM1, 60); analogWrite(LM2, 0);
analogWrite(RM1, 0); analogWrite(RM2, 60);
delay(30);
}
void Stop() {
analogWrite(LM1, 0); analogWrite(LM2, 0);
analogWrite(RM1, 0); analogWrite(RM2, 0);
delay(20);
}
Схема подключения
Производственный процесс
- Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
- Робот-трассер V4 на Arduino Nano: продвинутая линия с PID и кастомным PCB
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Автономный линий-следующий робот на Arduino UNO
- Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
- DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
- Голосовой робот на Arduino Nano: Управление речью через Bluetooth
- MobBob: Самостоятельная сборка Arduino-робота под управлением Android-смартфона
- PiBot: Робот-пианист на Arduino для точного исполнения музыки