import utime
import machine
from machine import I2C,Pin
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
def fun_up(up):
global count
count += 1
if count > 1000:
count = 0
lcd.move_to(7,1)
aux = "{:04d}",format(count)
lcd.putstr(aux)
def fun_down(down):
global count
count -= 1
if count < 0:
count = 1000
lcd.move_to(7,1)
aux = "{:04d}",format(count)
lcd.putstr(aux)
def test_main():
#Test function for verifying basic functionality
print("Contador de 0 a 1000")
i2c = I2C(0, sda=machine.Pin(0), scl=machine.Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
lcd.putstr("Contador de 0 a 1000")
utime.sleep(2)
lcd.clear()
lcd.putstr(" Eventos: 1000")
up = (Pin(14,Pin.IN,Pin.PULL_UP))
down = (Pin(15,Pin.IN,Pin.PULL_UP))
up.irq(trigger = Pin.IRQ_FALLING,handler = fun_up)
down.irq(trigger = Pin.IRQ_FALLING,handler = fun_down)
count = 0
#if __name__ == "__main__":
test_main()
while True:
pass