mercredi 14 juillet 2021

Jouer une mélodie avec le Raspberry Pi Pico (MicroPython)

Une façon simple de jouer une mélodie au moyen d'un microcontrôleur consiste à modifier la fréquence d'un signal modulé en largeur d'impulsion (PWM). Il en résulte un son très synthétique qui rappelle les jeux vidéo des années 1980.

Pour transformer le signal électrique de la broche GP2 en vibration sonore, vous pouvez utiliser un haut-parleur ou un buzzer piézoélectrique.

Connexion d'un haut-parleur

Un haut-parleur offre une excellente qualité sonore,  mais il est hors de question de le brancher directement à une broche du Raspberry Pi Pico (ou de tout autre microcontrôleur): le courant traversant la broche serait beaucoup trop intense à cause de la faible résistance du haut-parleur. 

Le signal PWM généré par la broche GP2 du Raspberry Pi Pico est plutôt reliée à la base d'un transistor par l'entremise d'une forte résistance (1 kΩ, par exemple). Le haut-parleur est branché au collecteur du transistor, en série avec une résistance d'au moins 100 Ω (pour plus d'infos, voir cet article)


Un buzzer piézoélectrique est beaucoup plus facile à brancher, mais la qualité sonore risque d'en souffrir. Ça peut être une bonne idée d'ajouter une résistance de 100 Ω ou 220 Ω en série avec le piézo.


Script en MicroPython

Chaque fois qu'on désire jouer une note, il faut s'assurer de jouer la bonne fréquence (hauteur de la note) et la bonne durée. La fréquence est réglée au moyen de la méthode freq().

Pour que les notes soient bien distinctes les unes des autres, on ajoute un court silence (d'une durée de 50 millisecondes) entre deux notes successives. Le rapport cyclique est alors réglé à 0% (alors qu'il est de 50% lorsqu'on désire générer un son).

-

-

À lire également


Yves Pelletier (Facebook)


Aucun commentaire:

Enregistrer un commentaire