melodie.ino
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);
}
}
}