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

Самый простой Arduino робот-следопыт с драйвером SparkFun L298

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

Необходимые инструменты

Программное обеспечение

О проекте

Робот-следопыт (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 робот-следопыт с драйвером SparkFun L298
Схема: Arduino UNO, L298N, 2 ИК-сенсора, 2 мотора, батарея

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

  1. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  2. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  3. Робот-трассер V4 на Arduino Nano: продвинутая линия с PID и кастомным PCB
  4. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  5. Автономный линий-следующий робот на Arduino UNO
  6. Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
  7. DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
  8. Голосовой робот на Arduino Nano: Управление речью через Bluetooth
  9. MobBob: Самостоятельная сборка Arduino-робота под управлением Android-смартфона
  10. PiBot: Робот-пианист на Arduino для точного исполнения музыки