Zumbador con pulsador en el ESP32

Manipular zumbador con pulsador en ESP32

Ahora que ya sabemos usar el zumbador, ahora vamos a manipular zumbador con pulsador en ESP32, de tal suerte que al presionar diferentes pulsadores que se generen diferentes frecuencias de sonidos, seguiremos estos pasos:

  • Al presionar el pulsador 1 se genera un pulso de 400 decibelios.
  • Al presionar el pulsador 2 se genera un pulso de 500 decibelios.
  • Al presionar el pulsador 3 se genera un pulso de 600 decibelios.

Requerimientos:

  • ESP32.
  • Zumbador.
  • 3 Resistencias de 330 Ohms.
  • 3 Pulsadores.
  • Cables

Conexiones:

  • Conectamos la tierra (GND) del ESP32 al cable negro del zumbador.
  • Conectamos el pin D4 del ESP32 al cable rojo del zumbador.
  • Conectamos el pulsador 1 con su respectiva resistencia a la tierra y la corriente al pin 32.
  • Conectamos el pulsador 2 con su respectiva resistencia a la tierra y la corriente al pin 35.
  • Conectamos el pulsador 3 con su respectiva resistencia a la tierra y la corriente al pin 34.
Zumbador con pulsador en el ESP32
Zumbador con pulsador en ESP32

Código de un Zumbador con pulsador en el ESP32:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/*
Zumbador con pulsador en ESP32
*/
//Declaramos el pin del zumbador
int pinZumbador=4;
//Pin del pulzador 1
int pinPulsador1=32;
int pinPulsador2=35;
int pinPulsador3=34;
//Inicializamos las variables de la salida pwm
int canal=0, frec=2000, resolucion=8;
void setup() {
Serial.begin(115200);
//Inicializamos la salida del pwm
ledcSetup(canal,frec,resolucion);
//Declaramos pin donde se conecta el zumbador
ledcAttachPin(pinZumbador, 0);
// Configuramos los pulsdores para recibir los datos
pinMode(pinPulsador1, INPUT);
pinMode(pinPulsador2, INPUT);
pinMode(pinPulsador3, INPUT);
}
void loop() {
//Si precionamos el pulsador 1
if (digitalRead(pinPulsador1) == HIGH) {
//Emitimos un tono de 400
ledcWriteTone(0, 400);
Serial.println("1");
}
//Si precionamos el pulsador 3
if (digitalRead(pinPulsador2) == HIGH) {
//Emitimos un tono de 500
ledcWriteTone(0, 500);
Serial.println("2");
}
//Si precionamos el pulsador 3
if (digitalRead(pinPulsador3) == HIGH) {
//Emitimos un tono de 600
ledcWriteTone(0, 600);
Serial.println("3");
}
//Si no se preciona ningun pulsador no emitimos ningun sonido
if(digitalRead(pinPulsador3)==LOW && digitalRead(pinPulsador2)==LOW && digitalRead(pinPulsador1)==LOW ){
ledcWriteTone(0, 0);
}
//ledcWriteTone(0, 0);
delay(10);
}
/* Zumbador con pulsador en ESP32 */ //Declaramos el pin del zumbador int pinZumbador=4; //Pin del pulzador 1 int pinPulsador1=32; int pinPulsador2=35; int pinPulsador3=34; //Inicializamos las variables de la salida pwm int canal=0, frec=2000, resolucion=8; void setup() { Serial.begin(115200); //Inicializamos la salida del pwm ledcSetup(canal,frec,resolucion); //Declaramos pin donde se conecta el zumbador ledcAttachPin(pinZumbador, 0); // Configuramos los pulsdores para recibir los datos pinMode(pinPulsador1, INPUT); pinMode(pinPulsador2, INPUT); pinMode(pinPulsador3, INPUT); } void loop() { //Si precionamos el pulsador 1 if (digitalRead(pinPulsador1) == HIGH) { //Emitimos un tono de 400 ledcWriteTone(0, 400); Serial.println("1"); } //Si precionamos el pulsador 3 if (digitalRead(pinPulsador2) == HIGH) { //Emitimos un tono de 500 ledcWriteTone(0, 500); Serial.println("2"); } //Si precionamos el pulsador 3 if (digitalRead(pinPulsador3) == HIGH) { //Emitimos un tono de 600 ledcWriteTone(0, 600); Serial.println("3"); } //Si no se preciona ningun pulsador no emitimos ningun sonido if(digitalRead(pinPulsador3)==LOW && digitalRead(pinPulsador2)==LOW && digitalRead(pinPulsador1)==LOW ){ ledcWriteTone(0, 0); } //ledcWriteTone(0, 0); delay(10); }
/*
Zumbador con pulsador en ESP32
*/
//Declaramos el pin del zumbador
int pinZumbador=4;
//Pin del pulzador 1
int pinPulsador1=32;
int pinPulsador2=35;
int pinPulsador3=34;
//Inicializamos las variables de la salida pwm
int canal=0, frec=2000, resolucion=8;
void setup() {
  Serial.begin(115200);
  //Inicializamos la salida del pwm
  ledcSetup(canal,frec,resolucion);
  //Declaramos pin donde se conecta el zumbador
  ledcAttachPin(pinZumbador, 0);
  // Configuramos los pulsdores para recibir los datos
  pinMode(pinPulsador1, INPUT);
  pinMode(pinPulsador2, INPUT);
  pinMode(pinPulsador3, INPUT);
}

void loop() {
  //Si precionamos el pulsador 1  
  if (digitalRead(pinPulsador1) == HIGH) {
    //Emitimos un tono de 400
    ledcWriteTone(0, 400);
    Serial.println("1");
  }
  //Si precionamos el pulsador 3
  if (digitalRead(pinPulsador2) == HIGH) {
    //Emitimos un tono de 500
    ledcWriteTone(0, 500);
    Serial.println("2");
  }
  //Si precionamos el pulsador 3
  if (digitalRead(pinPulsador3) == HIGH) {
    //Emitimos un tono de 600
    ledcWriteTone(0, 600);
    Serial.println("3");
  }
  //Si no se preciona ningun pulsador no emitimos ningun sonido
  if(digitalRead(pinPulsador3)==LOW && digitalRead(pinPulsador2)==LOW && digitalRead(pinPulsador1)==LOW ){
    ledcWriteTone(0, 0);
  }
  //ledcWriteTone(0, 0);
  delay(10);
}

Código y diagrama: https://wokwi.com/projects/344467599929639508

21. esp pulsador zumbador
Video de Zumbador con pulsador en ESP32

🎦 Este curso: https://www.youtube.com/watch?v=VuJkqL2Ys3Y&list=PLCTD_CpMeEKTvjzabAvLGHakg-ql6t0q6&ab_channel=ProgramadorNovato

🎦 Curso de Arduino: https://www.youtube.com/watch?v=oGinJt9aALc&list=PLCTD_CpMeEKSqw3Nh7rA9aXUAzbPIPkdv&ab_channel=ProgramadorNovato

🎦 [CURSO] C++ DE 0 A HEROE: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc

Los comentarios están cerrados.