Water level QDY30B

Iš Žinynas.
Jump to navigation Jump to search

Vandens lygio matuoklis paremtas QDY30B sensoriumi. Pagrindinė sprendžiama problema: hidroforo išjungimas pasiekus kritinį vandens lygio tašką, t.y kai hidroforo įėimo vamzdis nepasiekia vandens išjungti jam maitinimą. Taip pat papildomai integracija į MQTT/Home Assistant vandens lygio matavimams centimetrais/metrais.

Reikalingos medžiagos

Kaip atrodo medžiagos

Screenshot 2025-10-06 at 22.20.34.png Screenshot 2025-10-06 at 22.20.58.png Screenshot 2025-10-06 at 22.21.14.png 100-pcs-50-ohm-0-25w-metal-film-resistor-1-4w-mfr-emerging-original-imafwyhbdnhmgex3.jpeg-2.webp 0011952 01f-50v-disc-ceramic-capacitor 550-2.jpg

Sujungimo schema

  From Sensor (Blue wire, 4–20 mA −)
           │
           │
           ├───────> To ESP8266 ADC0 (A0)   ← sense wire
           │
           │
         [===]  ← 47 Ω resistor (shunt)
         [   ]
           │
           │
          GND  (shared with 24 V PSU and ESP8266)

Sujungimas:

  • Prijunkite mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos.
  • Kitą rezistoriaus koją prijunkite prie žemės (GND).
  • Prilituokite kondensatorių tiesiai per abi rezistoriaus kojas (lygiagrečiai).
  • Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) išveskite trumpą laidą į ESP8266 ADC0 (A0) įėjimą.
  • Įsitikinkite, kad maitinimo šaltinis (PSU) ir ESP8266 turi bendrą žemę (GND).

Kaip atrodo sujungimas

Water level scheme in action1.png

Water level scheme in action2.png

ESPHome Firmware kodas

ccc

Flashinimas

Pirmiausia reiktų susidiegti esphome python3 modulį:

pip3 install esphome

Flashinti reikia per relės UART interfeisą, micro USB interfeisas tam reikalui neskirtas. Pajungiame USB Serial TTL adapterį, sujungiame RX/TX/GND/5V ir galime flashinti, pirmam kartui taip pat būtina užtrumpinti GND + 101 prieš įjungiant įrenginį (randasi tame pačiame UART layoute).

Kompiluojame ir flashiname:

python3 -m esphome compile water_level.yaml
python3 -m esphome upload water_level.yaml

Vėliau galime flashinti over the air (per tinklą) metodu:

python3 -m esphome upload --device DEVICE_IP water_level.yaml