Датчик уровня бака
Я создал этот маленький датчик для контроля уровня баков или чего-то еще. данные связи работают через Wi-Fi, а для приборной панели я использовал Blynk, вход устанавливается каждые 24 часа.
электронные части:
ESP32 КОМНАТА
ИК-датчик Vl53L0X
Код МикроПитона
импортная сеть
время импорта
импорт запросов
от импортного контакта машины, I2C
импортировать vl53l0x
# — КРЕДЕНЦИАЛЫ ---
SSID = «Wi-Fi»
ПАРОЛЬ = «пароль»
BLYNK_TOKEN = «токен»
ФОНДО_ТАНИКА = 164
ЛИВЕЛЛО_ПИЕНО = 33
CAPACITA_LITRI = 0,15
# — ПОДКЛЮЧЕНИЕ WIFI ---
защита connetti_wifi():
wlan = сеть.WLAN(сеть.STA_IF)
wlan.active (Истина)
если не wlan.isconnected():
print(«Подключение к Wi-Fi в корсо...»)
wlan.connect(SSID, ПАРОЛЬ)
пока не wlan.isconnected():
пройти
print(«Подключение к Wi-Fi! IP:», wlan.ifconfig()[0])
connetti_wifi()
# — ДАТЧИК ИНИЦИАЛИЗАЦИИ ---
print(«Инициализация датчика...»)
i2c = I2C(0, sda=Pin(21), scl=Pin(22))
Sensore_laser = vl53l0x.VL53L0X(i2c)
# — ЦИКЛО ИНФИНИТО ---
пока правда:
попробуйте:
distanza_mm = Sensore_laser.read()
print(«Distanza rilevata:», distanza_mm, «мм»)
если расстояние_мм >= FONDO_TANICA:
процент = 0
elif distanza_mm <= LIVELLO_PIENO:
процент = 100
еще:
range_totale = FONDO_TANICA — LIVELLO_PIENO
distanza_relativa = FONDO_TANICA — distanza_mm
процент = int((distanza_relativa / range_totale) * 100)
print(«Ливелло %:», процент)
литри = (проценты/100)*CAPACITA_LITRI
print («Литри Стимати:», литри, «л»)
url_blynk = f«http://blynk.cloud/external/api/update?token={BLYNK_TOKEN}&v0={percentuale}»
риспоста = urequests.get(url_blynk)
риспоста.закрыть()
# 2. Invia i Litri sul Pin V1
url_litri = f«http://blynk.cloud/external/api/update?token={BLYNK_TOKEN}&v1={litri}»
рисп_литри = urequests.get(url_litri)
рисп_литри.закрыть()
print(«Дато приглашает к Блинку!»)
кроме исключения как e:
print(«Ошибка:», e)
время.сон(86400)
для печати деталей я использовал Prusament PETG V0.





























