melodie.ino

Arduino GIGA R1 · Archivo : melodie.ino · Lenguaje : Arduino · Uso : Retour sonore avec un buzzer passif

tone() en la GIGA va sobre un timer material: el zumbador toca la melodía mientras el M7 hace otra cosa. El retorno sonoro de una máquina de taller está a tres hilos.

Hardware necesario

Una placa Arduino Giga R1 (STM32H747 doble núcleo M7 a 480 MHz + M4, 76 E/S, 2 DAC, FDCAN) alimentada por USB-C o 5-24 V. 1 zumbador pasivo de 3,3 V (pin + GND) o piezo.

Cableado

+ del zumbador en D9, − en GND. Un zumbador activo (oscilador integrado) toca un solo sonido: elegid pasivo.

Funcionamiento

tone(pin, freq, duración) configura el timer en salida cuadrada y para solo; el delay siguiente deja respirar la nota. Varios timers = polifonía posible. En el Arduino IDE, instale la plataforma « Arduino Zephyr-based Boards » (o Mbed), elija « Arduino Giga R1 » y suba. Lógica de 3,3 V.

Para ir más lejos

Bip de alerta CAN (trama de error = tono grave), o memo musical pilotado por el ADC.

melodie.ino

// Buzzer passif entre D9 et GND — tone() du core GIGA.
const int BUZZER = D9;

struct Note { int freq; int ms; };
Note air[] = {
  {659, 300}, {659, 300}, {659, 300}, {523, 900},   // mi mi mi do
  {659, 600}, {784, 30},  {392, 600},  {523, 600},
};
const int NB = sizeof(air) / sizeof(Note);

void setup() {
  pinMode(BUZZER, OUTPUT);
  Serial.begin(115200);
  Serial.println("Appui bouton D2 = musique");
  pinMode(D2, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(D2) == LOW) {
    for (int i = 0; i < NB; i++) {
      tone(BUZZER, air[i].freq, air[i].ms);
      delay(air[i].ms + 30);
    }
  }
}

← Volver a la ficha