Привет!
Добро пожаловать в мой первый учебник по встраиваемым системам!
Это руководство по использованию ESP32 с Arduino IDE для разработки программ. В этом примере показано самое простое, что вы можете сделать с любой отладочной платой, чтобы увидеть физический вывод через встроенный светодиод.
ШАГ 1: Необходимое оборудование
- Совет по развитию ESP32
- Ноутбук/ПК
- Микро USB-кабель
- доска для бороды
ШАГ 2. Необходимое программное обеспечение
- Загрузите и установите 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 к ноутбуку/ПК
- Подключите 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 могут иметь задачу распознавания более конкретных датчиков. Однако в качестве источника питания для светодиодов эти контакты могут работать в соответствии с созданным исходным кодом.
Теперь нам нужны некоторые детали, чтобы мигать внешним светодиодом. Вот список деталей, которые нам понадобятся:
- 5 мм светодиод
- Резистор 330 Ом
- Провода-перемычки (папа-папа)
- Макет (необязательно, но настоятельно рекомендуется)
Если у вас нет макетной платы, схема должна выглядеть так:
Но если вы это сделаете, это будет выглядеть так:
Вы можете скопировать приведенный ниже скрипт в свою среду разработки 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 }
Обратите внимание, что номер светодиодного контакта должен совпадать с тем контактом, на который вы подаете электричество в цепь.
После выполнения этих шагов ваша схема должна выглядеть так: