NodeMCU v3 на UART чипе CH340G не подойдет, т.к. она шире!
В основе платы расширения находится микросхема драйвера электродвигателей L293D. Она может управлять не только направлением вращения двигателей, но и его скоростью.
Питание
Драйвер имеет два канала управления двигателями с максимальной нагрузкой 600 мА на каждый. Допустимое напряжение питания нагрузки: 4,5 – 36 В. Рабочее напряжение самой микросхемы: 4,5 – 9 В.
Питание для модуля подключается к клеммам VIN и GND, а питание для двигателей подключается к клеммам VH и GND. Имеется возможность питать от одного источника, для этого необходимо закоротить VIN и VM, которые находятся слева от контактов UART.
Нельзя устанавливать перемычку, если напряжение двигателей больше 9 В!
Распиновка
Шилд оснащён клеммными колодками для питания NodeMCU и двигателей, а также для управления этими двигателями. Порты GPIO разведены стандартными штырьками 2,54 мм. Выводы интерфейсов UART и SPI для удобства разведены на отдельных колодках.
Между кнопкой питания и клеммами питания NodeMCU находятся разъёмы питания (shortcut) драйвера и двигателей. Также на плате присутствуют светодиодный индикатор и сквозные отверстия для её крепления.
После установки платы NodeMCU v2.0 на модуль Motor Shield используется всего 4 контакта для управления двигателями. В таблице ниже показаны, какие из контактов используются модулем, а какие свободны.
Пример
Подключение двигателей осуществляется с помощью 4-х контактного зажимного разъема с обозначеннымии выводами A-, A+, B-, B+. Также на плате выведены контакты VIN, 3.3 В, DIO, AIO, SDIO, UART, SPI, RST и EN, для удобного подключения всех видов датчиков (например, температуры и влажности, зуммер, реле и т.п.).
В примере используем контроллер NodeMCU (CP2102), Motor Shield и 2 двигателя постоянного тока. Первым делом устанавливаем плату NodeMCU на Motor Shield, ориентир – рисунок антенны. Далее подключаем два двигателя, первый к выводам A- и A+, второй подключаем к выводам B- и B+. Теперь можно подключать питание, в примере будем использовать один источник питания (в данном случае это блок питания на 5V), подключаем его к выводам VIN и GND, также необходимо установить джампер (перемычку), чтобы сделать общими питание модуля и двигателей. Схему подключения можно посмотреть на рисунке ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// Двигатель A #define in1 5 #define in2 0 // Двигатель B #define in3 4 #define in4 2 void setup() { pinMode(in1, OUTPUT); // Устанавливаем in1 как выход pinMode(in2, OUTPUT); // Устанавливаем in2 как выход pinMode(in3, OUTPUT); // Устанавливаем in3 как выход pinMode(in4, OUTPUT); // Устанавливаем in4 как выход } void loop() { digitalWrite(in1, HIGH); // Включаем двигатель A digitalWrite(in2, LOW); // Вращение двигателем А по часовой стрелке delay(2000); // Пауза digitalWrite(in2, HIGH); // Вращение двигателем А против часовой стрелке delay(2000); // Пауза digitalWrite(in1, LOW); // Выключаем двигатель А delay(2000); digitalWrite(in3, HIGH); // Включаем двигатель B digitalWrite(in4, LOW); // Вращение двигателем B по часовой стрелке delay(2000); // Пауза digitalWrite(in4, HIGH); // Вращение двигателем B против часовой стрелке delay(2000); // Пауза digitalWrite(in3, LOW); // Выключаем двигатель B delay(2000); } |