🛠 Mélodie sur buzzer LilyPad

LilyPad Arduino · intermediaire · Schéma : IMG-lilypad-intermediaire-2-lilypad-buzzer-melodie.svg — Buzzer LilyPad sur la pastille 10, notes de musique et contact de déclenchement cousu sur la pastille 2.

Objetivos

Hacer sonar una melodía con un zumbador cosido: generación de una señal cuadrada mediante tone en una pastilla PWM, disparo por contacto y respeto del presupuesto de batería (la pila integrada del SimpleSnap es de solo 110 mAh). También se aprende a detener la oscilación para no agotar la LiPo.

Material

Código completo

// Mélodie sur buzzer passif — pastille PWM 10, contact sur 2
const uint8_t BUZZER = 10; // pastille PWM (5/6/9/10/11 sur Simple/SimpleSnap)
const uint8_t BOUTON = 2;  // contact cousu vers « − », pull-up interne

const uint16_t MELODIE[] = {523, 659, 784, 1047}; // do mi sol do aigu (Hz)
const uint16_t DUREE[]   = {180, 180, 180, 400};  // ms

void setup {
  pinMode(BOUTON, INPUT_PULLUP);
  pinMode(BUZZER, OUTPUT);
}

void loop {
  if (digitalRead(BOUTON) == LOW) {       // contact fermé -> on joue
    for (uint8_t i = 0; i < 4; i++) {
      tone(BUZZER, MELODIE[i], DUREE[i]); // carré ~50 % sur la pastille PWM
      delay(DUREE[i] + 40);               // petite pause entre les notes
    }
    noTone(BUZZER);                       // ne pas laisser la broche osciller
    while (digitalRead(BOUTON) == LOW) {} // anti-réenchaînement
  }
}

Verificación esperada

Al hacer contacto con los dos botones pulsadores, suenan cuatro notas ascendentes (do–mi–sol–do agudo), la última más larga, y luego silencio total. El sonido es nítido y no zumba continuamente: noTone corta bien la oscilación. Cada nuevo contacto reinicia la melodía una sola vez.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales