import machine
import utime
from servo import Servo
from machine import I2C, Pin
from I2C_LCD import I2CLcd
power_in_led = machine.Pin(25, machine.Pin.OUT)
led = machine.Pin(15, machine.Pin.OUT)
button = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_DOWN)
buzzer = machine.Pin(14, machine.Pin.OUT)
dispenser = Servo(pin_id=16)
i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)
devices = i2c.scan()
lcd = I2CLcd(i2c, devices[0], 2, 16)
treat_total = 0
while True:
power_in_led.value(1)
dispenser.write(90)
lcd.move_to(0, 0)
lcd.putstr("Treat Dispenser")
if button.value() == 1:
led.value(1)
buzzer.value(1)
utime.sleep(.05)
buzzer.value(0)
dispenser.write(0)
lcd.move_to(0, 1)
lcd.putstr(" Dispensing... ")
utime.sleep(.27)
lcd.move_to(0, 1)
lcd.putstr(" ")
treat_total = treat_total + 1
lcd.move_to(0, 1)
lcd.putstr("Total Treats :" + str(treat_total))
led.value(0)
buzzer.value(0)
dispenser.write(90)