import BlynkLib
from BlynkTimer import BlynkTimer
import network
import time
import dht
from machine import Pin,PWM
# ========== WiFi Credentials ==========
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASS = ""
# ========== Blynk Credentials ==========
BLYNK_TEMPLATE_ID = "TMPL3idQhXXC3"
BLYNK_TEMPLATE_NAME = "Control led Brightness"
BLYNK_AUTH_TOKEN = "SJQUu1g-RPzrHy8RIfbzobPR93xCek0F"
# ============ SETUP LED (PWM for brightness) ============
LED_PIN = 2 # Change if needed
led = PWM(Pin(LED_PIN), freq=1000)
led.duty(0)
# ========== Timer ==========
blynk_timer = BlynkTimer()
# ========== Connect to WiFi ==========
def wifi_connect():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
print("Connecting to WiFi...")
while not wlan.isconnected():
time.sleep(1)
print("Connected:", wlan.ifconfig())
wifi_connect()
# ========== Connect to Blynk ==========
print("Connecting to Blynk...")
blynk = BlynkLib.Blynk(BLYNK_AUTH_TOKEN)
# ========== Blynk Events ==========
@blynk.on("connected")
def blynk_connected(ping):
print("Blynk Connected! Ping:", ping, "ms")
@blynk.on("disconnected")
def blynk_disconnected():
print("Disconnected from Blynk")
# ========== Send DHT22 Data ==========
@blynk.on("V0")
def v0_handler(value):
button_value = int(value[0])
if button_value == 1:
led.duty(1023) # Full brightness
print("LED ON")
else:
led.duty(0) # Turn OFF
print("LED OFF")
# ----------- Brightness Slider (V1) -----------
@blynk.on("V1")
def v1_handler(value):
brightness = int(value[0]) # Expect 0–1023
led.duty(brightness)
print("Brightness:", brightness)
# ========== Main Loop ==========
while True:
blynk.run()
blynk_timer.run()
time.sleep(0.1)