from time import sleep
from machine import I2C, Pin
from i2c_lcd import I2cLcd
from hcsr04 import HCSR04
sensor = HCSR04(trigger_pin = 4, echo_pin = 15 )
led2 = Pin(2, Pin.OUT)
led = Pin(33, Pin.OUT)
led1 = Pin(14, Pin.OUT)
buttonN = Pin(32, Pin.IN, Pin.PULL_UP)
button = Pin(25, Pin.IN, Pin.PULL_UP)
prev_buttonStatusN = 1
prev_buttonStatus = 1 # Giá trị trạng thái nút trước đó
AddressOfLcd = 0x27
i2c = I2C(scl=Pin(22), sda=Pin(21), freq=400000) # connect scl to GPIO 22, sda to GPIO 21
lcd = I2cLcd(i2c, AddressOfLcd, 2, 16)
# code in ra màn hình lcd
lcd.move_to(3,0) #đưa con trở đến cột 3 hàng 0
lcd.putstr('Micropython') #in chữ 'Micropython'
sleep(2)
lcd.move_to(3,0)
lcd.putstr('cam on ban ')
lcd.move_to(0,1) #đưa con trở đến cột 0 hàng 0
lcd.putstr("hello fschooler")
while True:
buttonStatus = button.value()
buttonStatusN = buttonN.value()
distance = sensor.distance_cm()
print(distance)
if buttonStatus != prev_buttonStatus: # Nếu trạng thái nút thay đổi
sleep(0.01)
if buttonStatus == 0:
led.value(not led.value()) # Đảo trạng thái đèn LED
prev_buttonStatus = buttonStatus # Cập nhật trạng thái nút trước đó
if buttonStatusN != prev_buttonStatusN: # Nếu trạng thái nút thay đổi
sleep(0.01)
if buttonStatusN == 0:
led1.value(not led1.value()) # Đảo trạng thái đèn LED
prev_buttonStatusN = buttonStatusN # Cập nhật trạng thái nút trước đó
if distance <= 100:
led2.value(1)
else:
led2.value(0)
sleep(0.1)