Le buzzer passif
Dans le programme 07.2_Alertor Freenove utilise un buzzer passive, ce qu’implique que nous devons générer la fréquence pour le buzzer nous même, avec l’aide d’un pin PWM. Le « duty cycle » est défini comme 1/2 (valeur 512) et la fréquence est varié. Dans leur programme Freenove change la fréquence de manière sinusoïdal entre 1.5 kHz et 2.5 kHz ce qui simule une sirène.
Pour avoir accès à la fonction sin le module math est importé. Pourquoi ils définissent PI=3.14 au lieu d’utiliser la constante math.pi défini dans le module math restera leur secret.
Pourtant, on peut faire bien mieux. Puisque nous pouvons changer la fréquence du buzzer nous pouvons jouer de la musique ! If faut pas s'attendre à la qualité HiFi par contre. Le programme
07.3_Musical_Doorbell joue une des 25 mélodies préprogrammées. Il utilise le module rtttl (ring tone text transfer langage) de Dave Hylands and Danid Glaude : https://github.com/dhylands/upy-rtttl
Quand le bouton est pressé, un nombre aléatoire entre 1 et 25 est calculé, qui sélectionne une des 25 mélodies. Pour faire marcher le programme les fichiers rtttl.py et songs.py doivent d’abord être téléchargé dans le directoire lib du ESP32 (ampy put rtttl.py /lib/rttl.py et la même chose pour songs.py).
--
Uli Raich - 2021-07-03
Comments