Kazalo:

Ultrazvočni merilnik zmogljivosti rezervoarja za deževnico: 10 korakov (s slikami)
Ultrazvočni merilnik zmogljivosti rezervoarja za deževnico: 10 korakov (s slikami)

Video: Ultrazvočni merilnik zmogljivosti rezervoarja za deževnico: 10 korakov (s slikami)

Video: Ultrazvočni merilnik zmogljivosti rezervoarja za deževnico: 10 korakov (s slikami)
Video: Часть 1 — Аудиокнига Виктора Эпплтона «Том Свифт и его дирижабль» (гл. 1–11) 2024, December
Anonim
Ultrazvočni merilnik prostornine rezervoarja za deževnico
Ultrazvočni merilnik prostornine rezervoarja za deževnico

Če ste kaj podobnega meni in imate malo okoljske vesti (ali pa si samo želite, da bi prihranili nekaj dolarjev - kar sem tudi jaz …), imate morda rezervoar za deževnico. Imam rezervoar za obiranje precej redkega dežja, ki ga dobimo v Avstraliji - ampak fant, fant, ko tukaj dežuje, res dežuje! Moj rezervoar stoji približno 1,5 m visoko in je na podstavku, kar pomeni, da moram stopiti ven, da preverim nivo vode (ali - ker sem tako len, negotovo uravnovesite na vrhu stare plinske jeklenke z žara, ki je zdaj vzeta kot stalno stopnjo poleg rezervoarja).

Želel sem, da bi na nek način preveril nivo vode v rezervoarju, ne da bi se z eno roko ves čas vzpenjal in visel na odtočno cev (hkrati pa me je skrbelo, kakšni pajki bi lahko bili za tem - slišali ste za avstralske pajke - kajne?) … Tako sem se ob ponovnem zanimanju pozno v življenju za elektroniko in poceni Arduino kloni iz Kitajske na ebayu odločil, da bom poskusil zgraditi 'widget', ki bo delo opravil namesto mene.

Moj sanjski pripomoček je bil, da bi bil trajno nameščen v rezervoarju, uporabil vir energije, napolnjen s sončno energijo, z daljinskim odčitavanjem v moji garaži ali pa morda brezžični oddajnik prek Bluetootha, ki bi ga lahko preveril iz telefona, ali pa morda celo Naprava tipa ESP, ki gosti samodejno posodobljeno spletno stran, tako da lahko preko interneta preverim nivo vode v rezervoarju od koder koli po svetu … ampak res - zakaj vse to potrebujem? Tako sem malo nazaj poklical svoje velike ideale (no, precej precej) in odpravil brezžičnost rešitve, trajno nameščenost, sončno polnjenje in zmožnost preverjanja nivoja rezervoarja od zadaj navzven (vedno ob predpostavki, da ima zadnji del zunaj Wi -Fi na voljo, to je …)

Nastali projekt je bil spremenjen v zgornjo ročno enoto, ki jo je mogoče preprosto držati nad odprtino rezervoarja in aktivirati s pritiskom na gumb z digitalnim odčitkom, ki ga je mogoče odčitati od tal - veliko bolj praktično.

Korak: Matematika …

Potem ko sem se poigral z več idejami o tem, kako določiti vodostaj - sem se odločil za ultrazvočni oddajnik/sprejemnik kot osnovo za svoj pripomoček in z Arduinom za odčitavanje in vse matematike. Odčitki, ki jih vrne senzor, so (posredno) v obliki razdalje - od ultrazvočnega senzorja do površine, ki se je odbila (vodna površina - ali dno rezervoarja, če je prazno), in spet nazaj, zato potrebujemo narediti nekaj stvari s tem, da pridemo do odstotka, ki ostane v rezervoarju.

Opomba - v resnici je vrednost, vrnjena s senzorja, v resnici le čas, potreben, da signal zapusti stran oddajnika in se vrne v sprejemnik. To je v mikrosekundah - vendar poznavanje hitrosti zvoka je 29 mikrosekund na cm (kaj? Tega niste vedeli? Pfft…) omogoča enostavno pretvorbo iz časovnega obdobja v merjenje razdalje.

Slika
Slika

Najprej - seveda moramo razdaljo deliti z 2, da senzor doseže površinsko razdaljo. Nato odštejte konstantno razdaljo od senzorja do največje globine vode. Preostala vrednost je globina vode, ki je bila uporabljena. Nato odštejte to vrednost od največje globine vode, da poiščete globino vode, ki je ostala v rezervoarju.

Ta vrednost je torej podlaga za vse druge izračune, na primer za obdelavo te globine vode kot odstotek največje globine ali pomnoževanje globine s konstantno „površino“, da dobimo količino vode, ki jo lahko prikažemo v litrih (ali galonah ali kateri koli drugi enoti - dokler poznate matematiko, da to naredite - za preprostost se držim odstotka).

2. korak: Praktičnosti

Enoto je mogoče držati v roki, vendar to uvaja majhno možnost manjših netočnosti, če enote ne držite na istem mestu in vedno pod istim kotom. Čeprav bi bila to le zelo majhna napaka in verjetno niti ena, ki bi se registrirala, bi me to zadelo.

Vendar pa ročno uvajanje pomeni veliko večjo možnost, da bo prekleta stvar padla v rezervoar in je nikoli več videla. Za ublažitev obeh možnosti bo pritrjen na dolžino lesa, ki se nato postavi čez odprtino rezervoarja, tako da se meritev vsakič izvede z iste višine in kota (in če je padel v rezervoar, vsaj les bo plaval).

S pritiskom na gumb aktivirate enoto (s tem odpravite potrebo po stikalu za vklop/izklop in možnost nenamerno izpraznjene baterije) ter v Arduinu sproži skico. To od HC-SR04 vzame več odčitkov in jih vzame povprečje (za ublažitev nerednih odčitkov).

Vključil sem tudi malo kode za preverjanje visokih ali nizkih vrednosti na enem od digitalnih V/I zatičev Arduino in to uporabil za postavitev enote v način, ki sem ga poimenoval 'Calibration'. V tem načinu zaslon preprosto prikaže dejansko razdaljo (deljeno z 2), ki jo vrne senzor, tako da sem lahko preveril njeno natančnost glede na merilni trak.

Korak: Sestavine

Enota je sestavljena iz treh glavnih komponent…

Slika
Slika
  1. Ultrazvočni oddajni/sprejemni modul HC-SR04
  2. Mikrokrmilnik Arduino Pro Mini
  3. 4 -mestni 7 -segmentni LED zaslon ali prikazovalni „modul“, kot je TM1637

Vse našteto lahko preprosto najdete na ebayu, tako da preprosto poiščete izraze, prikazane s krepkim tiskom.

V tej aplikaciji zaslon preprosto uporablja 3 števke za prikaz vrednosti % 0-100 ali 4 števke za prikaz števila litrov (največ 2000 v mojem primeru), zato bo kateri koli 4 -mestni zaslon dovolj - ni vam treba skrbite, ali ima modul decimalna mesta ali dvopičje. "Modul" zaslona (LED, nameščen na odklopni plošči, z vmesniškim čipom) je lažji, saj uporablja manj pin povezav, vendar je Arduino z nekaj majhnimi spremembami kode lahko prilagodil surov LED zaslon z 12 zatiči (pravzaprav je moja prvotna zasnova temeljila na tej nastavitvi). Upoštevajte pa, da uporaba surovega LED zaslona zahteva tudi 7 uporov, da omeji tok, ki ga porabi vsak segment. Naključno sem imel na voljo modul za prikaz ure TM1637, zato sem se odločil, da ga uporabim.

Dodatni deli in bobi vključujejo 9v sponko za baterijo (in baterijo očitno), trenutno stikalo z gumbom 'push-to-make', projektno polje, zatiče za glavo, povezovalne žice in dolžino lesa 2 "x4", ki presega premer odprtine rezervoarja.

Dodatni kosi in bobi (razen kosov lesa) so bili kupljeni pri moji lokalni prodajni verigi elektronike za hobije - to je Jaycar v Avstraliji. Predstavljam si, da bi bil Maplin v Združenem kraljestvu izvedljiva alternativa, in mislim, da jih je nekaj v ZDA, na primer Digikey in Mouser. Za druge države se bojim, da ne vem, vendar sem prepričan, da če vam v vaši državi primanjkuje ustrezne prodajalne ali spletnega dobavitelja, se bodo obrnili na vas kitajski prodajalci e -trgovin, če tega ne storite pomislite, da na dostavo čakate nekaj tednov (ironično, kljub temu, da smo eden naših najbližjih sosedov, 6 tednov ali več ni nič nenavadnega za dostavo v Avstralijo s Kitajske!).

Poskrbite, da boste dobili projektno škatlo, ki je dovolj velika - predvideval sem pri moji, preden so bile komponente na voljo, in to je res zelo tesno stiskanje - morda bom moral dobiti drug gumb, ki porabi manj prostora.

Oh, in mimogrede, dolžina lesa je prišla iz nekaterih ostankov, ki jih hranim v kotu svoje garaže (kot dom za več teh ljubkih pajkov).

Ko boste razumeli slikovitost in funkcionalnost, se lahko odločite, da prilagodite svojo različico in vključite stikalo za vklop/izklop ali uporabite 18650 Li-Ion vir napajanja s sončno ploščo in krmilnikom polnjenja, da bo nenehno napolnjen in pripravljen za uporabo. ali spremenite preprost LED zaslon za večvrstični LCD ali grafični OLED z več možnostmi prikaza informacij, na primer prikazom odstotka IN litrov, ki ostanejo hkrati. Lahko pa se odločite za vsepojočo, vseplesajočo brezžično enoto IoT, ki je stalno nameščena v rezervoarju S sončnim polnjenjem. Rad bi slišal za vaše različice in spremembe.

4. korak: Preizkus prototipa (in kode)

Ko sem HC-SR04 kupil od poceni kitajskega vira na ebayu, v resnici nisem pričakoval, da bom dobil zelo natančno enoto, zato sem ga želel najprej preizkusiti na plošči, če bi moral dodati nekaj kode za popravek razdalje moja skica.

Na tej točki sem iskal osnovne informacije o tem, kako se povežem in uporabljam HC-SR04, in moram priznati jsvesterjevo navodilo "Enostavni primer Arduina in HC-SR04". Njegov zgled in izkušnje so bili zame odlično izhodišče za začetek kodiranja.

Odkril sem knjižnico funkcij NewPing za HC-SR04, ki vključuje vgrajeno funkcionalnost, ki vzame povprečje več odčitkov, s čimer je moja koda precej poenostavljena.

Našel sem tudi knjižnico za modul prikazovalnika ure TM1637, zaradi česar je prikaz številk precej poenostavljen. V svoji prvotni kodi (za 4-mestni 7-segmentni zaslon) sem moral številko razdeliti na posamezne števke, nato pa vsako posamezno številko na zaslonu sestaviti tako, da sem vedel, katere segmente osvetliti, in nato kolesariti po vsaki številki v številki. in to številko zgradi na ustrezni prikazni številki. Ta metoda se imenuje multipleksiranje in učinkovito prikazuje samo eno številko naenkrat, vendar jih premika od ene do druge številke tako hitro, da človeško oko tega ne opazi in vas zavede, da verjamete, da so vse številke vključene ob istem času. Tako kot knjižnica HC-SR04, ki olajša merilne operacije, tudi ta knjižnica zaslona skrbi za vse multipleksiranje in obdelavo številk. Na zgornjih povezavah Arduino Reference je navedenih nekaj primerov, vsaka knjižnica pa ima seveda vzorčno kodo, ki je lahko v veliko pomoč.

Slika
Slika
Slika
Slika

n

Torej, zgornje slike prikazujejo mojo testno ploščad - zaradi enostavnosti jo preizkušam na svojem Arduino Uno, saj je že nastavljena za začasne ponovno uporabne povezave za izdelavo prototipov. Enota tukaj deluje v načinu „Kalibracija“(upoštevajte, da je digitalni zatič 10 - bela žica - priključen na ozemljitev) in natančno odčita 39 cm v polje, ki sem ga naključno postavil pred njim, kar prikazuje merilni trak. V tem načinu pred meritvijo prikažem majhno črko 'c', samo da pokažem, da to ni običajna meritev.

HC -SR04 poleg Vcc (5v) in Ozemljitev potrebuje še dve drugi povezavi - sprožilec (rumena na pin 6) in odmev (zelena na pin 7). Zaslon potrebuje tudi Vcc (5v) in Ground ter še 2 povezavi - uro (modra na pin 8) in DIO (vijolična na pin 9). Kot smo že omenili, način delovanja nadzira visok ali nizek pin 10 (bel). Priključki bodo uporabljali iste zatiče na Arduino Pro Mini, vendar bodo trajno spajkani. Način delovanja lahko izberete s pomočjo mostička na dveh od treh zatičev glave, priključenih na Vcc, pin 10 in maso.

Uradne specifikacije za HC -SR04 trdijo, da je največja napaka le 3 milimetre do največje načrtovane razdalje delovanja 4 metre, zato si predstavljajte moje presenečenje, ko sem ugotovil, da je bila moja enota vsekakor natančna do 2 metra - kar je precej presega tisto, kar potrebujem. Zaradi omejenega prostora za hitro in umazano nastavitev preskusa so bili rezultati mojih preskusov, ki presegajo to razdaljo, poškodovani zaradi odsevov s površin, ki niso moja preskusna tarča, saj se je žarek oddajnika razprostrl in prevzel širše območje. Ampak dokler je dobro do 1,5 metra - to mi bo prav prijazno, najlepša hvala:-)

5. korak: Ino skica merilnika deževnice

Celotna koda je priložena, spodaj pa bom vključil nekaj izvlečkov, ki pojasnjujejo nekatere korake.

Najprej namestitev …

#vključi

#include #include // zatiči za HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400 cm je največ za HC-SR04, 155 cm je največ za rezervoar // Priključni zatiči LED modula (digitalni zatiči) #define CLK 8 #define DIO 9 TM1637Displejni zaslon (CLK, DIO); // Drugi zatiči #define opMode 10

Poleg knjižnic TM1637 in NewPing sem vključil tudi knjižnico Math, ki mi omogoča dostop do funkcije 'zaokroževanja'. To uporabljam pri nekaterih matematikah, da lahko na primer prikažem odstotek na najbližjih 5%.

Nato so definirani zatiči za obe napravi in sprožene naprave.

Na koncu določim pin 10 za način delovanja.

// izklopi vse segmente za vse številke

uint8_t bajtov = {0x00, 0x00, 0x00, 0x00}; display.setSegments (bajti);

Ta del kode prikazuje en način za upravljanje zaslonskega modula, ki omogoča individualno kontrolo vsakega segmenta pri vsaki števki. 4 elemente v matriki, imenovani bajti, sem nastavil na nič. To pomeni, da je vsak bit vsakega bajta nič. 8 bitov se uporablja za nadzor vsakega od 7 segmentov in decimalne vejice (ali dvopičja na zaslonu vrste ure). Torej, če so vsi biti nič, potem noben od segmentov ne bo osvetljen. Operacija setSegments pošlje vsebino matrike na zaslon in ne prikaže (v tem primeru) nič. Vsi segmenti so izklopljeni.

Slika
Slika

Najpomembnejši bit v bajtu nadzoruje DP, nato pa preostalih 7 bitov nadzoruje 7 segmentov od G do A v obratnem vrstnem redu. Torej, za prikaz števila 1 na primer so potrebni segmenti B in C, zato bi bila binarna predstavitev "0b00000110". (Hvala CircuitsToday.com za zgornjo sliko).

// Vzemite 10 odčitkov in uporabite mediano trajanja.

int duration = sonar.ping_median (10); // trajanje je v mikrosekundah if (duration == 0) // Napaka pri merjenju - nejasno ali brez odmeva {uint8_t bajtov = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenti za črkovanje "Err" display.setSegments (bajti); }

Tukaj govorim HC-SR04, naj opravi 10 odčitkov in mi da povprečen rezultat. Če se vrednost ne vrne, je enota izven dosega. Nato uporabim isto tehniko kot zgoraj za nadzor določenih segmentov na štirih številkah, za črkovanje črk (prazno), E, r in r. Z uporabo binarnega zapisa je nekoliko lažje povezati posamezne bite s segmenti.

6. korak: Nalaganje kode v Arduino Pro Mini (brez USB -ja)

Kot sem že rekel, za artikle kitajskih prodajalcev ebay -a pogosto traja 6 tednov ali več, veliko mojih prototipov in pisanja kode sem opravil med čakanjem na prihod nekaterih komponent - med njimi je tudi Arduino Pro Mini.

Ena stvar, ki je pri Pro Miniju nisem opazil, dokler ga nisem že naročil, je ta, da na njem ni vrat USB za prenos skice. Tako sem po nekaj grozljivega googlanja ugotovil, da v tem primeru obstajata dva načina za nalaganje skice - za enega je potreben poseben kabel, ki gre od USB -ja v računalniku do 6 posebnih zatičev na Pro Mini. Ta skupina 6 zatičev je znana kot zatiči ponudnika internetnih storitev (programer v sistemu) in to metodo lahko dejansko uporabite na katerem koli Arduinu, če želite, vendar ker je vmesnik USB na voljo na skoraj vseh drugih različicah Arduina (jaz pomislite), je uporaba te možnosti veliko enostavnejša. Druga metoda zahteva, da imate še en Arduino z vmesnikom USB, ki bo deloval kot "posrednik".

Na srečo je moj Arduino Uno pomenil, da bi lahko uporabil drugo metodo, ki vam jo bom opisal spodaj. Imenuje se "Arduino kot ISP". Na kratko, na svoj "vmesni" Arduino naložite posebno skico, ki jo spremeni v serijski vmesnik. Nato naložite svojo dejansko skico, vendar namesto običajne možnosti nalaganja uporabite možnost iz menija IDE, ki naloži "z uporabo Arduina kot ponudnika internetnih storitev". Vmesni Arduino nato vzame vašo dejansko skico iz IDE in jo posreduje na nožice ponudnika internetnih storitev Pro Mini, namesto da bi jo naložil v svoj pomnilnik. Ko razumete, kako deluje, ni težko, vendar je dodatna plast zapletenosti, ki se ji boste morda želeli izogniti. Če je tako, ali nimate drugega Arduina, ki bi ga lahko uporabili kot "vmesnika", boste morda želeli kupiti Arduino Nano ali enega od drugih modelov majhnih oblik, ki vključuje vmesnik USB in naredi programiranje enostavnejšo možnost.

Tu je nekaj virov, ki vam bodo morda v pomoč pri razumevanju postopka. Arduino Reference se posebej nanaša na zapisovanje novega zagonskega nalagalnika na ciljno napravo, vendar lahko na enak način preprosto naložite skico. Ugotovil sem, da je z videom Juliana Iletta koncept precej bolj jasen, čeprav preskoči del reference Arduino, ki pojasnjuje, kako povezati dva Arduina skupaj, in namesto tega programira goli čip na plošči.

  • Referenčni priročnik Arduino - Uporaba Arduina kot ponudnika internetnih storitev
  • YouTube video Juliana Iletta - uporaba Arduina kot ponudnika internetnih storitev

Ker Pro Mini nima 6 zatičev ponudnika internetnih storitev, ki bi bili primerno združeni skupaj, morate dekodirati, kateri od digitalnih zatičev se nanaša na štiri programske zatiče (druga dva priključka sta samo Vcc in Gnd - zato sta precej preprosta). Na srečo po vas, to sem že doživel - in sem pripravljen deliti znanje z vami - kakšna radodarna oseba sem !!

Arduino Uno in mnogi drugi v družini Arduino imajo 6 zatičev ročno razporejenih v blok 3x2, kot je ta (slika z www.arduino.cc).

Slika
Slika

Na žalost Pro Mini ne. Kot lahko vidite spodaj, jih je pravzaprav precej enostavno prepoznati in so še vedno razporejeni v 2 bloka po 3 zatiči. MOSI, MISO in SCK so enaki kot digitalni zatiči 11, 12 in 13 na Pro Mini in Arduino Uno, za programiranje ponudnikov internetnih storitev pa preprosto povežite 11 na 11, 12 na 12 in 13 na 13. Pro Mini ponastavitveni pin mora biti priključen na pin Uno 10, Pro Mini Vcc (5v)/ozemljitev pa na Arduino +5v/Ground. (Slika s www.arduino.cc)

Slika
Slika

7. korak: Montaža

Montaža
Montaža

Kot sem že omenil, sem se lotil primera in obžaloval. Resnično stisniti vse komponente. Pravzaprav sem moral stikalne gumbe upogniti navzven in na zunanjo stran postaviti nekaj embalaže, da bi jo še nekoliko dvignil, da bi se prilegala v globino škatle, zato sem moral zmleti 2-3 mm z vsake strani ploščo modula zaslona, da se tudi prilega.

V ohišju sem izvrtal 2 luknji za prebadanje ultrazvočnih senzorjev. Luknje sem naredil malo premajhne in jih nato z majhnim rotacijskim brusilnikom postopoma povečeval, da sem jih lahko lepo prilegal. Na žalost so bili preblizu stran, da bi lahko uporabljali brusilnik iz notranjosti škatle, to pa je bilo treba narediti od zunaj, kar je povzročilo številne praske in drsne sledi, kjer je mlinček zdrsnil - no, to je vse na dnu vseeno - koga briga..?

Nato sem na enem koncu izrezal režo, ki je ustrezne velikosti, da se lahko prikaže skozi zaslon. Še enkrat - moje ugibanje o velikosti škatle me je ugriznilo na zadnji strani, saj mi je reža pustila zelo tanek kos nad zaslonom, ki se je neizogibno zlomil, medtem ko sem ga gladko vložil. No, zato je bilo super lepilo izumljeno …

Nazadnje sem z vsemi sestavnimi deli, ki so približno postavljeni v škatli, izmeril, kam vstaviti luknjo v pokrovu, tako da bo telo gumba padlo v zadnji razpoložljivi prostor. SAMO !!!

Nato sem vse komponente spajkal skupaj, da sem preveril, ali so vse še delovale po mojem upogibanju, brušenju in obrezovanju, preden sem jih vse sestavil v ohišje. Povezavo mostička lahko vidite tik pod zaslonskim modulom, s pinom 10 na Arduinu (beli kabel), priključenim na Gnd, s čimer enoto preklopite v način umerjanja. Zaslon odčita 122 cm od moje klopi - najbrž je ujel signal, ki se odbija od vrha okenskega okvirja (prenizko je, da bi bil strop).

Slika
Slika

Potem je šlo za razbijanje pištole za vroče lepilo in pobiranje čevljev vseh sestavnih delov. Ko sem to naredil, sem ugotovil, da je majhen razmik med vrhom modula zaslona in pokrovom, ko je bil modul prilepljen, pustil rahlo izboklino, kjer pokrov ne bo šel tako tesno, kot bi si želel. Morda bom nekega dne poskusil nekaj narediti glede tega - ali pa verjetno ne bom …

Slika
Slika

8. korak: Končan članek

Po nekaj testiranjih po montaži in popravku kode, ki je upošteval globino lesa, na katerega sem privijal napravo (kar sem v svojih izračunih popolnoma spregledal - d'oh !!), je vse končano. Končno!

Sestavljeno testiranje

Ko enota samo sedi z glavo navzdol na moji klopi, očitno ne bo odsevnega signala, zato enota pravilno prikaže stanje napake. Enako bi veljalo, če je najbližja odsevna površina izven dosega enote.

Slika
Slika

Zdi se, da je od moje klopi do tal 76 cm (no, 72 cm plus 4 cm globine kosa lesa).

Slika
Slika

Spodnja stran enote prikazuje oddajnik in sprejemnik, ki visita nad kosom lesa - res bi ga moral nehati imenovati za kos lesa - v nadaljevanju se bo imenovala platforma za stabilizacijo in natančno postavitev merilnika! K sreči bom to verjetno zadnjič omenil;-)

Ooh - v tem lahko vidite vse te grde praske in sledi drsanja …

Slika
Slika

… In tukaj je končni izdelek, nameščen v običajnem načinu delovanja, ki dejansko meri zmogljivost mojega rezervoarja na najbližjih 5%. Bilo je (zelo) deževno nedeljsko popoldne, ko sem zaključil ta projekt, torej dežne kaplje na enoti in zelo prijetnih 90% branja.

Slika
Slika

Upam, da ste uživali v branju tega poučevanja in da ste se malo naučili o programiranju Arduino, fiziki in uporabi sonarnega/ultrazvočnega odseva, pasti uporabe ugibanj pri načrtovanju projekta in da ste bili navdihnjeni, da naredite svoj lastnega merilnika rezervoarja za deževnico - in nato namestite rezervoar za deževnico, da ga uporabite, hkrati pa nekoliko pomagate okolju in prihranite pri računu za vodo.

Prosimo, preberite naprej - kaj se je zgodilo naslednji dan …!

9. korak: PostScript - sto (in pet) odstotkov?

Tako je bil v ponedeljek po deževni nedelji rezervoar popolnoma tako poln, kot bi lahko bil. Ker je to eden redkih primerov, ko sem ga videl popolnoma napolnjenega, sem mislil, da bi bil to idealen čas za merjenje merilnika, a uganite, kaj je bilo 105%, zato je bilo očitno nekaj narobe.

Izvzel sem merilno palico in ugotovil, da sta moja prvotna predvidevanja o 140 cm kot največji globini vode in 16 cm višine (glede na vizualne ocene zunaj rezervoarja) nekoliko odstopala od dejanskih meritev. Tako oborožen z resničnimi podatki za moje 100 -odstotno merilo uspešnosti sem lahko spremenil svojo kodo in znova naložil Arduino.

Največja globina vode je 147 cm, merilno mesto pa 160 cm, kar daje 13 cm prostora za glavo (vsota prostora za glavo v rezervoarju, višina vratu rezervoarja in globina kosa… vau, ne, kaj ?! Mislim na globino stabilizacijske in natančno postavljene platforme!).

Po ustreznem popravku spremenljivk maxDepth in višine prostora ter ponastavitvi največjega območja objekta sonarja na 160 cm je hiter ponovni test pokazal 100%, ki je padlo na 95%, ko sem nekoliko dvignil merilnik (za simulacijo majhne količine porabljena voda).

Delo opravljeno!

PS - to je moj prvi poskus poučevanja. Če vam je všeč moj stil, smisel za humor, poštenost do priznanja napak (hej - tudi jaz nisem popoln …) itd. - sporočite mi in morda mi bo dalo spodbudo, da naredim še eno.

10. korak: Pomisleki

Uporabna zmogljivost

Tako je minilo že nekaj tednov, odkar sem objavil to navodilo, v odgovor pa sem imel veliko pripomb, od katerih so nekateri predlagali nekatere alternativne mehanizme - elektronske in ročne. Ampak to me je spravilo v razmišljanje in na nekaj bi verjetno moral opozoriti na začetku.

  • Moj rezervoar ima črpalko, ki je nameščena na tleh - tik pod dnom rezervoarja. Ker je črpalka najnižja točka v sistemu in je voda iz črpalke pod pritiskom, lahko izkoristim celotno zmogljivost rezervoarja.
  • Vendar - če vaš rezervoar nima črpalke in temelji na gravitacijskem napajanju, je dejanska zmogljivost rezervoarja omejena z višino pipe. Ko je voda v rezervoarju nižja od pipe, voda ne bo stekla.

Torej, ne glede na to, ali uporabljate elektronski merilec ali ročno merilno steklo, ali sistem s plavajočo in zastavico, se zavedajte le, da je brez črpalke učinkovita 'podlaga' vašega rezervoarja dejansko višina izhoda rezervoarja oz. tapnite.

Priporočena: