#made by DIEGO ;-)
#----Import de Bibliothèques----------------------------------------------
from machine import Pin, ADC, PWM
from time import sleep_ms
#----Sorties LED----------------------------------------------
#En PWM, la valeur oscille entre 0 (éteint) et 65535 (pleinement allumé)
pwm_led = PWM(Pin(25)) #Led interne de la carte Raspberry Pi Pico
pwm_led.freq(1_000)
#----Entrées Rotary Encoder----------------------------------------------
button = Pin(28, Pin.IN, Pin.PULL_UP)
rotaryA = Pin(27, Pin.IN, Pin.PULL_DOWN)
rotaryB = Pin(26, Pin.IN, Pin.PULL_DOWN)
#---------------------------------------
#Variables
#---------------------------------------
old_combined = 0
compteur = 0
vitesse = 50
old_vitesse = 50
increment = 10
#----Début du programme----------------------------------------------
while True:
A_val = rotaryA.value()
B_val = rotaryB.value()
new_combined = (A_val << 1) | B_val
if new_combined != old_combined:
if compteur == 0:
a=A_val,B_val
old_combined = new_combined
if compteur == 1:
b=A_val,B_val
old_combined = new_combined
if compteur == 2:
c=(A_val,B_val)
old_combined = new_combined
compteur = 0
if b == (1, 1) and c ==(1, 0):
if vitesse < 99:
vitesse +=increment
if vitesse != old_vitesse:
print("augmenter vitesse, +", vitesse)
elif b == (1, 0) and c ==(0, 0):
if vitesse < 99:
vitesse +=increment
if vitesse != old_vitesse:
print("augmenter vitesse, +", vitesse)
elif b == (0, 0) and c ==(0, 1):
if vitesse < 99:
vitesse +=increment
if vitesse != old_vitesse:
print("augmenter vitesse, +", vitesse)
elif b == (0, 1) and c ==(1, 1):
if vitesse < 99:
vitesse +=increment
if vitesse != old_vitesse:
print("augmenter vitesse, +", vitesse)
elif b == (1, 1) and c ==(0, 1):
if vitesse > 0:
vitesse -=increment
if vitesse != old_vitesse:
print("diminuer vitesse, -", vitesse)
elif b == (0, 1) and c ==(0, 0):
if vitesse > 0:
vitesse -=increment
if vitesse != old_vitesse:
print("diminuer vitesse, -", vitesse)
elif b == (0, 0) and c ==(1, 0):
if vitesse > 0:
vitesse -=increment
if vitesse != old_vitesse:
print("diminuer vitesse, -", vitesse)
elif b == (1, 0) and c ==(1, 1):
if vitesse > 0:
vitesse -=increment
if vitesse != old_vitesse:
print("diminuer vitesse, -", vitesse)
old_vitesse = vitesse
compteur += 1
pwm_led.duty_u16(int((vitesse/100)*65_535))
if button.value() == 0: #si bouton poussoir appuyé :
pwm_led.duty_u16(65_535) #intensité maxmale dans la LED interne