É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) où 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)