from machine import Pin, I2C, ADC, PWM # import Pin and I2C classes
"""import ssd1306 # importation module ssd1306"""
import time
"""
#configuration du I2C
i2c = I2C(0, sda=Pin(0), scl=Pin(1))
display = ssd1306.SSD1306_I2C(128, 64, i2c) # create SSD1306 object
"""
from machine import Pin, I2C, ADC, PWM # import Pin and I2C classes
"""import ssd1306 # importation module ssd1306"""
import time
"""
#configuration du I2C
i2c = I2C(0, sda=Pin(0), scl=Pin(1))
display = ssd1306.SSD1306_I2C(128, 64, i2c) # create SSD1306 object
"""
#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(15, Pin.OUT)
#memento pour basculer l'état de la LED
state=0
memento=1
#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:
# Si le joystick va vers la droite ou la gauche, simuler le potentiomètre pour la LED rouge
if abs(analogx) >= 5: # Si le joystick est déplacé vers la droite ou la gauche
rouge_value = int(abs(analogx) * 655) # Calculer l'intensité de la LED rouge
rouge.duty_u16(rouge_value) # Appliquer l'intensité calculée à la LED rouge
print("Déplacement latéral")
print(rouge_value)
else:
rouge.duty_u16(0) # Si le joystick est centré, éteindre la LED rouge
if analogy >=5 :
bleu.duty_u16(int(analogy*655))
print ("bas")
else:
bleu.duty_u16(0)
"""if analogx <-10 :
vert.duty_u16(int(-analogx*655))
print ("gauche")
elif analogy <-10 :
vert.duty_u16(int(-analogy*655))
print ("haut")
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)
#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(15, Pin.OUT)
#memento pour basculer l'état de la LED
state=0
memento=1
#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:
# Si le joystick va vers la droite ou la gauche, simuler le potentiomètre pour la LED rouge
if abs(analogx) >= 5: # Si le joystick est déplacé vers la droite ou la gauche
rouge_value = int(abs(analogx) * 655) # Calculer l'intensité de la LED rouge
rouge.duty_u16(rouge_value) # Appliquer l'intensité calculée à la LED rouge
print("Déplacement latéral")
print(rouge_value)
else:
rouge.duty_u16(0) # Si le joystick est centré, éteindre la LED rouge
if analogy >=5 :
bleu.duty_u16(int(analogy*655))
print ("bas")
else:
bleu.duty_u16(0)
"""if analogx <-10 :
vert.duty_u16(int(-analogx*655))
print ("gauche")
elif analogy <-10 :
vert.duty_u16(int(-analogy*655))
print ("haut")
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)