from machine import Pin, ADC, PWM # import Pin and I2C classes
import time
#memento pour basculer l'état de la LED
state=0
memento=1
#configuration des broches pour le joystick
VRx = ADC(Pin(26)) #La valeur X sera envoyé vers GP 26 qui controllera la teinte rouge du RGB
VRy = ADC(Pin(27)) #La valeur X sera envoyé vers GP 27 qui controllera la teinte blueue du RGB
bouton= Pin(22, Pin.IN, Pin.PULL_UP) #La valeur booléenne de l'état du bouton sera envoyé au GP 22
pin = Pin(28, Pin.OUT)
#configuration sorties signal PWM pour les couleurs de la LED
rouge = PWM(Pin(11))
rouge.freq(1000)
vert = PWM(Pin(12))
vert.freq(1000)
bleu = PWM(Pin(13))
bleu.freq(1000)
while 1:
pin.toggle()
#Basculement de l'état de la LED en appuyant sur le bouton du joystick
if not bouton.value() and bouton.value() != memento:
if state == 0:
state = 1
elif state ==1:
state = 0
#Conversion d'une valeur numérique vers un pourcentage
analogx=100*(VRx.read_u16()-32767)/32767
analogy=100*(VRy.read_u16()-32767)/32767
if state:
if analogx>=5:
rouge.duty_u16(int(analogx*655))
else:
rouge.duty_u16(0)
if analogy>=5:
bleu.duty_u16(int(analogy*655))
else:
bleu.duty_u16(0)
if analogx<-10 :
vert.duty_u16(int(-analogx*655))
elif analogy<-10 :
vert.duty_u16(int(-analogy*655))
else:
vert.duty_u16(0)
else:
rouge.duty_u16(0)
vert.duty_u16(0)
bleu.duty_u16(0)
memento = bouton.value()
print("X =", analogx)
print("Y =", analogy)
print(" ")
print(bouton.value())
print("Etat =",state)
time.sleep(0.1)