Amateur Radio Station R9AL

     Этот робот не имеет внешних датчиков, но его можно запрограммировать на движение по заданному алгоритму.

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



Монтажная схема робота:


Сборка робота:

Робот состоит из двух частей. Первая часть - колесная платформа, собранная на основной плате (деталь 01). Сборка работа начинается со сборки двухколесной платформы на мотор-редукторах ТТ1:48.

После того, как платформа собрана - на нее нужно установить плату драйвера двигателей MX-1508




     После сборки платформы, собираем вторую часть робота, на дополнительной плате (деталь 02), на которую нужно установить контроллер Arduino UNO и батарейный отсек для двух аккумуляторов 18650. Плата Arduino UNO крепится тремя винтами с потайными головками, поэтому необходимо произвести зенковку отверстий с обратной стороны платы 02. Зенковать отверстия необходимо с помощью специального сверла (или сверлом по металлу диаметром 8 мм.). Батарейный отсек также крепится винтами с потайными головками:





     Для крепления контроллера Arduino UNO обязательно использовать шайбы, которые входят в Набор деталей для сборки мобильных роботов "КРАБ".





     Далее производится окончательная сборка робота и соединение частей робота в соответствии с принципиальной схемой. Для соединения используются типовые гибкие соединительные перемычки длиной 10 см типа штекер-гнездо.





Программирование робота

     Напишем простую программу, в соответствии с которой робот будет двигаться прямо в течении одной секунды, останавливаться на одну секунду, поворачивать направо в течении 0.7 секунды, опять останавливаться на секунду и далее процесс будет повторяться. Вот код:

/*  Робот  */

void setup()  { 
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
}

void loop() {
  
  digitalWrite(6, HIGH); digitalWrite(9, LOW);    // Двигаться вперед
  digitalWrite(10, HIGH); digitalWrite(11, LOW);  //
  delay(1000);                                    // в течении одной секунды
  
  digitalWrite(6, LOW); digitalWrite(9, LOW);     // Остановиться
  digitalWrite(10, LOW); digitalWrite(11, LOW);   //
  delay(1000);                                    // на одну секунду
 
  digitalWrite(6, HIGH); digitalWrite(9, LOW);    // Повернуть на право
  digitalWrite(10, LOW); digitalWrite(11, LOW);   //
  delay(700);                                     // поворот в течении 0,7 секунд
  
  digitalWrite(6, LOW); digitalWrite(9, LOW);     // Остановиться
  digitalWrite(10, LOW); digitalWrite(11, LOW);   //
  delay(1000);                                    // на одну секунду
 
}

А вот видео как это работает:



Задание

     Попробуйте запрограммировать робота на более сложные движения, включая, например, движение задним ходом, разворот на месте, плавный поворот и т.п.


31.03.2022

Одно из выполненных заданий:





Обсуждение на форуме





Copyright © R9AL 2022 Все права защищены
Рейтинг@Mail.ru Яндекс цитирования