#pwm stuff inspired by https://www.elektronik-kompendium.de/sites/raspberry-pi/2706231.htm
#lcd1602.py from https://toptechboy.com/lcd1602-display-library-for-micropython-and-the-raspberry-pi-pico-w/?amp
from machine import Pin, PWM
from time import sleep
from lcd1602 import LCD
lcd=LCD()
# 0 degrees
deg000 = 1638
# 90 degrees
deg090 = 4840
# 180 degrees
deg180 = 8000
pwm = PWM(Pin(28))
pwm.freq(50)
print('Position: Middle (90 degrees)')
lcd.write(0,0,"Position: Middle")
lcd.write(0,1,"Angle:90 degrees")
pwm.duty_u16(deg090)
sleep(2)
print('Position: Left (0 degrees)')
lcd.clear()
lcd.write(0,0,"Position: Left")
lcd.write(0,1,"Angle: 0 degrees")
pwm.duty_u16(deg000)
sleep(2)
print('Position: Middle (90 degrees)')
lcd.clear()
lcd.write(0,0,"Position: Middle")
lcd.write(0,1,"Angle:90 degrees")
pwm.duty_u16(deg090)
sleep(2)
print('Position: Right (180 degrees)')
lcd.clear()
lcd.write(0,0,"Position: Right")
lcd.write(0,1,"Angle:180degrees")
pwm.duty_u16(deg180)
sleep(2)
print('Position: Middle (90 degrees)')
lcd.clear()
lcd.write(0,0,"Position: Middle")
lcd.write(0,1,"Angle:90 degrees")
pwm.duty_u16(deg090)
sleep(2)
lcd.clear()
lcd.write(0,0,"+++END+++")
lcd.write(0,1,"DEINITIALIZING!")
pwm.deinit()
print('End')