from machine import Pin,SoftI2C
from machine import I2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from ir_rx import NEC_16
from time import sleep
I2C_ADDR=0X27
rows = 2
columns = 16
sdaPin=Pin(21)
sclPin=Pin(22)
i2c=I2C(0,sda=sdaPin, scl=sclPin,freq=1000)
lcd = I2cLcd(i2c,I2C_ADDR,rows,columns)
led = Pin(25,Pin.OUT)
ir_data = 0
led_st=0
def callback(data,addr):
global ir_data
if data > 0:
ir_data = data
lcd.move_to(3,0)
lcd.putstr("Data {:02x} ".format(data))
print('Data {:02x} '.format(data))
ir = NEC_16(Pin(14, Pin.IN),callback)
while True:
if ir_data == 0x30:
led_st = not led_st
led.value(led_st)
lcd.move_to(1,1)
lcd.putstr("LED ON" if led_st else "LED OFF")
print("LED ON" if led_st else "LED OFF")
ir_data = 0
lcd.clear()