|
Sons et fréquences
Photo-résistence
On peut brancher un haut-parleur sur un microcontrôleur. Le son est produit par le mouvement du diaphargme. Ce mouvement est causé par un courant électrique à l'intéreur d'un champ magnétique.
La tonalité du son est déterminé par sa fréquence. On mesure la fréquence en hertz (Hz). Le hertz représente le nombre de cycle en une seconde.
|
|
Exemple 1
Nous allons utiliser la commande FREQOUT du microcontrôleur et un haut-parleur pour produire des sons. Comme vous pouvez le constater sur les images suivantes, le branchement du haut-parleur est asser simple.
La commande FREQOUT Pin, Durée, Freq envoit sur l'interface Pin un signal ayant une fréquence Freq pendant Durée millisecondes.
Par exemple
FREQOUT 9, 1500, 2000 envoit un signal de 2 kHz sur l'interface 9 pendant 1,5 secondes.
|
|
|
|
' {$STAMP BS2}
' {$PBASIC 2.5}
DEBUG "Envoi su son...", CR
FREQOUT 9, 1500, 2000
DEBUG "Son terminé."
END
|
|
Modifiez la fréquence et la durée du son.
Exemple 2
Nous allons maintenant repoduire le son d'une alarme, d'un robot et utilisez des boucles FOR pour produire une gamme de sons. En utilisant le même branchement que dans l'exemple précédant, écrivez le code suivant :
|
' {$STAMP BS2}
' {$PBASIC 2.5}
DEBUG "Envoi su son...", CR
FREQOUT 9, 1500, 2000
DEBUG "Son terminé."
DEBUG "Alarme...", CR
PAUSE 100
FREQOUT 9, 500, 1500
PAUSE 500
FREQOUT 9, 500, 1500
PAUSE 500
FREQOUT 9, 500, 1500
PAUSE 500
FREQOUT 9, 500, 1500
PAUSE 500
DEBUG "Robot...", CR
PAUSE 100
FREQOUT 9, 100, 2800
FREQOUT 9, 200, 2400
FREQOUT 9, 140, 4200
FREQOUT 9, 30, 2000
PAUSE 500
DEBUG "Hyper-espace...", CR
PAUSE 100
FOR duration = 15 TO 1 STEP 1
FOR frequency = 2000 TO 2500 STEP 20
FREQOUT 9, duration, frequency
NEXT
NEXT
DEBUG "Done", CR
END
|
|
|
|