ESP32
ESP32
Ingeniería en Energía
Eficiencia Energética
“Ejercicios ESP32”
Grupo: “5EM1”
Alumnos:
Hernández Ávila Mario Alberto
Profesor:
Julio Cesar Suarez Tapia
20 de mayo de 2023
ESP32
Los SoC (Sistema en Chip) son un sistema integrado basado en señales digitales o analógicas que
son aprovechados como módulos o sistemas de radiofrecuencia.
Construimos un par de circuitos para probar las capacidades del chip usando Arduino IDE como
constructor.
#define ButtonPin 4
#define LedPin 2
int LedState=HIGH;
int ButtonState;
int lastButtonState=LOW;
unsigned long lastDebounceTime=0;
unsigned long debouncedelay=50;
void setup() {
pinMode(ButtonPin,INPUT);
pinMode(LedPin,OUTPUT);
digitalWrite(LedPin,LedState);
void loop() {
int reading=digitalRead(ButtonPin);
if(reading!=ButtonState){
lastDebounceTime=millis();
}
if((ButtonState=millis()-lastDebounceTime)>debouncedelay){
if(reading!=ButtonState){
ButtonState=reading;
if(ButtonState==HIGH){
LedState=!LedState;
}
}
digitalWrite(LedPin,LedState);
lastButtonState=reading;
El segudo código simplemente añadió una secuencia de leds encendiendo y apagando de
pendiendo de que botón estuviese pulsado.
#define led01 5
#define led02 18
#define led03 19
#define led04 21
#define button01 35
#define button02 32
int ledState = HIGH;
int buttonState;
int lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup()
{
pinMode(button01,INPUT);
pinMode(button02,INPUT);
pinMode(led01,OUTPUT);
pinMode(led02,OUTPUT);
pinMode(led03,OUTPUT);
pinMode(led04,OUTPUT);
}
void loop()
{
int reading01 = digitalRead(button01);
int reading02 = digitalRead(button02);
if(reading01 !=buttonState)
{
lastDebounceTime=millis();
}
if((millis()-lastDebounceTime)>debounceDelay)
{
if(reading01 != buttonState)
{
buttonState = reading01;
if(buttonState=HIGH)
{
digitalWrite(led01,HIGH);
delay (1000);
digitalWrite(led01,LOW);
digitalWrite(led02,HIGH);
delay (1000);
digitalWrite(led02,LOW);
digitalWrite(led03,HIGH);
delay (1000);
digitalWrite(led03,LOW);
digitalWrite(led04,HIGH);
delay (1000);
digitalWrite(led04,LOW);
buttonState=LOW;
}
}
}
if(reading01 !=buttonState)
{
lastDebounceTime=millis();
}
if((millis()-lastDebounceTime)>debounceDelay)
{
if(reading02 != buttonState)
{
buttonState = reading01;
if(buttonState=HIGH)
{
digitalWrite(led04,HIGH);
delay (1000);
digitalWrite(led04,LOW);
digitalWrite(led03,HIGH);
delay (1000);
digitalWrite(led03,LOW);
digitalWrite(led02,HIGH);
delay (1000);
digitalWrite(led02,LOW);
digitalWrite(led01,HIGH);
delay (1000);
digitalWrite(led01,LOW);
buttonState=LOW;
}
}
}
}