Wifi Led Fix
This commit is contained in:
141
MicroController/Project1/Wifi/Test Button.py
Normal file
141
MicroController/Project1/Wifi/Test Button.py
Normal file
@@ -0,0 +1,141 @@
|
||||
import gc
|
||||
import time
|
||||
|
||||
import BlynkLib
|
||||
import machine
|
||||
import network
|
||||
from machine import ADC, Pin
|
||||
|
||||
# --- KONFIGURASI ---
|
||||
led = Pin(2, Pin.OUT)
|
||||
|
||||
WIFI_SSID = "chizui-desktop" # Pastikan SSID 2.4GHz
|
||||
WIFI_PASS = "chizui03"
|
||||
BLYNK_AUTH = "JtlD6EgQ3A-Q-Qt3iW0gnzug67NAQmP3"
|
||||
|
||||
# Variabel Global
|
||||
pot = ADC(0)
|
||||
pot_old = 0
|
||||
pot_now = 0
|
||||
pot_lock = 0
|
||||
pot_time = 0
|
||||
pot_value_old = 0
|
||||
pot_value = False
|
||||
pot_next_check = 300
|
||||
|
||||
|
||||
# --- FUNGSI KONEKSI WIFI ---
|
||||
def connect_wifi():
|
||||
wlan = network.WLAN(network.STA_IF)
|
||||
wlan.active(True)
|
||||
if not wlan.isconnected():
|
||||
print("Menghubungkan ke WiFi...")
|
||||
wlan.connect(WIFI_SSID, WIFI_PASS)
|
||||
while not wlan.isconnected():
|
||||
time.sleep(1)
|
||||
print(".", end="")
|
||||
print("\nWiFi Terhubung!")
|
||||
print("IP Address:", wlan.ifconfig()[0])
|
||||
|
||||
|
||||
connect_wifi()
|
||||
|
||||
# --- INISIALISASI BLYNK ---
|
||||
# Kita gunakan server blynk.cloud sesuai akun baru
|
||||
blynk = BlynkLib.Blynk(BLYNK_AUTH, server="blynk.cloud")
|
||||
|
||||
|
||||
# --- FUNGSI LOGIKA ---
|
||||
def TombolSentuh():
|
||||
global pot, pot_old, pot_now, pot_lock, pot_time, pot_value, pot_next_check
|
||||
now = time.ticks_ms()
|
||||
elapsed = int(now - pot_time)
|
||||
|
||||
if elapsed > pot_next_check:
|
||||
pot_value = 0
|
||||
pot_old = pot_now
|
||||
for x in range(1, 5):
|
||||
pot_now = pot.read()
|
||||
if abs(pot_now - pot_old) >= 3:
|
||||
pot_value = 1
|
||||
break
|
||||
pot_old = pot_now
|
||||
time.sleep(0.01)
|
||||
|
||||
pot_time = time.ticks_ms()
|
||||
if pot_value:
|
||||
pot_next_check = 500
|
||||
else:
|
||||
pot_next_check = 10
|
||||
|
||||
return pot_value
|
||||
|
||||
|
||||
gc.collect()
|
||||
|
||||
# --- BLYNK HANDLERS (CARA MANUAL) ---
|
||||
|
||||
|
||||
def blynk_disconnected(args):
|
||||
print("Blynk disconnected")
|
||||
|
||||
|
||||
def v0_write_handler(value):
|
||||
print("Nilai tombol V0: " + str(value[0]))
|
||||
if value[0] == "1":
|
||||
led.value(0)
|
||||
print("LED menyala")
|
||||
else:
|
||||
led.value(1)
|
||||
print("LED mati")
|
||||
|
||||
|
||||
def v1_write_handler(value):
|
||||
print("Tombol Sentuh V1 : " + str(value[0]))
|
||||
|
||||
|
||||
def v2_write_handler(value):
|
||||
print("Uptime Request V2: " + str(value[0]))
|
||||
|
||||
|
||||
# --- DAFTARKAN HANDLER (BAGIAN REVISI) ---
|
||||
# Ini yang memperbaiki error "3 arguments"
|
||||
blynk.on("disconnected", blynk_disconnected)
|
||||
blynk.on("V0", v0_write_handler)
|
||||
blynk.on("V1", v1_write_handler)
|
||||
blynk.on("V2", v2_write_handler)
|
||||
|
||||
|
||||
# --- MAIN LOOP ---
|
||||
def runLoop():
|
||||
global pot_value_old, pot_value
|
||||
|
||||
pot_value = TombolSentuh()
|
||||
firstBoot = time.time()
|
||||
oldTick = firstBoot
|
||||
|
||||
print("Sistem Siap! Cek App Blynk kamu...")
|
||||
|
||||
while True:
|
||||
blynk.run()
|
||||
|
||||
if time.time() > oldTick:
|
||||
uptime_sec = time.time() - firstBoot
|
||||
blynk.virtual_write(2, uptime_sec)
|
||||
oldTick = time.time() + 1
|
||||
|
||||
pot_value = TombolSentuh()
|
||||
if pot_value_old != pot_value:
|
||||
pot_value_old = pot_value
|
||||
print("Status tombol sentuh : " + str(pot_value))
|
||||
if pot_value:
|
||||
blynk.virtual_write(1, 1)
|
||||
else:
|
||||
blynk.virtual_write(1, 0)
|
||||
|
||||
gc.collect()
|
||||
|
||||
|
||||
# Jalankan Program
|
||||
gc.collect()
|
||||
runLoop()
|
||||
Reference in New Issue
Block a user