Это руководство поможет вам использовать 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.

ПРИНЦИПАЛЬНАЯ СХЕМА

Вы можете использовать диаграмму ниже в качестве справки.

Когда ваша схема будет завершена, попробуйте нажать кнопку; это должно работать, как показано здесь.

Опять же, если это не сработало, рассмотрите возможность проверки вашей схемы.

На этом руководство заканчивается; спасибо за чтение, и сампай джампа!