Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Le Raspberry Pi Pico est une carte microcontrôleur à faible coût qui permet aux débutants de se lancer facilement dans des projets électroniques et d'apprendre à coder.

Pour ce projet, vous apprendrez à lire un signal analogique à partir d'un potentiomètre et à le convertir en PWM (modulation de largeur d'impulsion) pour manipuler la fréquence, ou la tonalité, d'un buzzer à l'aide de MicroPython code.

Quelles pièces sont nécessaires ?

Ce projet est basé sur la Kit de l'inventeur Kitronik pour Raspberry Pi Pico. Tous les composants électroniques requis sont inclus dans le kit; cependant, ce sont des composants communs que vous pouvez avoir :

  • Avertisseur d'élément piézo
  • Potentiomètre rotatif
  • 7x fils de liaison mâle-mâle
  • Framboise Pi Pico avec broches d'en-tête GPIO soudées
  • Planche à pain

Si vous débutez avec la modulation de largeur d'impulsion (PWM) et les potentiomètres, consultez d'abord notre guide sur

instagram viewer
comment utiliser un potentiomètre avec votre Raspberry Pi Pico, qui explique comment l'utiliser pour régler la luminosité d'une LED avec PWM.

Assemblage requis

Un fil de liaison (jaune sur la photo) relie le côté gauche du potentiomètre au rail positif (+) de la planche à pain. Un autre fil de connexion relie le côté droit du potentiomètre au côté négatif (-) de la planche à pain. À partir de la broche centrale du potentiomètre, vous devrez faire passer un fil de liaison à la broche GP26/A0 du Pico.

Le buzzer piézo devra avoir un fil allant de sa jambe négative au rail négatif de la planche à pain, puis une autre connexion de sa jambe positive à la broche GP15 sur le Raspberry Pi Pico.

Vous devrez également faire passer un fil de connexion d'une broche GND sur Pico au rail négatif sur la planche à pain, pour le mettre à la terre. Un autre fil de connexion connectera la broche de sortie 3V3 du Pico au rail positif de la planche à pain, pour alimenter les composants.

Créer le code

Vous pouvez récupérer le code de la Référentiel MUO GitHub. Téléchargez le fichier MicroPython nommé piezo-buzzer.py puis chargez-le sur votre Pico via un ordinateur connecté par USB exécutant l'IDE Thonny. Découvrez comment démarrer avec MicroPython sur le Raspberry Pi Pico pour plus de détails.

Les différentes parties du code font ce qui suit :

  • En haut, nous importons le nécessaire machine, mathématiques, et temps Modules MicroPython.
  • UN avertisseur sonore La variable est ensuite affectée à la broche GP15 en tant que sortie PWM.
  • UN potentiomètre variable est affectée au convertisseur analogique-numérique (CAN) sur la broche GP26/A0 du Pico.
  • Nous définissons une escalader() fonction qui utilise des fonctions mathématiques pour convertir la plage du mouvement du potentiomètre en une sortie pour le buzzer.
  • Le tandis que: Vrai boucle infinie lit l'entrée du potentiomètre, puis utilise le escalader fonction pour le convertir. Après avoir vérifié qu'elle n'a pas trop changé par rapport à la fréquence précédente, il envoie alors la valeur calculée fréquence au buzzer en utilisant PWM (modulation de largeur d'impulsion).

En résumé, des centaines d'impulsions sont envoyées par seconde et la tonalité du buzzer se déplacera entre 120 Hz et 5 kHz lorsque le potentiomètre est tourné dans le sens des aiguilles d'une montre ou dans le sens inverse des aiguilles d'une montre. La rotation du potentiomètre modifie la tension lue par la broche d'entrée analogique du Pico, qui à son tour est utilisée pour régler la fréquence du buzzer à l'aide de PWM.

Exécutez le code de Thonny (cliquez sur l'icône de lecture ou appuyez sur F5 sur votre clavier) et essayez-le par vous-même. Après votre première exécution, les modifications apportées au code auront-elles un impact sur les résultats physiques? Par exemple, que se passe-t-il si vous modifiez le gamme (0 à 65535)? Cette partie du code se trouve juste en dessous tandis que Vrai : où le fréquence est défini.

Donner le ton

Si vous vous sentez aventureux, vous pouvez essayer d'utiliser le buzzer pour générer des sons musicaux à l'aide de martinkooij. pi-pico-tons bibliothèque sur GitHub. Par défaut, cette bibliothèque générera des ondes sinusoïdales; quatre générateurs de tonalité peuvent fonctionner sur quatre broches Pico différentes selon votre choix. Notez que ce projet est basé sur C++ en utilisant le SDK Raspberry Pi Pico, plutôt que MicroPython, mais des instructions complètes sont données dans le fichier readme de GitHub.

Le buzz de Pico Electronics

Félicitations: vous avez appris à lire l'entrée analogique d'un potentiomètre et à la convertir en un signal PWM pour contrôler une tonalité de sonnerie. Un potentiomètre est un dispositif d'entrée polyvalent pour l'électronique. Un buzzer piézo est un autre composant pratique: avec l'ajout d'un capteur de mouvement infrarouge PIR, par exemple, vous pouvez détecter la présence d'intrus et déclencher l'alarme.