Привет!

Добро пожаловать в мой первый учебник по встраиваемым системам!

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

ШАГ 1: Необходимое оборудование

  1. Совет по развитию ESP32
  2. Ноутбук/ПК
  3. Микро USB-кабель
  4. доска для бороды

ШАГ 2. Необходимое программное обеспечение

  1. Загрузите и установите Arduino IDE

Выберите подходящую версию Arduino IDE для вашего ноутбука/ПК, перейдя по ссылке ниже:



2. Откройте IDE Arduino и добавьте URL менеджера плат

Установите правильную плату, которую вы используете в программном обеспечении Arduino, в строке меню Инструменты, скопировав этот URL-адрес в строку URL-адресов диспетчера дополнительных плат в Файл › Настройки: https://raw.githubusercontent.com. /espressif/arduino-esp32/gh-pages/package_esp32_index.json»

3. Установите пакетную плату ESP32 от Espressif Systems

Найдите Диспетчер досок в разделе Инструменты › Доски и выберите используемую доску. Если вы используете ESP32, вам необходимо установить модуль ESP32 by Espressif Systems.

После этого замените плату на DOIT ESP32 DEVKIT V1.

4. Установите драйвер порта USB-UART

Загрузите драйверы CP210x USB to UART Bridge VCP по ссылке ниже:



ШАГ 3. Подключите ESP32 к ноутбуку/ПК

  1. Подключите ESP32 к ноутбуку/ПК с помощью кабеля micro USB

2. Перейдите на подходящий порт

Выберите подходящий порт USB-UART в разделе Инструменты › Порт.

ШАГ 4. Программирование и компиляция

Перейдите в раздел Файл › Примеры › Основы › Blink.

или вставьте следующий код

/*
 Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
 it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
 the correct LED pin independent of which board is used.
 If you want to know what pin the on-board LED is connected to on your Arduino
 model, check the Technical Specs of your board at:
 https://www.arduino.cc/en/Main/Products
modified 8 May 2014
 by Scott Fitzgerald
 modified 2 Sep 2016
 by Arturo Guadalupi
 modified 8 Sep 2016
 by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
 // initialize digital pin LED_BUILTIN as an output.
 pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
 digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
 delay(1000); // wait for a second
 digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
 delay(1000); // wait for a second
}

Затем щелкните стрелку рядом с кнопкой контрольного списка, чтобы загрузить код на доску.

ШАГ 5. Наблюдение и демонстрация

ДОПОЛНЕНИЕ: мигание внешнего светодиода

ESP32 также поддерживает программирование внешнего светодиода. Я собираюсь показать вам, как это сделать. Но сначала нам нужно понять руководство по распиновке ESP32. На рисунке ниже показано руководство по распиновке для 30 контактов.

В общем, почти все распиновки на ESP32 работают как GPIO (ввод-вывод общего назначения). Исключениями являются GND, VIN и 3V3. Некоторые GPIO могут иметь задачу распознавания более конкретных датчиков. Однако в качестве источника питания для светодиодов эти контакты могут работать в соответствии с созданным исходным кодом.

Теперь нам нужны некоторые детали, чтобы мигать внешним светодиодом. Вот список деталей, которые нам понадобятся:

  1. 5 мм светодиод
  2. Резистор 330 Ом
  3. Провода-перемычки (папа-папа)
  4. Макет (необязательно, но настоятельно рекомендуется)

Если у вас нет макетной платы, схема должна выглядеть так:

Но если вы это сделаете, это будет выглядеть так:

Вы можете скопировать приведенный ниже скрипт в свою среду разработки Arduino IDE.

/*
  Blink
*/
// ledPin refers to ESP32 GPIO 23
const int ledPin = 27;
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin ledPin as an output.
  pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(ledPin, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                  // wait for a second
}

Обратите внимание, что номер светодиодного контакта должен совпадать с тем контактом, на который вы подаете электричество в цепь.

После выполнения этих шагов ваша схема должна выглядеть так: