RisalDash RisalDash

Loyiha · Vazn · LPG

Qancha gaz qolganini aniq bilish

Gaz balloni ogohlantirmaydi — ovqat oʻrtasida shunchaki tugaydi. Ammo gazning vazni bor, vaznni esa oʻlchash oson: ballon ostidagi tenzodatchik va HX711 ESP32’ga sof gaz vaznini kg va qolgan %da koʻrsatishga imkon beradi, keyin tugashidan oldin qizil LED yoqib, zummer beradi. Manometrsiz va taxminsiz — «ovqatlarda» sanaydigan tarozi.

LoyihaHX711TenzodatchikLPGESP32
ESP32 aqlli gaz balloni monitori: HX711 LPG’ni tortadi, sof gaz vazni va qolgan %

Gʻoya — umumiy vazn minus boʻsh ballon

Tenzodatchik unga qoʻyilgan umumiy vaznni oʻqiydi. «3 kg» ballon boʻsh holda taxminan 5 kg (tara), toʻla holda 8 kg — demak gaz bu umumiy − tara, foiz esa toʻla 3 kg zaryadga nisbatan. Uch qator matematika xom koʻrsatkichni yagona kerakli raqamga aylantiradi: yana qancha pishirish mumkin.

// LPG "3 kg" bottle: ~5 kg empty (tare), 3 kg of gas full -> 8 kg total full.
const float TARE = 5.0, NET_FULL = 3.0;

total = scale.get_units();       // kg on the load cell (real: HX711)
net   = total - TARE;            // the gas alone
if (net < 0) net = 0;
pct   = net / NET_FULL * 100.0f; // % of a full charge

int s = pct < 8 ? 2 : (pct < 20 ? 1 : 0);   // empty <8 %, low <20 %
if (s && state == 0 && evlog) evlog->print("Gas low - order a refill");
state = s;
ledOk = s == 0; ledLow = s >= 1; buzz = s == 2;

Ulanish — HX711’da atigi ikki data pin

HX711 — tenzodatchiklar uchun 24-bit ADC: datchikning toʻrt simi uning E+/E−/A+/A− maydonlariga boradi, ESP bilan esa DT (maʼlumot) va SCK (klok) juftligi orqali gaplashadi. Quvvat 3.3 yoki 5 V, umumiy yer:

HX711 tenzodatchik kuchaytirgichi ESP32’ga ulangan: VCC, GND, DT va SCK
Ikki data pin (DT/SCK) va quvvat. BoardLab’da yigʻilgan.

Tarani bir marta kalibrlang

Aniqlik ikki konstantada: kalibrovka koeffitsienti (maʼlum vaznni qoʻying, xom hisobni kg ga boʻling) va tara (aynan sizning boʻsh balloningiz). Bir marta qiling va saqlang:

// One-time tare calibration — do it with the EMPTY bottle on the scale:
#include "HX711.h"
HX711 scale;
scale.begin(DT_PIN, SCK_PIN);
scale.set_scale(CAL_FACTOR);     // from a known weight: raw / kg
scale.tare();                    // zero it — now get_units() reads kg above empty
// TARE above is then the printed empty-bottle weight; adjust NET_FULL to your bottle.

Dashboard va alertlar

Foiz uchun katta bar-shkala, sof va umumiy vazn statlari, Good/Low/EMPTY beyji va klassik yashil/qizil LED + zummer — 20 % dan past ogohlantirish, 8 % dan past boʻsh. Kutubxonadagi namuna (examples/04_Templates/GasCylinder) fake ballonni boʻshatadi, shuning uchun shkala tushishi va alert ishlashi hech qanday tarozisiz koʻrinadi; bitta qatorni real HX711 ga almashtirasiz. MQTT ga publish qilsangiz — Home Assistant avtomatika bilan dozaправка buyuradi. Bu umumiy WeightScale shablonining tor qarindoshi.

Komponentlar roʻyxati

QismVazifa~Narx
ESP32 (yoki ESP8266)miya + Wi-Fi + dashboard$3–5
Tenzodatchik (5–20 kg) + HX711tortish$3–5
Yashil + qizil LED, zummerlokal status$1
Tekis platforma/plitaballon unga qoʻyiladi

Tenzodatchikni toʻla ballon vaznidan yuqori oling (katta ballonga 20 kg). Butun ballon datchikda turishi uchun oddiy platformaga oʻrnating.

Datchik sotib olishdan oldin ballon boʻshashi va alertni fake tarozida koʻring.