print("Hello, ESP32!")
#####################################
###### IMPORT LIBRARIES
from machine import Pin
from time import sleep
#####################################
###### PIN CONFIGURATIONS
# Configure the LED and LDR (via digital pin)
pin_led = Pin(21, Pin.OUT)
pin_ldr = Pin(33, Pin.IN) # Digital input from LDR comparator (HIGH when > 100 lux)
#####################################
###### SUBROUTINE FOR INTERRUPT #####
def interrupt_ldr(pin):
print('Interrupt by LDR:', pin)
pin_led.on()
sleep(1)
pin_led.off()
# Interrupt trigger when light level changes (rising or falling)
pin_ldr.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=interrupt_ldr)
#####################################
###### MAIN ROUTINE
def main():
while True:
# LED stays off unless triggered by interrupt
pin_led.off()
sleep(10)
#####################################
###### EXECUTE MAIN ROUTINE
if __name__ == '__main__':
main()