La fonction tone() est une fonction de la bibliothèque d’Arduino qui permet de produire un signal sonore à partir d’une de ses sorties (PWM) en utilisant un signal PWM de 50% de saturation et d’une fréquence spécifiée.
Le son est produit en connectant un haut-parleur sur une des entrées / Sorties de l’Arduino. La durée du son peut être contrôlée en utilisant un paramètre spécifié dans la commande tone().
En utilisant les fonctions tone() et noTone() ensemble, vous pouvez contrôler la génération de son à partir de votre carte Arduino. Elle est parfaite pour les projets qui nécessitent la production de sons simples et peut être utilisée pour produire des alarmes, des bips, etc.
Ce dont vous aurez besoin
- Un Arduino Uno – Disponible ici
- Des câbles de prototypage rapide – Disponible ici
- Une platine de prototypage rapide – Disponible ici
Syntaxe de la fonction tone() d’Arduino
tone(pin, fréquence, durée);
pin
: le numéro de port sur lequel le son sera produitfréquence
: la fréquence du son en Hertz (Hz)durée
: la durée du son en millisecondes
- Fréquence minimale du son généré: 31 Hz
- Fréquence maximale du son généré: 65535 Hz
Connecter un buzzer piézoéletrique à votre Arduino
Connectez votre buzzer piézo à la pin 9 et GND de votre Arduino.
Produire un son avec l’Arduino et un disque piézoélectrique
// Broche de sortie pour le piezo
int piezoPin = 9;
void setup() {
// Définit la broche du piezo en tant que sortie
pinMode(piezoPin, OUTPUT);
}
void loop() {
// Joue une note de 440 Hz pendant 1 seconde
tone(piezoPin, 440);
delay(1000);
// Arrête le son pendant 500 millisecondes
noTone(piezoPin);
delay(500);
// Joue une note de 880 Hz pendant 1 seconde
tone(piezoPin, 880);
delay(1000);
// Arrête le son pendant 500 millisecondes
noTone(piezoPin);
delay(500);
}
Le code commence par définir la broche utilisée pour le piezo (pin9) en tant que sortie dans la fonction setup(). Dans la fonction loop(), il utilise la fonction tone() pour jouer une note de 440 Hz pendant 1 seconde en passant le numéro de broche du piezo (piezoPin) et la fréquence (440) en paramètres. Ensuite, il utilise la fonction delay() pour attendre pendant 1 seconde avant d’appeler la fonction noTone() pour arrêter le son en passant le numéro de broche du piezo en paramètre.
Le code répète ensuite le processus en jouant une note de 880 Hz pendant 1 seconde, arrêtant le son pendant 500 millisecondes, puis en jouant une note de 440 Hz à nouveau, et ainsi de suite. Le résultat est une série de notes jouées sur le piezo avec des pauses entre chaque note.
0 commentaires