Это руководство проведет вас через ваш первый проект на ESP32: мигание светодиодом! Этот, казалось бы, простой проект является основополагающим для понимания взаимодействия с аппаратным обеспечением и программирования микроконтроллеров. Он закладывает основу для более сложных проектов Интернета вещей (IoT). Вот несколько идей для расширения этого проекта:
Создайте простой ночник с регулируемой яркостью.
Соберите визуальный индикатор для показаний датчика (например, температуры, влажности).
Разработайте базовую систему сигнализации с использованием светодиода в качестве индикатора.
Интегрируйте светодиод в более крупный проект IoT, например, в систему умного дома.
Аппаратное обеспечение/Компоненты
Для выполнения этого проекта вам понадобятся следующие компоненты (на видео в 00:35):
Микроконтроллер ESP32 (например, из учебного набора SunFounder ESP32 IoT).
Светодиод (LED).
Резистор на 220 Ом.
Макетная плата (breadboard).
Соединительные провода (перемычки).
ESP32, со встроенными Wi-Fi и Bluetooth, предлагает обширные возможности, превосходящие стандартный Arduino Uno (на видео в 00:47).
Руководство по подключению
Подключение простое. (на видео в 20:34) Подключите более длинную ножку (анод) светодиода к положительной шине макетной платы. Подключите более короткую ножку (катод) светодиода к одному концу резистора на 220 Ом. Подключите другой конец резистора к цифровому пину на вашем ESP32 (в этом примере пин 26). Наконец, подключите провод заземления от макетной платы к пину GND вашего ESP32. Делитель напряжения необходим для предотвращения повреждения светодиода. Резистор ограничивает ток, протекающий через светодиод, гарантируя, что он не превысит максимально допустимое значение (на видео в 07:27).
%%WIRING%%
Объяснение кода
Код Arduino довольно прост. Ключевые части:
//номер пина светодиода
const int ledPin = 9; // Пин, заданный пользователем для светодиода (на видео в 25:37)
void setup() {
pinMode(ledPin, OUTPUT); // Установить пин светодиода как выход (на видео в 26:23)
}
void loop() {
digitalWrite(ledPin, HIGH); // Включить светодиод (на видео в 27:08)
delay(500); // Подождать полсекунды (на видео в 28:30)
digitalWrite(ledPin, LOW); // Выключить светодиод (на видео в 28:30)
delay(500); // Подождать полсекунды (на видео в 28:30)
}
Константа ledPin определяет, к какому цифровому пину подключен светодиод. Вы можете изменить это значение в соответствии с вашим подключением. Функция setup() инициализирует режим пина. Функция loop() непрерывно переключает светодиод между состояниями вкл/выкл с задержкой 500 мс. Вы можете изменить значения задержки (в миллисекундах), чтобы изменить частоту мигания (на видео в 31:56).
Живой проект/Демонстрация
На видео демонстрируется весь процесс, от подключения до загрузки и выполнения кода (на видео в 29:16). Инструктор показывает, как проверить соединение с помощью пина 3.3V, чтобы убедиться в правильности подключения перед подключением к назначенному пину ESP32 (на видео в 21:39). В видео также подчеркивается использование Arduino IDE, показывается, как выбрать плату и загрузить код (на видео в 30:01).
Главы
[00:00] Введение и обзор проекта
[02:02] Понимание резисторов
[05:48] Понимание светодиодов
[08:59] Введение в макетные платы
[18:34] Соединения на макетной плате и шины питания
/*
* номер светодиодного пина
*/
const int ledPin = 9;
void setup()
{
// initialize the digital pin as an output
pinMode(ledPin,OUTPUT);
}
// the loop routine runs over and over again forever
void loop()
{
digitalWrite(ledPin,HIGH); // turn the LED on
delay(500); // wait for half a second
digitalWrite(ledPin,LOW); // turn the LED off
delay(500); // wait for half a second
}
Раскрытие: Как партнер Amazon, мы зарабатываем на квалифицированных покупках. Это означает, что мы можем получить небольшую комиссию, если вы нажмете на ссылку и совершите покупку без дополнительных затрат для вас.