Water level QDY30B: Skirtumas tarp puslapio versijų

Iš Žinynas.
Jump to navigation Jump to search
35 eilutė: 35 eilutė:
  
 
'''Sujungimas:'''
 
'''Sujungimas:'''
* Prijunkite mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos.
+
* Prijungiame mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos.
* Kitą rezistoriaus koją prijunkite prie žemės (GND).
+
* Kitą rezistoriaus koją prijungiame prie žemės (GND).
* Prilituokite kondensatorių tiesiai per abi rezistoriaus kojas (lygiagrečiai).
+
* Prilituojame keramikinį 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ą.
+
* Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) išvedame trumpą laidą į ESP8266 ADC0 (A0) įėjimą.
* Įsitikinkite, kad maitinimo šaltinis (PSU) ir ESP8266 turi bendrą žemę (GND).
+
* Įsitikiname, kad maitinimo šaltinis (PSU) ir ESP8266 turi bendrą žemę (GND).
  
 
=== Kaip atrodo sujungimas ===
 
=== Kaip atrodo sujungimas ===

22:58, 6 spalio 2025 versija

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:

  • Prijungiame mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos.
  • Kitą rezistoriaus koją prijungiame prie žemės (GND).
  • Prilituojame keramikinį kondensatorių tiesiai per abi rezistoriaus kojas (lygiagrečiai).
  • Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) išvedame trumpą laidą į ESP8266 ADC0 (A0) įėjimą.
  • Įsitikiname, 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

Rezultatas

Screenshot 2025-10-06 at 22.50.23.png

Kaip matome galime nustatyti kiek CM yra kritinis taškas, žemiau jo relė išsijungia, taip pat galima šią automatiką išjungti arba įjungti. Įjungimo išjungimo būsenos tai pat saugomos po power loss ar atsitiktinių elektros atjungimų, kas yra būtina išlaikant testinumą. Taipogi galima rankiniu būdu valdyti rėlę prieš tai išjungus automatiką. Pagal nutylėjimą pirmam leidimui visos pozicijos yra išjungtos.