Это руководство поможет вам использовать ESP32 с Arduino IDE для считывания цифровых входов, таких как кнопочный переключатель, и управления цифровыми выходами, такими как светодиод.
Прежде чем мы начнем, вам понадобится:
- ESP32
- Макет
- Кабель микро-USB
- Нажать кнопку
- ВЕЛ
- Соединительный кабель «папа-папа»
- Резистор 330 Ом
- Резистор 10 кОм
- PC
КОД
Вот мой код для этого проекта.
// We assigned a name LED pin to pin number 5 const int LEDPIN = 5; // this will assign the name PushButton to pin numer 4 const int PushButton = 4; // This Setup function is used to initialize everything void setup(){ // This statement will declare pin 5 as digital output pinMode(LEDPIN, OUTPUT); // This statement will declare pin 4 as digital input pinMode(PushButton, INPUT); } void loop(){ // digitalRead function stores the Push button state // in variable push_button_state int Push_button_state = digitalRead(PushButton); // if condition checks if push button is pressed // if pressed LED will turn on otherwise remain off if ( Push_button_state == HIGH ){ digitalWrite(LEDPIN, HIGH); } else { digitalWrite(LEDPIN, LOW); } }
Я использую контакт 4 в качестве входного контакта и контакт 5 в качестве выходного контакта. Вы можете выбрать другой контакт GPIO, если хотите. Обязательно прочитайте это, если вы не знаете, как выбрать контакты GPIO.
После этого проверьте свой скетч и загрузите его через кабель micro USB на ESP32.
ПРИНЦИПАЛЬНАЯ СХЕМА
Вы можете использовать диаграмму ниже в качестве справки.
Когда ваша схема будет завершена, попробуйте нажать кнопку; светодиод должен загореться.
Попробуйте проверить свою схему, если она не работает.
БОНУС: МАГНИТНЫЕ СВЕТОДИОДНЫЕ СВЕТИЛЬНИКИ
В этом бонусном проекте мы узнаем, как создать эффект светодиодной волны с помощью кнопки.
КОД
const int GREEN = 5; const int YELLOW = 18; const int RED = 19; const int PushButton = 4; void setup(){ pinMode(GREEN, OUTPUT); pinMode(YELLOW, OUTPUT); pinMode(RED, OUTPUT); pinMode(PushButton, INPUT); } void loop(){ int Push_button_state = digitalRead(PushButton); if ( Push_button_state == HIGH ){ digitalWrite(GREEN, HIGH); delay(100); digitalWrite(YELLOW, HIGH); delay(100); digitalWrite(RED, HIGH); delay(100); } else { digitalWrite(GREEN, LOW); delay(100); digitalWrite(YELLOW, LOW); delay(100); digitalWrite(RED, LOW); delay(100); } }
В соответствии с кодом светодиод будет последовательно загораться при нажатии кнопки, создавая эффект волнистости.
Обязательно проверьте свой эскиз и загрузите его через кабель micro USB на ESP32.
ПРИНЦИПАЛЬНАЯ СХЕМА
Вы можете использовать диаграмму ниже в качестве справки.
Когда ваша схема будет завершена, попробуйте нажать кнопку; это должно работать, как показано здесь.
Опять же, если это не сработало, рассмотрите возможность проверки вашей схемы.
На этом руководство заканчивается; спасибо за чтение, и сампай джампа!