La sirène de police est un son reconnaissable entendu dans les rues des villes et des villages à travers le monde. Elle est utilisée pour avertir les citoyens d’une urgence imminente et pour signaler l’arrivée des forces de l’ordre. Produire un son de sirène de police peut être un défi, mais c’est aussi une tâche très intéressante. Dans cet article, nous allons examiner les différentes méthodes pour produire un son de sirène de police et discuter des avantages et des inconvénients de chaque méthode.
Produire un son de « sirène de police ».
Présentation
Ce programme produit un son de sirène de police à l’aide d’un buzzer piézo-électrique. Ce programme utilise l’instruction tone() qui permet de produire des sons de fréquence voulue sur n’importe quelle broche.
Matériel Nécessaire
L’espace de développement Arduino
- … pour éditer, compiler le programme et programmer la carte Arduino.

Le matériel suivant pour réaliser le montage associé
- une plaque d’essai pour montage sans soudures, (pas indispensable ici…)

- un buzzer piézo-électrique

Instructions de montage
- Connecter sur la broche 2 (configurée en sortie) un buzzer piézo-électrique connecté à la masse (0V)
Le schéma théorique du montage

Le schéma théorique du montage
Le circuit du montage

Le schéma du montage à réaliser
Explication du programme
Structure globale du programme
Ce programme simple comprend :
- une entête déclarative
- une partie « configuration » qui ne sera exécutée qu’une fois (fonction setup( ) )
- une partie constituée d’une boucle sans fin que le programme répètera à l’infini ( fonction loop( ) ) : c’est le coeur du programme.
Déroulement du programme
Le programme se déroule de la façon suivante :
- Après avoir pris en compte les instructions de la partie déclarative,
- puis après avoir exécuté la partie configuration ( fonction setup( ) ),
- le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.

Le déroulement du programme
Au niveau de la partie déclarative :
Déclaration des constantes de broches
- Déclaration des constantes pour les broches utilisées dans le programme : on renomme la broche utilisée avec le buzzer.
const int Buzzer=2; //declaration constante de broche
Déclaration des variables globales
- Déclaration des variables globales du programmes :
int i=0,j=0,k=0; // variables de boucle
Au niveau de la fonction d’initialisation setup( ) :
configuration des broches utilisées :
- Configuration des broches en sortie : on met en sortie la broche utilisée avec le buzzer.
pinMode(Buzzer, OUTPUT); //met la broche en sortie
Au niveau de la boucle principale, la fonction loop ( ) :
- A l’aide d’une boucle, on crée un progression de la fréquence du son produit, à l’aide de l’instruction tone() qui permet de produire un son de fréquence voulue sur la broche de son choix.
- A l’aide d’une seconde boucle, on crée une diminution de la fréquence du son produit
- L’enchaînement des sons crescendo puis decrescendo donne un son de « sirène de police »
for (i=500; i<1000; i++) { tone(Buzzer, i); delay(1); } // fin boucle for for (i=1000; i>500; i--) { tone(Buzzer, i); delay(1); } // fin boucle for
- Le programme recommence en boucle les instructions de la fonction loop( ). Un son de sirène de police est produit par le buzzer.
Se reporter aux commentaires présents dans le programme pour plus de détails.
Mise en oeuvre du programme
Préparation du montage et programmation de la carte Arduino :
- Commencer par réaliser le montage indiqué sur plaque d’expérimentation
- Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle
Fonctionnement
- Un son de sirène de police est produit par le buzzer.
Le programme complet en langage Arduino :
A copier/coller directement dans l’éditeur Arduino
// --- Programme Arduino --- // par X. HINAULT - 01/2010 // --- Que fait ce programme ? --- /* Produit un son type sirène de Police */ // --- Fonctionnalités utilisées --- // --- Circuit à réaliser --- // Connecter Buzzer sur la broche 2 (configurée en sortie) //**************** Entête déclarative ******* // A ce niveau sont déclarées les librairies, les constantes, les variables... // --- Inclusion des librairies utilisées --- // --- Déclaration des constantes --- // --- constantes des broches --- const int Buzzer=2; //declaration constante de broche // --- Déclaration des variables globales --- int i=0,j=0,k=0; // variables de boucle // --- Initialisation des fonctionnalités utilisées --- //**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() // --- ici instructions à exécuter au démarrage --- pinMode(Buzzer, OUTPUT); //met la broche en sortie } // fin de la fonction setup() // ******************************************************************************** //*************** FONCTION LOOP = Boucle sans fin = coeur du programme ************* // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension void loop(){ // debut de la fonction loop() // --- ici instructions à exécuter par le programme principal --- for (i=500; i<1000; i++) { tone(Buzzer, i); delay(1); } // fin boucle for for (i=1000; i>500; i--) { tone(Buzzer, i); delay(1); } // fin boucle for } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** // --- Fin programme --- // --- Mémo instructions --- // tone(broche, frequence, +/-duree); // produit son de fréquence indiquée sur la broche // noTone(broche); // stoppe la production de son sur la broche // à noter : une seule broche peut générer un son à la fois...
Articles Liés
- Faire clignoter une LED
Le clignotement d'une LED est un moyen simple et efficace pour ajouter une touche de…
- Utiliser un buzzer piézo en capteur de son/choc
Le buzzer piézo est un dispositif électronique qui peut être utilisé à la fois comme…
- Faire varier la luminosité d'une LED
La luminosité d'une LED est un élément important pour créer des effets visuels intéressants. Il…