Code source de la fonction de tonalité Arduino
Vous avez besoin de faire du bruit avec Arduino ? Peut-être une simple tonalité pour une alarme, peut-être un bip pour vous alerter lorsqu’un seuil d’entrée spécifique est atteint, ou peut-être pour jouer la bande sonore de Super Mario Brothers afin de divertir votre esprit juvénile (c’est bon, nous sommes tous là, aussi).
Un buzzer piézoélectrique est plutôt sympa. Il ne s’agit pas d’un haut-parleur ordinaire comme celui auquel vous pourriez penser. Il utilise un matériau piézoélectrique, qui change de forme lorsque vous lui appliquez de l’électricité. En faisant adhérer un disque piézoélectrique à une fine plaque de métal, puis en appliquant de l’électricité, nous pouvons plier le métal d’avant en arrière, ce qui crée du bruit.
La fonction tone() utilise en effet l’un des timers intégrés au microcontrôleur de l’Arduino. tone() fonctionne indépendamment de la fonction delay(). Vous pouvez lancer une tonalité et faire d’autres choses – pendant que la tonalité est jouée en arrière-plan.
Si vous voulez générer des battements distincts, et que vous voulez le faire avec la fonction delay(), vous devez garder à l’esprit ce que nous venons de dire, que la fonction tone() utilise l’un des timers intégrés à la carte Arduino.
Fréquence Arduino
J’ai aidé quelqu’un avec une question similaire. Les résultats sont dans mon repo github à https://github.com/linhartr22/count. Cet exemple utilise la librairie PWM et inclut une référence à l’article que j’ai utilisé pour apprendre comment convertir des fichiers audio en MP3 avec les paramètres appropriés pour la librairie PWM. Il joue l’audio à travers un haut-parleur de 8 ohms ou un buzzer piézoélectrique connecté directement à l’Arduino.
L’exemple PCMAudio montre comment lire des données audio via PWM. Notez que vous aurez besoin d’accéder au MCU à un niveau bas afin de faire ceci ; les bibliothèques Arduino ne fournissent pas assez de contrôle sur le matériel.
Bibliothèque de sons Arduino
Si tout va bien, vous devriez voir la sortie ci-dessous sur le moniteur série lorsque le claquement est détecté.Explication:Le sketch commence par la déclaration de la broche Arduino à laquelle la broche OUT du capteur est connectée.#define sensorPin 7 Ensuite, nous définissons une variable appelée lastEvent qui stocke le temps écoulé depuis le claquement détecté. Cela nous aidera à éliminer les sons parasites.unsigned long lastEvent = 0;Dans la section Setup, nous déclarons la broche de signal du capteur comme entrée. Nous configurons également le moniteur série.pinMode(sensorPin, INPUT) ;
Serial.begin(9600);Dans la section boucle, nous lisons d’abord la sortie numérique du capteur.int sensorData = digitalRead(sensorPin);Lorsque le capteur détecte un son suffisamment fort pour franchir la valeur seuil, la sortie devient BASSE. Mais nous devons nous assurer que le son est dû à des applaudissements et non à un bruit de fond parasite. Nous attendons donc 25 millisecondes. Si la sortie reste BASSE pendant plus de 25 millisecondes, nous déclarons que le claquement est détecté.if (sensorData == LOW) {
Son d’alarme Arduino
Il est possible d’émettre des sons avec un microcontrôleur en connectant un buzzer à l’une de ses sorties. Lorsque l’on souhaite créer une interface utilisateur, il est agréable d’avoir un retour en fonction des actions effectuées, que ce soit un affichage, une lumière qui s’allume ou change de couleur, ou un son. Nous allons voir dans ce tutoriel comment utiliser un buzzer (ou haut-parleur piézoélectrique).
Un buzzer est une sorte de haut-parleur mais de faible puissance qui va émettre un son en fonction de la fréquence et de l’amplitude de la vibration. Il permet de jouer des notes et de recréer des mélodies simples. Si vous voulez jouer des sons tels que de la musique ou des voix, vous devrez utiliser un haut-parleur avec un amplificateur audio qui jouera un fichier audio stocké sur une carte SD.
Comme un buzzer est de faible puissance, il peut être connecté directement au microcontrôleur sur n’importe laquelle de ses broches de sortie. Dans ce tutoriel, nous connectons la borne – du buzzer à la GND et la borne + à la sortie numérique 2.
Pour chaque note, il y a une fréquence correspondante qui est stockée dans le fichier pitches.h. Pour jouer une mélodie, nous allons placer les notes dans un tableau et spécifier un délai entre chaque note. Nous utiliserons ensuite la fonction tonalité pour appliquer cette fréquence et cette durée à la sortie du buzzer.Pour créer le fichier pitches, cliquez sur la flèche à droite du nom du sketch, puis sur “créer un nouvel onglet”. Copiez et collez ensuite le code avec la définition des notes.