Используем плату с микроконтроллером ESP8266, драйвер моторов MX1508 и сервопривод для управления машинкой собранной из набора Lego.

Характеристики м-к ESP8266:

  • 32-разрядный RISC микропроцессор LX106
  • Разработчик Tensilica Xtensa®Т
  • Тактовая частота от 80 до 160 МГц1
  • RAM 128 кб
  • Flash ext. 4 МБ (внешняя) 
  • Wi-Fi 802.11b/g/n

Плата MX1508 содержит микросхему MX1508 и самовосстанавливающийся предохранитель. 

Микросхема MX1508 — это двухканальный мостовой ШИМ усилитель с возможностью реверса.

Рис. 1. Плата MX1508.

Электрические характеристики MX1508:

  • Напряжение питания: 2 — 10 В
  • Рабочий ток каждого канала: до 1.5 А
  • Пиковый ток до 2.5 А
  • Входной сигнал – логика TTL

Схема устройства содержит:

  1. Плату WEMOS D1 mini с м-к ESP8266.
  2. Драйвер моторов MX1508
  3. Сервопривод SG90
  4. Двигатель постоянного тока с редуктором
  5. Батарейный блок 4хАА
  6. Батарейки АА 4 шт. 
  7. Монтажную плату. 

Рис. 1. Принципиальная электрическая схема машинки.

Программировать микроконтроллер ESP8266 будем в среде Arduino IDE. В Ардуино IDE в меню "Параметры" необходимо выбрать плату "WEMOS D1 mini" 

Рис. 2. Параметры настройки Arduino IDE.

#include <Servo.h>
Servo servo;

const int motorA = 4;
const int motorB = 5;
const int servoPin = 12;

void setSpeed(int power) {                    // power -255 ... 255
  digitalWrite(motorB, power < 0);
  analogWrite(motorA, (power < 0) ? (255 + power) : power);
}

void setTurn(int turn){                       // power -100 ... 100
  servo.write(map(turn, -100, 100, 20, 130)); //Корректировка прямо и диапазон углов поворота
}

void setup() {
  pinMode(motorA, OUTPUT);
  pinMode(motorB, OUTPUT);
  setSpeed(0);
  servo.attach(servoPin);
  servo.write(90);
}

void loop() {
  setSpeed(0);
  setTurn(0);
  delay(500);
}

 

Задание 1. Напишите функции поворот направо, налево разворот на месте и вокруг колеса, движение назад.

Задание 2. Напишите программы движения робота по тректории овал, прямоугольник, восьмёрка.