Робототехнический набор Двухколёсный Robot Car

Код:00728
Артикул:RCAR-02
В наличии:сейчас нет
Робототехнический набор Двухколёсный Robot Car

Робототехнический набор Двухколесный Robo Car – набор для сборки робота на базе контроллера Arduino. Набор содержит всё необходимое чтобы собрать и запрограммировать робота без работы паяльником.

Робототехнический набор

Основная платформа из (прозрачного акрила с защитной бумагой) размером -------x------ мм предназначена для монтажа на нее ходовой части, микроконтроллера, датчиков, батарейного блока.
Ходовая часть робота, состоящая из 2 ведущих колес (пластиковый мотор-редуктор с  колесом на резиновой покрышке) и заднего колеса на шарикоподшипнике, которое свободно вращается на 360 градусов, позволяет роботу свободно и быстро менять направление движения.

Напряжение питания пластиковых моторов-редукторов 3-6 В. Моторы-редукторы при питании 5 В обеспечивают момент  0,9кгс*см, обороты на выходном валу редуктора 200 об/мин, что при диаметре колеса 65 мм позволяет разгонять робота до скорости 0,5 м/сек.
В комплекте идут колеса для оптических сенсоров, что позволит при добавлении соответствующих датчиков измерять скорость движения, а также использовать данные о движении приводов для оценки перемещения робота (одометрии).



Сверху платформы крепится держатель батарей 4AA, обеспечивающий питание всей электроники напряжением 6В.

 Плата Arduino UNO – мозг нашего робота,  крепится сверху платформы.



Для управления моторами используется L298 драйвер двигателей, который позволяет управлять двумя моторами постоянного тока с потребляемым током до 2 Ампер.


 
 Подключая входы ENA и ENB к PWM выходам Arduino мы можем регулировать скорость вращения каждого мотора, что позволит роботу совершать повороты.
Для обнаружения препятствий по ходу робота предназначен ультразвуковой модуль расстояния HC-SR04.



Диапазон измерения расстояния модуля 2–400 см с
разрешением  0.3 см, эффективный угол <15°. Результат обнаружения не зависит от цвета или отражающей способностью объекта в оптическом диапазоне. Однако, обнаружение мягких материалов, таких как ткань, может быть затруднено.
Для измерения расстояния в различных направлениях модуль HС SR-04 должен вращаться по кругу. Для вращения используется сервопривод SG90 и мобильная платформа для его крепления.


 Вот платформа для крепления сервопривода в сборе. В таком виде это крепится с помощью болтов к основной платформе.


 
Далее крепим модуль HС SR-04.
 

 
В набор входит плата Arduino Sensor Shield V5.0, которая предназначена для расширения функциональности контроллеров на платформе Arduino UNO.
Плата позволяет подключить различные вариации внешних устройств, таких как датчики, сервомашинки, реле, кнопки, потенциометры и т.д. На плате расположено множество интерфейсов для подключения различных внешних устройств и питания. Для данного робота нас интересуют:
Для подключения HC SR-04 - Ultrasonic interface (интерфейс для подключения ультразвуковых датчиков) – имеет 4 вывода, первый вывод обозначен на плате знаком «+». Обозначение выводов: VCC, A0, A1, GND.
Для подключения сервопривода и драйвера моторов  - Digital IO ports (колодка цифровых входов-выходов) имеет 16 выводов. Обозначение выводов: D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, GND, AREF. Каждый вход-выход имеет 3 контакта GND, VCC, Signal.
После сборки робота можно приступать к программированию.
 
Напишем простой скетч для движения робота, при обнаружении препятствий робот останавливается, отьезжает назад, начинает крутиться пока не обнаружит свободное направление и опять движется вперед.
Для написания скетча нам понадобятся библиотеки (для работы с модулем HC SR-04 скачать) и Servo (стандартная Arduino библиотека).
Вот  код данного скетча
// добавить библиотеки
#include "Ultrasonic.h"
#include "Servo.h"

// HC SR-04 подключение
// Trig – A0, Echo – A1
Ultrasonic ultrasonic(A0, A1);
// L298 driver
int MotorRight1 = 5;
int MotorRight2 = 4;
int SpeedRight = 3;
int MotorLeft1 = 8;
int MotorLeft2 = 7;
int SpeedLeft = 6;
 
float dist_cm;    // переменная для хранения расстояния
boolean flag;

void setup() {
  // настроить выводы для моторов в OUTPUT
 pinMode (SpeedRight, OUTPUT); 
 pinMode (MotorRight11, OUTPUT);  
 pinMode (MotorRight2, OUTPUT);
 pinMode (SpeedLeft, OUTPUT); 
 pinMode (MotorLeft1, OUTPUT);  
 pinMode (MotorLeft2, OUTPUT);
 // вперед
 robot_forward();
}

void loop() {
    // получить данные с HC SR-04
    dist_cm = ultrasonic.Ranging(CM);
    if(dist_cm<20) 
      {
      robot_stop();
  flag=false;
  while(flag==false)
    {
     robot_rotation(); 
     dist_cm = ultrasonic.Ranging(CM);
     if(dist_cm>50) 
       flag=true;
     delay(100);
     }
   robot_forward();
   }
}
// движение вперед
void robot_forward()  {
  digitalWrite(MotorRight1,HIGH);
  digitalWrite(MotorRight2,LOW);
  digitalWrite(MotorLeft1, HIGH);
  digitalWrite(MotorLeft2, LOW);
  analogWrite(SpeedRight,127);
  analogWrite(SpeedLeft,127);
}
// движение назад
void robot_forward()  {
  digitalWrite(MotorRight2,HIGH);
  digitalWrite(MotorRight1,LOW);
  digitalWrite(MotorLeft2, HIGH);
  digitalWrite(MotorLeft1, LOW);
  analogWrite(SpeedRight,127);
  analogWrite(SpeedLeft,127);
  delay(1000);
}
// остановить робота
void robot_stop()  {
  digitalWrite(MotorRight1,LOW);
  digitalWrite(MotorRight2,LOW);
  digitalWrite(MotorLeft1, LOW);
  digitalWrite(MotorLeft2, LOW);
}
//  вращение робота
void robot_rotation()  {
  digitalWrite(MotorRight2,HIGH);
  digitalWrite(MotorRight1,LOW);
  digitalWrite(MotorLeft2, LOW);
  digitalWrite(MotorLeft1, HIGH);
  analogWrite(SpeedRight,64);
  analogWrite(SpeedLeft,64);
  delay(200);
}
 


Схема сборки шасси



Описание Робототехнического набора "Двухколёсный Robot Car"  PDF

 
Вверх