Commandez une tonalité de sonnerie avec le Raspberry Pi Pico

Commandez une tonalité de sonnerie avec le Raspberry Pi Pico

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 un signal PWM (modulation de largeur d’impulsion) pour manipuler la fréquence, ou la tonalité, d’un buzzer à l’aide du code MicroPython.

Quelles pièces sont nécessaires ?

Ce projet est basé sur le 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
  • Raspberry 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 l’utilisation d’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

Électronique et câblage sur planche à pain

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 dans le 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 les modules MicroPython machine , math et time requis.
  • Une variable buzzer est alors affectée à la broche GP15 en tant que sortie PWM.
  • Une variable de potentiomètre est affectée au convertisseur analogique-numérique (CAN) sur la broche GP26/A0 du Pico.
  • Nous définissons une fonction scale() qui utilise des fonctions mathématiques pour convertir la plage du mouvement du potentiomètre en une sortie pour le buzzer.
  • Le while : une véritable boucle infinie lit l’entrée du potentiomètre, puis utilise la fonction d’ échelle pour la convertir. Après avoir vérifié qu’elle n’a pas trop changé par rapport à la fréquence précédente, il envoie ensuite la fréquence calculée au buzzer en utilisant PWM (modulation de largeur d’impulsion).
liste de codes pour le projet Pico buzzer

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 la plage (0 à 65535) ? Cette partie du code se situe juste en dessous de while True : où la fréquence est définie.

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 la bibliothèque pi-pico-tones de martinkooij 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 pourriez détecter la présence d’intrus et déclencher l’alarme.

Laisser un commentaire

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