Aller au contenu

Jouer la fréquence

Permet de jouer une fréquence avec un module Grove buzzer.

Branchement

Carte Galaxia avec servomoteur branchée sur la broche P19

Exemple

Dans l'exemple ci-dessous, nous allons jouer la note La (440Hz) sur le buzzer branché sur le port Grove 1, broche P19 de la Galaxia pendant 500 ms :

Blocs son

from machine import *
from time import *

# Initialisation du buzzer sur la broche P19
p19 = Pin(13, Pin.OUT)

def pitch (pin, noteFrequency, noteDuration, silence_ms = 10):
    if noteFrequency is not 0:
        microsecondsPerWave = 1e6 / noteFrequency
        millisecondsPerCycle = 1000 / (microsecondsPerWave * 2)
        loopTime = noteDuration * millisecondsPerCycle
        for x in range(int(loopTime)):
            pin.on()
            sleep_us(int(microsecondsPerWave))
            pin.off()
            sleep_us(int(microsecondsPerWave))
    else:
        sleep_ms(noteDuration)
        sleep_ms(silence_ms)

# On joue la fréquence 440Hz pendant 500ms
pitch(p19, 440, 500)

Aller plus loin

Dans l'exemple ci-dessus, nous utilisons la fonction pitch() qui permet de jouer des notes avec un buzzer. Pour aller plus loin avec le son, rendez-vous sur la documentation Vittascience.