import network
from machine import Pin, PWM
import time
import urequests as requests
# Pin Definitions
ldr_Pin = Pin(26, Pin.IN)
Servo_Pin = PWM(Pin(5))
LED_Pin = Pin(27, Pin.OUT)
# Global Variables
ldrValue = 0
operationMode = 0
# Create Blynk objects
auth = '3Qt7t4k_rDZb-_BNlwHYu3GaIibFq1Ex'
ssid = 'Wokwi-GUEST'
passw = ''
# Connect to WiFi network
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect(ssid, passw)
while not wifi.isconnected():
pass
print('Connection successful')
print(wifi.ifconfig())
# Create Blynk objects
from BlynkLib import Blynk
blynk = Blynk(auth)
# Blynk Callbacks
@blynk.on("connected")
def blynk_connected(ping):
# Sync virtual pins on connection
blynk.virtual_sync(0)
blynk.virtual_sync(1)
blynk.virtual_sync(2)
blynk.virtual_sync(3)
@blynk.handle_event("write V0")
def mode_selection(pin, value):
# Handle mode selection
global operationMode
operationMode = int(value[0])
if operationMode == 0: # auto mode
print("Auto MODE IS ACTIVATED!")
blynk.lcd.clear()
blynk.lcd.print(3, 0, " ")
blynk.lcd.print(4, 0, "AUTO MODE")
blynk.lcd.print(0, 1, " ")
blynk.lcd.print(4, 1, "ACTIVATED")
elif operationMode == 1: # manual mode
print("MANUAL MODE IS ACTIVATED!")
blynk.lcd.clear()
blynk.lcd.print(3, 0, " ")
blynk.lcd.print(3, 0, "MANUAL MODE")
blynk.lcd.print(0, 1, " ")
blynk.lcd.print(4, 1, "ACTIVATED")
LED_Pin.off()
@blynk.handle_event("write V2")
def lamp_button(pin, value):
# Handle lamp button
buttonState = int(value[0])
if buttonState == 1:
print("Lamp is ON!")
LED_Pin.on()
blynk.lcd.print(2, 1, " ")
blynk.lcd.print(5, 1, "LAMP ON")
elif buttonState == 0:
print("Lamp is OFF!")
LED_Pin.off()
blynk.lcd.print(5, 1, "LAMP OFF")
@blynk.handle_event("write V3")
def curtain_button(pin, value):
# Handle curtain open button
buttonState = int(value[0])
if buttonState == 1:
print("Opening the curtain!")
blynk.lcd.print(2, 1, " ")
blynk.lcd.print(2, 1, "CURTAIN OPEN")
curtainOpen()
elif buttonState == 0:
print("Stop opening the curtain!")
blynk.lcd.print(2, 1, " ")
blynk.lcd.print(2,