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.

fréquence

haut-parleur

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.

diagramme son

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.

speaker diagram

speaker diagram
code

' {$STAMP BS2}
' {$PBASIC 2.5}


DEBUG "Envoi su son...", CR
FREQOUT 9, 1500, 2000
DEBUG "Son terminé."
END

code

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 :

code

' {$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
ESPACEFOR frequency = 2000 TO 2500 STEP 20
ESPACEFREQOUT 9, duration, frequency
ESPACENEXT
NEXT
DEBUG "Done", CR
END

code