from machine import Pin, ADC, PWM
from lcd import lcd_init, lcd_print, lcd_clear
import time
lcd_init()
lcd_clear()
rg_led = 12
rb_led = 17
red_LED = 15
blue_LED = 2
green_LED = 13
red_LED = Pin(red_LED, Pin.OUT)
blue_LED = Pin(blue_LED, Pin.OUT)
green_LED = Pin(green_LED, Pin.OUT)
rg_led = PWM(Pin(rg_led), freq=1000)
rb_led = Pin(rb_led, Pin.OUT)
ldr = ADC(Pin(34))
ldr.atten(ADC.ATTN_11DB)
battery_pin = ADC(Pin(32))
battery_pin.atten(ADC.ATTN_11DB)
SWITCH_PIN = 25
SWITCH2_PIN = 27
switch = Pin(SWITCH_PIN, Pin.IN, Pin.PULL_UP)
switch2 = Pin(SWITCH2_PIN, Pin.IN, Pin.PULL_UP)
DARKNESS_LIMIT = 2500
run = False
green_LED.value(0)
def reset_lights():
red_LED.value(0)
green_LED.value(0)
blue_LED.value(0)
while True:
batt_value = battery_pin.read()
if switch.value() == 0:
run = True
green_LED.value(1)
red_LED.value(0)
if switch.value() == 1:
reset_lights()
red_LED.value(1)
run = False
rg_led.duty(0)
lcd_clear()
lcd_print(" System Is Off")
if switch2.value() == 0:
rb_led.value(1)
else:
rb_led.value(0)
if run == True:
green_LED.value(1)
ldr_value = ldr.read()
lcd_print("LDR Value: " + str(ldr_value) + " ")
if ldr_value <= 50:
rg_led.duty(0)
else:
brightness = int((ldr_value / 4095) * 1023)
rg_led.duty(brightness)
if switch2.value() == 0:
rb_led.value(1)
else:
rb_led.value(0)
time.sleep(0.1)