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 ESP32

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

/*
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

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

Salir de la versión móvil

Ads Blocker Detected!!!

En Programador Novato vivimos de los anuncios, hemos detectado que está utilizando extensiones para bloquear anuncios. Ayudanos deshabilitando tu bloqueador de anuncios. :)