from machine import Pin, ADC, I2C
import time
import ssd1306
from oled import Write, GFX, SSD1306_I2C
from oled.fonts import ubuntu_mono_20, bookerly_20
#Configurar los pines de conexion del SCL y SDA
scl = Pin(22)
sda = Pin(21)
#Configurar interfaz I2C a puerto 1, pines
# sda GPIO21, scl GPIO22, direccion por defecto 0x3C
i2c = I2C(scl=scl, sda=sda)
oled = SSD1306_I2C(128, 64, i2c)
gfx = GFX(128, 64, oled.pixel)
def main_function():
fotocelda = ADC(Pin(33)) #Definir al pin 33 como entrada analoga
led = Pin(2, Pin.OUT) #Definir al pin 2 como salida
contador = 0 #Asignar el valor de 0 a la variable contador
pul = Pin(14, Pin.IN) #Definir al pin 14 como entrada
while(True): # Ciclo repetitivo infinito
led.value(1) # Encender el led
if (fotocelda.read() < 700): # Estructura if para comprobar si está siendo el valor recibido es menor 700
contador +=1 # Sumar 1 a la variable contador
time.sleep(0.4)
oled.fill(0) # Limpiar la pantala Oled
write20 = Write(oled, ubuntu_mono_20) # Asignar a la variable write20 el tipo de letra ubuntu_mono_20
write10 = Write(oled, bookerly_20) # Asignar a la variable write10 el tipo de letra bookerly_20
write20.text("CONTADOR", 20, 8) # Escribir la palabra "CONTADOR"
gfx.line(15, 32, 105, 32, 1) # Realizar una linea
write10.text(str(contador), 55, 35) # Escribir el valor guardado en la variable contador
oled.show() # Mostrar en pantalla lo escrito
if pul.value(): # Reiniciar el contador cuando se oprima el boton
contador = 0
if __name__ == "__main__":
main_function()