Узнать номера контактов для Arduino IDE для определенной платы - esp 32

Я следовал руководству, которое нашел здесь https://techtutorialsx.com /2019/03/29/esp32-arduino-controlling-a-dc-motor/ По очень интересной теме управления двигателем постоянного тока с помощью esp32 и Arduino у меня есть несколько вопросов:

Первый вопрос: где этот парень узнал номера контактов Arduino IDE для этой платы? Я понятия не имею, как их найти!?

Принимая во внимание, что цифровые контакты ввода-вывода ESP32 могут источник максимального тока 40 мА [1], мы не можем напрямую использовать их для управлять двигателем постоянного тока.

Вместо этого мы собираемся использовать интегральную схему ULN2803A, подавать ток на двигатель, а ESP32 будет просто управлять если двигатель работает или остановлен.

Схема подключения для управления двигателем постоянного тока с ESP32 с помощью ULN2803A можно увидеть ниже на рисунке 1. для управления двигателем постоянного тока с ESP32, используя интегральную схему ULN2803A

Управление двигателем постоянного тока с помощью ESP32 и микросхемы ULN2803A. В Короче говоря, ULN2803A будет действовать как переключатель, который будет включать/выключать подключение двигателя к GND, в зависимости от состояния входа вывод помечен как In 1. Таким образом, когда GPIO ESP32 находится в цифровом высокое значение (VCC), ULN2803A подключит двигатель к GND и, таким образом, мотор будет включен. Когда GPIO имеет низкое цифровое значение (GND), тогда двигатель будет отключен от GND и, таким образом, будет выключен. Кроме того, ULN2803A может управляться входами 3,3 В и обеспечить более высокое напряжение, что позволяет нам управлять двигателем постоянного тока 5 В с ESP32.

Код

Код для этого руководства будет очень простым, так как мы в основном нужно только контролировать состояние (высокий или низкий) цифрового вывода ESP32.

Итак, мы начнем с объявления в качестве глобальной переменной числа контакт, который будет подключен к двигателю постоянного тока.

В моем случае я буду использовать GPIO 13. Обратите внимание, что для Beetle ESP32 плата, которую я использую, соответствует контакту, обозначенному как D7.

int motorPin = 13;

После этого нам нужно инициализировать пин как вывод в Arduino функция настройки. Для этого нам просто нужно вызвать pinMode функция.

Эта функция получает в качестве первого аргумента номер вывода и второй аргумент - константа, указывающая режим работы. Итак, мы будем передать в качестве первого аргумента значение вывода, хранящегося в нашем ранее объявленная глобальная переменная и в качестве второго аргумента постоянный ВЫВОД.

void setup() {

  pinMode(motorPin, OUTPUT);

}

Мы напишем остальную часть нашего кода в основном цикле Arduino. Мы будем Сначала включите двигатель, подождите несколько секунд, выключите его, подождите некоторое время. секунд, а затем повторите.

Итак, чтобы включить двигатель, нам просто нужно установить значение ESP32. цифровой контакт на высокий уровень, что заставит двигатель работать на полной скорости. Мы можно установить цифровой уровень вывода вызовом функции digitalWrite. функция.

Эта функция получает в качестве первого аргумента номер вывода и второй аргумент константа, указывающая цифровой уровень, до которого пин должен быть установлен.

, 👍0


1 ответ


1

Пакет плат Arduino с конфигурацией для вашей платы содержит константы для контактов, которые соответствуют меткам на печатной плате. Константы определены в файле pins_arduino.h, который применяется только в том случае, если вы выберете соответствующую плату в меню «Инструменты». В коде вы должны использовать эти константы как значения для своих констант, например, const uint8_t LED1_PIN = D2;.

Если в пакете плат нет платы и вы используете общие настройки, вы можете изучить схему платы, чтобы увидеть, какой вывод печатной платы подключается к какому выводу MCU. Обычно номера логических контактов обозначаются на схемах в дополнение к номерам физических контактов микросхемы.

Примечание. Связанный файл pins_arduino.h предназначен для FireBeetle ESP32. Beetle ESP32 еще не определен в пакете плат ESP32.

Схемы находятся на странице Wiki.

,