from machine import * from lcd_api import * from machine_i2c_lcd import * from utime import * gruen = machine.Pin(19, machine.Pin.OUT) blau = machine.Pin(21, machine.Pin.OUT) rot = machine.Pin(20, machine.Pin.OUT) reed = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_DOWN) buzzer = PWM(Pin(22)) #Variablen I2C I2C_ADDR = 0x27 I2C_NUM_ROWS = 2 I2C_NUM_COLS = 16 sda = Pin(14) scl = Pin(15) i2c = I2C(1, sda=sda, scl=scl, freq=400000) lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS) lcd.backlight_on() while True: eingabe = reed.value() #lcd.clear() if eingabe == 1: rot.value(0) gruen.value(1) lcd.move_to(0,0) lcd.putstr("Tuer geschlossen") lcd.move_to(0,1) lcd.putstr("Status: OK ") buzzer.duty_u16(0) else: gruen.value(0) rot.value(1) lcd.move_to(0,0) lcd.putstr("Tuer geoeffnet ") lcd.move_to(0,1) lcd.putstr("Status: ALARM") for i in range(200,2000,10): buzzer.freq(i) buzzer.duty_u16(2000) sleep(0.01)