Используем плату с микроконтроллером 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
Схема устройства содержит:
- Плату WEMOS D1 mini с м-к ESP8266.
- Драйвер моторов MX1508
- Сервопривод SG90
- Двигатель постоянного тока с редуктором
- Батарейный блок 4хАА
- Батарейки АА 4 шт.
- Монтажную плату.
Рис. 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. Напишите программы движения робота по тректории овал, прямоугольник, восьмёрка.