Logo Mon Club Elec

Produire un son de « sirène de police ».

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.
Produire un son de « sirène de police ».

Le matériel suivant pour réaliser le montage associé

  • une plaque d’essai pour montage sans soudures, (pas indispensable ici…)
Produire un son de « sirène de police ».
  • un buzzer piézo-électrique
Produire un son de « sirène de police ».

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

Produire un son de « sirène de police ».
Le schéma théorique du montage

Le circuit du montage

Produire un son de « sirène de police ».
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.
Produire un son de « sirène de police ».
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... 
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.