Télécharger Imprimer la page

Raspberry PICO Mode D'emploi page 43

Publicité

9.1 LED interne
A noter qu'ici, la GPIO25 avec sa LED interne est encore utilisée, bien que la notice indique qu'il n'est
pas recommandé de le faire. Vous pouvez tester sur une autre broche GPIO en y câblant une LED et
une résistance (330Ω par exemple) entre la broche GPIO et la masse.
9.1.1 Python
Le programme d'exemple est tiré de ce site.
from
machine
import
from
time
import
pwm
= PWM(Pin(25))
pwm.freq(1000)
while
True:
for
duty
in
pwm.duty_u16(duty)
sleep(0.0001)
for
duty
in
pwm.duty_u16(duty)
sleep(0.0001)
Voici un deuxième programme utilisant la fonction sleep_ms
from
machine
import
import
time
pwm
= PWM(Pin(25))
pwm.freq(1000)
while
True:
for
duty
in
range(0, 65025, 10):
pwm.duty_u16(duty)
time.sleep_ms(1)
for
duty
in
range(65025, 0, -10):
pwm.duty_u16(duty)
time.sleep_ms(1)
Ce programme active le PWM de la broche à 1000Hz puis fait varier le rapport cyclique de 0 à 100%.
Dans le premier programme, le rapport cyclique change toutes les 10µs. La LED fera donc une variation
toute les 13s (10µs * 2 * 65025)
Afin de faire fonctionner le programme, il faut recharger l'interpréteur Python puis charger le
programme tel que défini dans le chapitre permettant de faire clignoter une LED. Ne pas oublier de le
nommer main.py et de le stocker dans le Raspberry PICO si l'on veut que le programme démarre à
l'allumage du PICO.
Le premier programme a un cycle d'environ 4s, alors qu'il devrait être de 13s, par contre le deuxième
programme est quant à lui très précis.
Après des tests, il semble que la fonction sleep manque de précision sur les très petites valeurs. Dans
le premier programme, une valeur sleep de 0.01s associée à un pas de 100 pour rétablir le temps,
fourni bien un cycle de 13s.
Pin,
PWM
sleep
range(65025):
range(65025, 0, -1):
Pin,
PWM

Publicité

loading

Ce manuel est également adapté pour:

Pico w