Écriture sur un port

Écriture logique (0 ou 1)

On utilise comme initialisation la méthode set_pin_mode_digital_output(pin).

Pour l’écriture, on utilise la méthode digital_write(pin,val)val est 0 ou 1.

Voici un exemple d’une led qui clignote.

from pymata4 import pymata4
import sys
import time

carte = pymata4.Pymata4()

print("--------------- Début --------------")
# Constantes
DELAY = 0.5 # période d'attente
Led_bleue = 13 # Led

carte.set_pin_mode_digital_output(Led_bleue)
time.sleep(1)

for k in range(10):
    print('ON')
    carte.digital_write(Led_bleue, 0)
    time.sleep(DELAY)
    print('OFF')
    carte.digital_write(Led_bleue, 1)
    time.sleep(DELAY)

print("--------------- Fin --------------")
carte.shutdown()
sys.exit(0)

Écriture en PWM

PWM (Pulse Width Modulation) est un procédé permettant de simuler un tension autre que 0 ou 5V sur une patte.

Sur Arduino, certaines pattes numériques D_i (Digital output) accepte le PWM avec Pymata4.

Sur un Arduino UNO, il s’agit des pattes : 3,5,6,9,10 et 11.

On utilise ici les méthodes set_pin_mode_pwm_output(pin) et pwm_write(pin,val) où val est un entier entre 0 et 255.

from pymata4 import pymata4
import sys
import time

carte = pymata4.Pymata4()

print("--------------- Début --------------")
# Constantes
Delai=0.5
Led = 9 # port de la LED (PWM obligatoire)


#----------------  programme principal
val = 0
try :
    carte.set_pin_mode_pwm_output(Led)
    time.sleep(1)
    while True:
        for k in range(10):
            val = val+10
            carte.pwm_write(Led,val)
            time.sleep(Delai)          
        for k in range(10):
            val = val-10
            carte.pwm_write(Led,val)
            time.sleep(Delai)           
except KeyboardInterrupt : # si on tape Ctl+C
    print("--------------- Fin --------------")
    carte.shutdown()
    sys.exit(0)

Retour à la rubrique