from pushbutton import PushButton
from time import sleep
from machine import Pin
from machine import ADC, Pin
from machine import Pin, I2C
import ssd1306
from time import *
# ESP32 Pin assignment
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
vert = PushButton(18)
rouge = PushButton(4)
led_rouge = Pin(2, Pin.OUT)
led_verte = Pin(15, Pin.OUT)
axe = ADC(Pin(35))
axe.atten(ADC.ATTN_11DB)
code = 0
while True:
pot = axe.read() #définition de "pot" comme la valeur du potentiomètre
if vert.was_pressed(): #définition des valeurs du cercle intérieur selon la plage de donnée du potentiomètre
if int(pot)<=511:
print("Axe_value = 0")
oled.fill(0)
oled.text('Input = 0',10,10) #entrée de la valeur dans la liste d'affichage de la carte oled
code = 0
elif 511 < int(pot) <= 1022:
print("Axe_value = 1")
oled.fill(0)
oled.text('Input = 1',10,10)
code = 0
elif 1022 < int(pot) <= 1533:
print("Axe_value = 2")
oled.fill(0)
oled.text('Input = 2',10,10)
if code == 1:
code += 1
else:
code = 0
elif 1533 < int(pot) <= 2044:
print("Axe_value = 3")
oled.fill(0)
oled.text('Input = 3',10,10)
code = 0
elif 2044 < int(pot) <= 2555:
print("Axe_value = 4")
oled.fill(0)
oled.text('Input = 4',10,10)
code = 0
elif 2555 < int(pot) <= 3066:
print("Axe_value = 5")
oled.fill(0)
oled.text('Input = 5',10,10)
code = 0
elif 3066 < int(pot) <= 3577:
print("Axe_value = 6")
oled.fill(0)
oled.text('Input = 6',10,10)
if code == 0:
code += 1
else:
code = 0
elif 3577 < int(pot) <= 4095:
print("Axe_value = 7")
oled.fill(0)
oled.text('Input = 7',10,10)
code = 0
elif rouge.was_pressed():
if int(pot)<=511:
print("Axe_value = 8")
oled.fill(0)
oled.text('Input = 8',10,10)
code = 0
elif 511 < int(pot) <= 1022:
print("Axe_value = 9")
oled.fill(0)
oled.text('Input = 9',10,10)
if code == 3:
code += 1
else:
code = 0
elif 1022 < int(pot) <= 1533:
print("Axe_value = A")
oled.fill(0)
oled.text('Input = A',10,10)
code = 0
elif 1533 < int(pot) <= 2044:
print("Axe_value = B")
oled.fill(0)
oled.text('Input = B',10,10)
code = 0
elif 2044 < int(pot) <= 2555:
print("Axe_value = C")
oled.fill(0)
oled.text('Input = C',10,10)
if code == 4:
code += 1
else:
code = 0
elif 2555 < int(pot) <= 3066:
print("Axe_value = D")
oled.fill(0)
oled.text('Input = D',10,10)
code = 0
elif 3066 < int(pot) <= 3577:
print("Axe_value = E")
oled.fill(0)
oled.text('Input = E',10,10)
code = 0
elif 3577 < int(pot) <= 4095:
print("Axe_value = F")
oled.fill(0)
oled.text('Input = F',10,10)
if code == 2:
code += 1
else:
code = 0
print(code)
if code == int(5):
oled.fill(0)
oled.text('Safe opened',10,10)
led_verte.value(1)
led_rouge.value(0)
sleep(1)
led_verte.value(0)
led_rouge.value(1)
sleep(0.5)
else:
led_verte.value(0)
oled.show()
sleep(0.5)