Пару недель назад посмотрел это видео: https://youtu.be/LjJCkGUTHlA и захотел оживить свой старый проект управления роботом через интернет.
В моём случае всё будет несколько проще, с общим для всех игроков видом сверху и стилизацией под игру Batlle City с Денди.
В моём случае всё будет несколько проще, с общим для всех игроков видом сверху и стилизацией под игру Batlle City с Денди.
YouTube
Mech Warfare Puts You In The Robot Cockpit
You've seen First-Person-View (FPV) cameras used to fly drones. But putting them into four-legged robots armed with AirSoft guns is a whole new thing. We ran across this robot league at Maker Faire this year.
Robots battle it out in a miniature city, firing…
Robots battle it out in a miniature city, firing…
Порылся в закромах, нашёл необходимое (слева-направо):
1. Беспроводной WiFi модуль на ESP8266 с аналоговым входом (будем измерять напряжение аккумулятора)
2. Плату управления двумя двигателями постоянного тока на MX1508, силовая часть которой может коммутировать от 2 до 9 вольт
3. Два низковольтных мотор-редуктора
4. Ошибочная ревизия одной из моих плат, от которой я отпилил схему беспроводного зарядника LiPo аккумулятора на BQ51050B
5. Беспроводную зарядку за 300 рублей
6. Сам LiPo аккумулятор из одной банки 3.7В 200 мАч
1. Беспроводной WiFi модуль на ESP8266 с аналоговым входом (будем измерять напряжение аккумулятора)
2. Плату управления двумя двигателями постоянного тока на MX1508, силовая часть которой может коммутировать от 2 до 9 вольт
3. Два низковольтных мотор-редуктора
4. Ошибочная ревизия одной из моих плат, от которой я отпилил схему беспроводного зарядника LiPo аккумулятора на BQ51050B
5. Беспроводную зарядку за 300 рублей
6. Сам LiPo аккумулятор из одной банки 3.7В 200 мАч
На имевшемся у меня модуле Wemos D1 mini (китайская копия китайского модуля) аналоговый вход имел перед собой делитель напряжения, так как аналоговый вход самого ESP8266 принимает максимум 1 вольт. Этот делитель позволяет подавать на аналоговый вход платы A0 до 3.3В, но напряжение нашего аккумулятора может быть и 4.2В, поэтому нужно немного поменять коэфициент делителя.
Находим по маркировке или омметром резистор R2 (он рядом со входом A0) с сопротивлением 100 кОм и меняем его на что-то в диапазоне 30-50 кОм.
Вуаля, теперь можем подавать на A0 до 5В.
Находим по маркировке или омметром резистор R2 (он рядом со входом A0) с сопротивлением 100 кОм и меняем его на что-то в диапазоне 30-50 кОм.
Вуаля, теперь можем подавать на A0 до 5В.
wifi_tank.ino
5.6 KB
Я набросал в Arduino IDE примитивный скетч, который крутит двигателями, выдаёт напряжение аккумулятора, управляется по UDP и поддерживает обновление по воздуху.
Для уменьшения акустического шума, частота ШИМ для управления двигателями установлена в 16 кГц, которые слышно только если приложить двигатель непосредственно к уху (ну или если у вас слух летучей мыши).
Для уменьшения акустического шума, частота ШИМ для управления двигателями установлена в 16 кГц, которые слышно только если приложить двигатель непосредственно к уху (ну или если у вас слух летучей мыши).
После трёх или четырёх итераций впихивания с заменой WiFi модуля на вариант ESP-WROOM-02 родился этот красавец (уродец).