Автомобильное шасси 2WD и NodeMCU

В данной статье расскажу как собрать двухколесное автомобильное шасси 2WD (mini). Управление осуществляется с помощью платы NodeMCU v.2 и модуля Motor Shield.
Необходимые детали:
► Модуль NodeMcu v.2, ESP8266-12E, CP2102 x 1 шт.
► Плата расширения для NodeMCU v2, Motor Shield x 1 шт.
► Wemos Shield V3 для Li-ion батарей 18650 x 1 шт.
► Аккумулятор LiitoKala HG2, 18650, 3000 mAh x 1 шт.
► Шасси для робототехнических проектов 2WD, mini x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
Сборка платформы 2WD
Двухколесное автомобильное шасси 2WD состоит из четырех миллиметрового прозрачного акрила с технологическими отверстиями, необходимые для установки двигателей, плат управления, датчиков. В качестве двигателей используется два редуктора с коэффициентом передачи редуктора 48:1, на которые устанавливается два колеса диаметром 65 мм, за третью опору отвечает колесо-ролик. Также в комплект входит болтики, гайки, стойка крепления двигателя, прерыватели для энкодера.

Теперь начнем сборку, для этого дополнительно понадобится крестовая отвертка. Сначала на шасси с помощью стоек крепим двигатели-редукторы, затем на них устанавливаем колесо, при необходимости устанавливаем прерыватель для энкодера. Теперь осталось установить колеса-ролика, для этого приложим его к монтажным отверстиям в передней части платформы.
Когда платформа готова, необходимо собрать электрическую часть схемы.

Настройка приложения BLYNK
Управление осуществляется с помощью приложения BLYNK, необходимо скачать его и установить на телефон. При первом запуске программа попросит «Зарегистрироваться» или «Ввести логин и пароль«, после необходимо создано новый проект, нажав «New project«. Для удобства назовем проект 2WD, в поле «CHOOSE DEVICE» выберем плату «NodeMCU» в «CONNECTION TYPE» выберем тип подключения «Wi-Fi» и в конце жмем кнопку «Create» проект создан. На электронную почту, которую указали при регистрации придет сообщение с номером «Auth Token» запомните его, он еще пригодится.
В окне проекта «2WD» нажмите на «+» в правом верхнем углу или проведите пальцем влево, откроется меню, найдите «Joystick» и добавьте его в проект, если будет удобно растение его на всю ширину экрана. Затем нажмите один раз на «Joystick» выйдет меню настроек, укажите как показано на рисунке. Вот и все проект готов, осталось только нажать на стрелку ввернем правом углу и проект запустится.
Программа NodeMCU:
Первом делом, необходимо установить поддержку NodeMCU в среде разработке Arduino IDE, как это сделать можно посмотреть в этом обзоре. Так же, для работы необходимо установить библиотеку «BlynkSimpleEsp8266«, для этого, нажмите на «Скетч» — «Подключить библиотеку» — «Управлять библиотеками..»

Откроется «Менеджер библиотек«, введите в поиске «Blynk» и установите библиотеку, на сегодня версия доступна версия 0.6.1

Все готово, необходимо подключить «NodeMCU» к компьютеру и загрузить скетч ниже, в котором укажете ваш «Token«, а так же название и пароль от вашей сети Wi-Fi.
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h> // Подключаем библиотеку ESP82
#include <BlynkSimpleEsp8266.h> // Подключаем библиотеку BlynkSimpleEsp8266
char auth[] = "Ваш Auth Token"; // Установка Token
char ssid[] = "Название вашей сети";
char pass[] = "Пароль от вашей сети";
int PWMA=5;
int PWMB=4;
int DA=0;
int DB=2;
void setup()
{
Serial.begin(9600); // Установка последовательной связи на скорости 9600
Blynk.begin(auth, ssid, pass);
pinMode(PWMA, OUTPUT); // Устанавливаем PWMA как выход
pinMode(PWMB, OUTPUT); // Устанавливаем PWMB как выход
pinMode(DA, OUTPUT); // Устанавливаем DA как выход
pinMode(DB, OUTPUT); // Устанавливаем DB как выход
}
void loop()
{
Blynk.run();
}
// Считываем данные джойстика
BLYNK_WRITE(V1)
{
int x = param[0].asInt();
int y = param[1].asInt();
Serial.print (y);
if(x==-1 && y==-1){
digitalWrite(PWMA, LOW);
digitalWrite(DA, LOW);
digitalWrite(PWMB, HIGH);
digitalWrite(DB, HIGH);
}else if(x==-1 && y==0){
digitalWrite(PWMA, 450);
digitalWrite(DA, HIGH);
digitalWrite(PWMB, 450);
digitalWrite(DB, LOW);
}else if(x==-1 && y==1){
digitalWrite(PWMA, LOW);
digitalWrite(DA, LOW);
digitalWrite(PWMB, HIGH);
digitalWrite(DB, LOW);
}else if(x==0 && y==-1){
digitalWrite(PWMA, HIGH);
digitalWrite(DA, HIGH);
digitalWrite(PWMB, HIGH);
digitalWrite(DB, HIGH);
}else if(x==0 && y==0){
digitalWrite(PWMA, LOW);
digitalWrite(DA, LOW);
digitalWrite(PWMB, LOW);
digitalWrite(DB, LOW);
}else if(x==0 && y==1){
digitalWrite(PWMA, HIGH);
digitalWrite(DA, LOW);
digitalWrite(PWMB, HIGH);
digitalWrite(DB, LOW);
}else if(x==1 && y==-1){
digitalWrite(PWMA, HIGH);
digitalWrite(DA, HIGH);
digitalWrite(PWMB, LOW);
digitalWrite(DB, LOW);
}else if(x==1 && y==0){
digitalWrite(PWMA, 450);
digitalWrite(DA, LOW);
digitalWrite(PWMB, 450);
digitalWrite(DB, HIGH);
}else if(x==1 && y==1){
digitalWrite(PWMA, HIGH);
digitalWrite(DA, LOW);
digitalWrite(PWMB, LOW);
digitalWrite(DB, LOW);
}
}
После удачно загрузки откройте окно «Мониторинг порта«, если все правильно ввели, появится информация об подключении к сети Wi-Fi и активация «Token«

Вот и все, будут вопросы пишите.
Купить на Aliexpress
Модуль NodeMcu v.2, ESP8266-12E, CP2102
Плата расширения для NodeMCU v2, Motor Shield
Wemos Shield V3 для Li-ion батарей 18650
Аккумулятор LiitoKala HG2, 18650, 3000 mAh
Шасси для робототехнических проектов 2WD, mini
Провода DuPont, 2,54 мм, 20 см
Купить в Самаре и области
Модуль NodeMcu v.2, ESP8266-12E, CP2102
Плата расширения для NodeMCU v2, Motor Shield
Wemos Shield V3 для Li-ion батарей 18650
Аккумулятор LiitoKala HG2, 18650, 3000 mAh
Шасси для робототехнических проектов 2WD, mini
Провода DuPont, 2,54 мм, 20 см















