Overblog Suivre ce blog
Editer la page Administration Créer mon blog

SIRÈNES pompiers, police, gendarmes, samu, ambulance, pompier US

Retrouvez cette page
et toutes les mises à jour
sur

http://electromag1.wifeo.com/ 

 

 

Coccinelle83 demandait sur un forum d'électronique le moyen de produire un son de sirène de pompier français pour sonoriser une petite maquette.
Une solution basée sur un picaxe 08M2 s'est rapidement enrichie d'autres sirènes.
 
Voici le résultat de la réflexion:
 
Le schéma:
 
  sirènes-copie-1
 
Le picaxe génère les sons par la sortie PWM sur un potentiomètre.
Le signal prélevé passe par un filtre en double L transformant les carrés en dents de scie.
Il est ensuite amplifié par un LM386, très souple et très simple d'utilisation.
La sortie se fait sur un petit haut parleur de 8 ohms.
 
L'alimentation standard du picaxe est de 5 volts mais des tensions inférieures lui conviennent aussi.
Le circuit fonctionne donc très bien pour des tensions allant de 4 à 12 volts.
 
Le réglage du potensiomètre règle le volume mais surtout le taux de saturation de l'ampli. La distorsion harmonique augmente l'agressivité de la sirène. 
 
Le poussoir de changement de sirène est lu à la fin de chaque cycle et permet de passer à la sirène suivante.
 
La dernière sirène utilisée est mémorisée pour le démarrage suivant.
Par exemple, pour utiliser cette sirène sur une maquette de voiture de gendarmerie, sélectionner la sirène gendarmerie, elle sera mémorisée et déclenchée pour toutes les mises sous tension suivantes. 
 
Suite à la modif du 16/04/2012, la sirène de police est maintenant la bonne.
 
Liste des sirènes et fréquences: 
  
  
Petite vidéo de démo: (sirène de police non modifiée ) 
  
 
 
     
 Le typon téléchargeable:
 
sirènes
 
 
 
Le pack complet est en téléchargement ICI :
Il contient:
Le fichier picaxe (.bas)  ci dessous, à charger dans le picaxe
le typon au format TCI4 (.tci)
Le schéma du circuit (format desselec) 
 
Le programme: 16/04/2012
 #picaxe 08M2 '
 setfreq m4  'Fréquence à 4MHz,les pauses sont en mS
 read 0,b1  'Lecture dernière sirène utilisée
debut: 
'adressage suivant b1
on b1 goto pompier,police,gendarme,samu,ambulance,pompierUS  
pompier:
 'un 2 tons de pompier (1er ton : 435Hz, 2ème ton : 488Hz, cadence : 28 cycles/minute)
 
 do
 pwmout pwmdiv16, 2, 143, 287
 pause 1070
 pwmout pwmdiv16, 2, 127, 256
 pause 1070
 if pin3=1 then  change 'test pin 3 on
 loop
 
police:
 ; un 2 tons de police (1er ton : 435Hz, 2ème ton : 580 Hz, cadence : 55 cycles/minute)
 
 do
 pwmout pwmdiv16, 2, 143, 287
 pause 545
 pwmout pwmdiv16, 2, 107, 216
 pause 545
 if pin3=1 then  change
 loop
 
gendarme:
 ; un 2 tons de gendarmerie (1er ton : 435Hz, 2ème ton : 732Hz, cadence : 55 cycles/minute)
 
 do
 pwmout pwmdiv16, 2, 143, 287
 pause 545
 pwmout pwmdiv16, 2, 84, 171
 pause 545
 if pin3=1 then  change
 loop
 
samu:
 ; un 2 tons de samu (1er ton : 435Hz, 2ème ton : 651Hz, cadence : 55 cycles/minute)
 
 do
 pwmout pwmdiv16, 2, 143, 287
 pause 545
 pwmout pwmdiv16, 2, 95, 192
 pause 545
 if pin3=1 then  change
 loop
 
ambulance: 
 ; un 4 tons d'ambulance (1er ton : 420Hz, 2ème ton : 516Hz, 3ème ton : 420Hz, 4ème ton : silence de 1,5s, cadence : 30 cycles/minute)
 
 do
 pwmout pwmdiv16, 2, 148, 298
 pause 166
 pwmout pwmdiv16, 2, 120, 242
 pause 166
 pwmout pwmdiv16, 2, 148, 298
 pause 166
 pwmout 2, off
 if pin3=1 then change
 pause 1500 
 loop
 
pompierUS:
 
 b2=205
 w9=b2*2
 b4=65
 
 Do
  random w10   'w10=(b21,b20)
  w10=5*b20 +400 'w10 aléatoire de 400 à 1675 mS
 
  do  
   dec b2 'glissement fréquence montée  
   w9=b2*2 'rapp cyclique  50%
   pwmout pwmdiv16, 2, b2, w9
   pause 30
  loop while b2>b4 'b4=65 -->940 Hz
  
  pause w10
  
  random w10  'w10=(b21,b20)
  w10=4*b20  'b20 = 0 à 255 --> w10= 0 à 765
  b21=b21//4  'b21=0,1,2,3
  b5=51*b21+100 'b5 aléatoire: 100(620Hz) , 151(410Hz), 202(308Hz), 253(246Hz)
  
  do
   inc b2 'glissement fréquence descente
   w9=b2*2
   pwmout pwmdiv16, 2, b2, w9
   pause 50
  loop while b2<b5 'relance sirène suivant fréquences
  
  pause w10
  
 if pin3=1 then goto change
 Loop
 
change:
 pwmout 2,off  ;Arret sortie PWM
 pause 100   'anti rebond, on laisse passer l'orage
 att: if pin3=1 then att 'attente relachement touche
 inc b1   'incrémentation b1
 b1=b1//6   'modulo 5, on boucle entre 0 et 4. Modulo 6 avec pompiers US
 write 0,b1   'memo dernière sirène
 goto debut
 
 
 
 
 

Partager cette page

Repost 0
Pour être informé des derniers articles, inscrivez vous :