from machine import I2C,SoftI2C,Pin,PWM
from utime import sleep
from i2c_lcd import I2cLcd
import random
import time
print("Hello, ESP32!")
# Define Pin Out
relay1 = Pin(12, Pin.OUT)
relay2 = Pin(14, Pin.OUT)
relay3 = Pin(27, Pin.OUT)
relay4 = Pin(26, Pin.OUT)
#button = Pin(button_pin, Pin.IN, Pin.PULL_UP) # Use Pin.PULL_DOWN for a pull-down resistor
# I2C Display
DEFAULT_I2C_ADDR=0x27
i2c=SoftI2C(scl=Pin(22),sda=Pin(21),freq=1000)
lcd=I2cLcd(i2c,DEFAULT_I2C_ADDR,2,16)
lcd.putstr("Welcome to ESP32!")
while True:
#if button.value() == 0: # Button is pressed (active low)
my_list = [1, 2, 3, 4]
random_element = random.choice(my_list)
#print(random_element + ".value(1)")
lcd.clear() # Clear the entire display
if random_element == 1:
relay1.value(1) # Turn LED on
relay2.value(0) # Turn LED off
relay3.value(0) # Turn LED off
relay4.value(0) # Turn LED off
lcd.putstr("RELAY1 ON")
#sleep(5)
if random_element == 2:
relay2.value(1) # Turn LED on
relay1.value(0) # Turn LED off
relay3.value(0) # Turn LED off
relay4.value(0) # Turn LED off
lcd.putstr("RELAY2 ON")
#sleep(5)
if random_element == 3:
relay3.value(1) # Turn LED on
relay1.value(0) # Turn LED off
relay2.value(0) # Turn LED off
relay4.value(0) # Turn LED off
lcd.putstr("RELAY3 ON")
#sleep(5)
if random_element == 4:
relay4.value(1) # Turn LED on
relay1.value(0) # Turn LED off
relay2.value(0) # Turn LED off
relay3.value(0) # Turn LED off
lcd.putstr("RELAY4 ON")
#sleep(5)
else:
relay1.value(0) # Turn LED off
relay2.value(0) # Turn LED off
relay3.value(0) # Turn LED off
relay4.value(0) # Turn LED off