Buzzer

L’objectif de cette activité est de faire fonctionner un buzzer avec un Arduino. Le buzzer devra émettre un son dont la fréquence varie en fonction de la position d’un potentiomètre.
 
Matériel nécessaire :
  • Microcontrôleur Arduino
  • Ordinateur avec Python
  • Buzzer HYDZ
  • Potentiomètre 10kΩ
 
Suite logicielle utilisée : FirmataExpress + pymata4
 

Travail demandé

Câbler sur la platine de prototypage un buzzer (sur un port numérique compatible PWM) et un potentiomètre (voir les potentiomètres).
 
On se propose d’utiliser le programme suivant (incomplet) :
from pymata4 import pymata4
import time

# Objet représentant la carte Arduino
carte = pymata4.Pymata4()

# Constantes
DELAY = 0.01 # période de la boucle infinie (s)
OUT_PIN = 3
A_IN_PIN = 0

F_MINI = 50   # fréquence minimale (Hz)
F_MAXI = 3000 # fréquence maximale (Hz)

# Initialisation ....................................
carte.set_pin_mode_digital_output(OUT_PIN)
carte.set_pin_mode_analog_input(A_IN_PIN)


# Fonction de test
def loop():
    f = carte.analog_read(A_IN_PIN)[0]
    f = ?????????
    carte.play_tone_continuously(OUT_PIN, f)

    time.sleep(DELAY)

# Lancement du programme ............................
try:
    # Boucle infinie ................................
    while True:
        loop()
except KeyboardInterrupt:
    carte.play_tone_off(OUT_PIN)
    carte.shutdown()
    sys.exit(0)
finally:
    carte.shutdown()  

Analyse du programme

Sur quel port doit être connecté le buzzer ?
×
Sur quel port doit être connectée la borne centrale du potentiomètre ?
×
Quelle constante du programme contient le nom de ce port ?
×
Quelle méthode de la classe Pymata4 permet-elle de spécifier le « mode » d’un port analogique ?
×
À quelle ligne du programme la valeur représentant la position du potentiomètre est-elle acquise ?
×
À quelle ligne du programme le son est-il généré ?
×

 

Finalisation du programme

Le buzzer est capable de générer des sons entre 50Hz et 3000Hz.
Le port analogique sur lequel est connecté le potentiomètre, permet au programme d’obtenir une valeur entre 0 et 1023.
Il va falloir trouver la « formule » permettant de calculer une fréquence basée sur la position du potentiomètre.
 
Compléter le programme suivant (remplacer les ???????) pour que l’action sur le potentiomètre modifie la fréquence du Buzzer.
 

 

Suite : télémètre à ultrasons

Laisser un commentaire

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