# Inladen van bibliotheken voor aansturen van
# LEDs voor kerstboom en huisje
# LED voor neus Rudolph
# Rendierpoot met servo
# Ster met potentiometer
# BotBerg (c) 2021 bas@botberg.nl

# Inladen bibliotheken voor functies
import time
import board
import pwmio
import analogio 
import digitalio
import random
from adafruit_motor import servo

# Functies voor rendierpoot-servo en kerstster-potentiometer
pwm = pwmio.PWMOut(board.GP26, duty_cycle=2 ** 15, frequency=50)
potentiometer = analogio.AnalogIn(board.A1)
servo1 = servo.Servo(pwm)

# Omzetten van kerstster naar 0-2 seconde
def get_ster(pin):
    return (pin.value * 2) / 65536

# Alle LEDs aanstuurbaar maken op de pinnetjes van de Raspberry Pico
ledkerstboomrood = digitalio.DigitalInOut(board.GP16)
ledkerstboomrood.direction = digitalio.Direction.OUTPUT
ledkerstboomgeel = digitalio.DigitalInOut(board.GP17)
ledkerstboomgeel.direction = digitalio.Direction.OUTPUT
ledhuisrood = digitalio.DigitalInOut(board.GP19)
ledhuisrood.direction = digitalio.Direction.OUTPUT
ledhuisgroen = digitalio.DigitalInOut(board.GP18)
ledhuisgroen.direction = digitalio.Direction.OUTPUT
ledneus = digitalio.DigitalInOut(board.GP20)
ledneus.direction = digitalio.Direction.OUTPUT
ledhaardvuur = digitalio.DigitalInOut(board.GP21)
ledhaardvuur.direction = digitalio.Direction.OUTPUT

#Opstartroutine waarin alle LEDs aangaan en weer uitgaan
ledneus.value = True
time.sleep(1)
ledkerstboomrood.value = True
time.sleep(1)
ledkerstboomgeel.value = True
time.sleep(1)
ledhaardvuur.value = True
time.sleep(1)
ledhuisgroen.value = True
time.sleep(1)
ledhuisrood.value = True
time.sleep(1)
servo1.angle = 180
time.sleep(1)

ledneus.value = False
ledkerstboomrood.value = False
ledkerstboomgeel.value = False
ledhaardvuur.value = False
ledhuisgroen.value = False
ledhuisrood.value = False
time.sleep(2)
servo1.angle = 0
time.sleep(1)

