Arduino : initiation à l’usage des radioamateurs. 4ème partie.

Mon ARDUINO joue de la musique !

Le but final est de générer la tonalité 1750hz pour enclencher les répéteurs, mais pourquoi ne pas en profiter pour faire un peu de musique, et pas n’importe laquelle puisque nous allons accéder à la demande de Corentin : Arduino est-il capable de me jouer la Cucaracha ?
On peut aussi détourner ce montage pour faire un générateur morse et piloter une balise.

Pour réaliser ce montage, il suffit d’ajouter un petit haut parleur (ou un buzzer) avec une résistance de 100 ohms (marron / noir / marron) en série.

Nous allons simplement utiliser l’instruction :
tone(borne, fréquence, durée);
avec fréquence en hertz et durée en millisecondes

// On définie la borne 3 comme étant notre haut parleur.
const byte haut_parleur = 3;

void setup() {

// On définie la borne haut parleur (donc n°3) comme étant utilisée en sortie (OUTPUT)

pinMode (haut_parleur, OUTPUT);
}

void loop() {

// c'est parti pour la Cucaracha ....

tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 698,800);
delay (400);
tone(haut_parleur, 880,400);
delay (400);
tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 523,200);
delay (400);
tone(haut_parleur, 698,800);
delay (400);
tone(haut_parleur, 880,800);
delay (400);
tone(haut_parleur, 698,200);
delay (400);
tone(haut_parleur, 698,200);
delay (400);
tone(haut_parleur, 659,200);
delay (400);
tone(haut_parleur, 659,200);
delay (400);
tone(haut_parleur, 587,200);
delay (400);
tone(haut_parleur, 587,200);
delay (400);
tone(haut_parleur, 523,400);
delay (400);
}


Dans le même genre, génération de l’indicatif F6KMF en morse

/**
Exemple Arduino tone().
*/
const byte Haut_Parleur = 3;
void setup() {
pinMode(Haut_Parleur, OUTPUT);
}
void loop() {
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,400);
delay(600);
tone(Haut_Parleur, 540,200);
delay(800);
//
tone(Haut_Parleur, 540,400);
delay(600);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,200);
delay(800);
//
tone(Haut_Parleur, 540,400);
delay(600);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,400);
delay(800);
//
tone(Haut_Parleur, 540,400);
delay(600);
tone(Haut_Parleur, 540,400);
delay(800);
//
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,200);
delay(400);
tone(Haut_Parleur, 540,400);
delay(600);
tone(Haut_Parleur, 540,200);
delay(1000);
}

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.