Ultrasoniese reënwatertenk kapasiteitsmeter: 10 stappe (met foto's)
Ultrasoniese reënwatertenk kapasiteitsmeter: 10 stappe (met foto's)
Anonim
Ultrasoniese reënwatertenk kapasiteitsmeter
Ultrasoniese reënwatertenk kapasiteitsmeter

As u net soos ek is en 'n bietjie omgewingsbewus is (of net velvlekke wil bespaar om 'n paar dollar te bespaar - wat ek ook is …), het u moontlik 'n reënwatertenk. Ek het 'n tenk om die taamlik seldsame reën wat ons in Australië kry te oes - maar seuntjie, as dit hier reën, reën dit regtig! My tenk staan ongeveer 1,5 m hoog en is op 'n plint, wat beteken dat ek trappe moet afklim om die watervlak te kontroleer (of - omdat ek so lui is, balanseer bo -op 'n ou gasbottel van die braai wat nou geneem is permanente verblyf as 'n 'stap' langs die tenk).

Ek wou 'n manier hê om die watervlak in die tenk te kontroleer, sonder om te klim en met die een hand aan die afvoerpyp te hang (terwyl ek bekommerd is oor wat spinnekoppe daaragter kan wees - u het al gehoor van Australiese spinnekoppe?) … Met 'n hernieude belangstelling in elektronika en 'n goedkoop Arduino -kloon uit China op eBay, het ek besluit om 'n 'widget' te bou om die taak vir my te doen.

Nou, my 'droom' -widget was om permanent in die tenk geïnstalleer te word, 'n sonkragbron te gebruik, met 'n afstand -uitlees in my motorhuis, of miskien 'n draadlose sender met Bluetooth wat ek met my selfoon kan kyk, of selfs 'n ESP -tipe toestel wat 'n outomaties bygewerkte webblad aanbied, sodat ek die watervlak in my tenk vanaf enige plek ter wêreld via die internet kan kontroleer … maar regtig - waarom het ek dit alles nodig? Dus het ek my groot ideale 'n bietjie teruggebel (wel, redelik), en ek het die draadloosheid van die oplossing, die permanent geïnstalleerde, die sonopladings en die vermoë om die vlak van my tenk van agter af te kontroleer (altyd as daar aanvaar word dat die agterkant van daarbuite WiFi beskikbaar het, dit wil sê …)

Die gevolglike projek is afgegradeer in die hand -eenheid wat hierbo gesien is, wat eenvoudig oor die opening van die tenk gehou kan word en geaktiveer kan word deur 'n drukknop, met 'n digitale uitlees, wat van grondvlak af gelees kan word - baie meer prakties.

Stap 1: Wiskunde …

Nadat ek met verskeie idees gesels het oor hoe om die watervlak te bepaal - besluit ek op 'n ultrasoniese sender/ontvanger as basis vir my widget en gebruik 'n Arduino om die lesings te doen en al die wiskunde te doen. Die metings wat van die sensor teruggekeer word, is (indirek) in die vorm van 'n afstand - van die ultrasoniese sensor tot die oppervlak waarop dit afgespring het (die wateroppervlak - of onderkant van die tenk, as dit leeg is), en weer terug, so ons moet om 'n paar dinge hiermee te doen om 'n persentasie in die tenk te behaal.

Let wel: die waarde wat van die sensor teruggekeer word, is eintlik net die tyd wat dit neem voordat die sein die emitterkant verlaat en na die ontvanger terugkeer. Dit is in mikrosekondes - maar om die spoed van klank te ken, is 29 mikrosekondes per cm (wat? U het dit nie geweet nie? Pfft …) maak 'n maklike omskakeling van 'n tydperk na 'n afstandmeting.

Beeld
Beeld

Eerstens - natuurlik moet ons die afstand deur 2 deel om die sensor op oppervlakafstand te kry. Trek dan die konstante afstand van die sensor af na die 'maksimum' waterdiepte. Die oorblywende waarde is die waterdiepte wat gebruik is. Trek dan die waarde af van die maksimum waterdiepte om die diepte van die water in die tenk te vind.

Hierdie waarde is dan die basis vir enige ander berekeninge, soos om hierdie waterdiepte uit te werk as 'n persentasie van die maksimum diepte, of om die diepte met die konstante 'oppervlakte' te vermenigvuldig om 'n volume water te kry wat vertoon kan word in liter (of liter, of enige ander eenheid - solank jy die wiskunde ken om dit te doen - ek hou by 'n persentasie vir eenvoud).

Stap 2: Praktika

Die eenheid kan met die hand gehou word, maar dit bied 'n klein moontlikheid van geringe onakkuraathede as die eenheid nie op dieselfde plek gehou word nie en elke keer in dieselfde hoek. Alhoewel dit slegs 'n geringe fout sou wees, en waarskynlik nie eers een wat sou registreer nie, sou dit die soort ding wees wat na my toe kom.

Deur die hand gehou te word, is die moontlikheid egter groter dat die verdoemde ding in die tenk val en nooit weer gesien word nie. Om beide van hierdie moontlikhede te versag, word dit op 'n lengte hout vasgemaak, wat dan oor die tenkopening geplaas word - sodat die meting elke keer vanaf presies dieselfde hoogte en hoek geneem word (en as dit in die tenk, ten minste sal die hout dryf).

'N Drukknop aktiveer die eenheid (waardeur 'n aan/uit -skakelaar en die moontlikheid van 'n per ongeluk platgedrukte battery uit die weg geruim word), en die skets in die Arduino word afgevuur. Dit neem 'n aantal metings van die HC-SR04 en neem die gemiddelde daarvan (om onreëlmatige metings te verminder).

Ek het ook 'n bietjie kode ingesluit om te kyk of dit hoog of laag is op een van die Arduino digitale I/O -penne, en dit gebruik om die eenheid in die 'kalibrasie' -modus te plaas. In hierdie modus wys die skerm eenvoudig die werklike afstand (gedeel deur 2) wat deur die sensor teruggestuur is, sodat ek die akkuraatheid daarvan kon meet teen 'n maatband.

Stap 3: Die bestanddele

Die eenheid bestaan uit drie hoofkomponente …

Beeld
Beeld
  1. 'N Ultrasoniese sender/ontvanger module van HC-SR04
  2. 'N Arduino Pro Mini -mikrobeheerder
  3. 'N 4 -syfer -7 -segment LED -skerm of' module ', soos 'n TM1637

Al die bogenoemde kan maklik op eBay gevind word deur eenvoudig na die terme in vetdruk te soek.

In hierdie toepassing gebruik die skerm eenvoudig 3 syfers om 'n % -waarde van 0-100 of 4 syfers te vertoon om die aantal liter aan te dui (maksimum 2000 in my geval). bekommerd wees of die module desimale punte of dubbele punte het. 'N Display -module (LED gemonteer op 'n uitbreekbord, met 'n koppelvlak -chip) is makliker, aangesien dit minder penverbindings gebruik, maar 'n rou LED -skerm met 12 penne kan deur die Arduino gehuisves word met 'n paar klein wysigings aan die kode (my oorspronklike ontwerp was eintlik gebaseer op hierdie opstelling). Let egter daarop dat die gebruik van 'n rou LED -skerm ook 7 weerstande vereis om die stroom wat deur elke segment getrek word, te beperk. Ek het toevallig 'n TM1637 klokmodule beskikbaar, so ek het besluit om dit te gebruik.

Aanvullende stukkies bevat 'n 9v-batteryklem (en natuurlik 'n battery), 'n 'druk-om-te-maak' kortstondige drukknopskakelaar, 'n projekboks, kopstukke, verbindingsdrade en 'n lengte van 2 "x4" hout wat groter is as die deursnee van die tenkopening.

Die bykomende stukkies (behalwe die stuk hout) is gekoop by my plaaslike stokperdjie -elektronika -ketting - Jaycar in Australië. Ek verbeel my dat Maplin in die Verenigde Koninkryk 'n lewensvatbare alternatief sou wees, en ek dink daar is 'n paar in die VSA, soos Digikey en Mouser. Vir ander lande is ek bang dat ek dit nie weet nie, maar ek is seker dat as u nie 'n geskikte straat of 'n aanlynverskaffer in u land het nie, Chinese ebay -verkopers vir u sal deurkom as u dit nie doen nie U moet 'n paar weke wag vir aflewering (ironies genoeg, hoewel dit een van ons naaste bure is, is 6 weke of langer nie ongewoon vir aflewering vanaf China uit Australië nie!).

Maak seker dat u 'n groot boks kry - ek het by my geraai voordat ek die komponente beskikbaar gehad het, en dit is regtig baie styf - ek moet dalk 'n ander drukknop kry wat minder ruimte gebruik.

O ja, die lengte van die hout kom net van 'n paar afvalstowwe wat ek in die hoek van my motorhuis hou (as 'n huis vir meer van die lieflike spinnekoppe).

Sodra u die skematiese en funksionaliteit verstaan het, kan u besluit om u weergawe aan te pas en 'n aan/uit-skakelaar in te sluit, of 'n 18650 Li-Ion-kragbron te gebruik, met sonpaneel en laaibestuurder om dit voortdurend vol te hou., of verander die eenvoudige LED-skerm vir 'n multi-lyn LCD of grafiese OLED met meer inligting vertoonopsies, soos om die persentasie EN liter wat op dieselfde tyd oorbly, te wys. Of u kan kies vir die singende, dansende draadlose IoT-eenheid wat permanent in die tenk geïnstalleer is met sonlaai. Ek hoor graag van u variasies en wysigings.

Stap 4: Toets die prototipe (en kode)

Nadat ek die HC-SR04 by 'n goedkoop Chinese bron op eBay gekoop het, het ek nie regtig verwag om 'n uiters akkurate eenheid te ontvang nie, so ek wou dit eers op die broodbord toets, as ek 'n afstandskorreksie-kode moes byvoeg my skets.

Op hierdie stadium het ek rondgeswerf vir basiese inligting oor hoe om die HC-SR04 aan te sluit en te gebruik, en ek moet erkenning gee aan jsvester se 'eenvoudige' Arduino- en HC-SR04-voorbeeld '. Sy voorbeeld en ervaring was vir my 'n uitstekende beginpunt om van te begin kodeer.

Ek het die NewPing-biblioteek met funksies vir die HC-SR04 gevind, wat ingeboude funksies bevat om die gemiddelde van veelvuldige lesings te neem, waardeur my kode baie makliker gemaak word.

Ek het ook 'n biblioteek vir die TM1637 -klokvertoonmodule gevind, wat die vertoon van getalle baie makliker gemaak het. In my oorspronklike kode (vir die 4-syfer-7-segment vertoning), moes ek die getal in individuele syfers verdeel, en dan elke individuele syfer op die skerm bou deur te weet watter segmente om te verlig, en dan deur elke syfer in die getal te blaai, en bou die nommer op die toepaslike skermsyfer. Hierdie metode word multiplexing genoem, en vertoon effektief net 'n enkele syfer op 'n slag, maar loop so vinnig deur die een syfer na die ander dat die menslike oog dit nie agterkom nie, en laat u dwaas wees om te glo dat al die syfers aan is op dieselfde tyd. Net soos met die HC-SR04-biblioteek wat die meetbewerkings vergemaklik, sorg hierdie vertoningsbiblioteek vir al die multiplexering en die hantering van syfers. Die Arduino -verwysingsbladsye waarna hierbo verwys word, gee 'n paar voorbeelde, en natuurlik het elke biblioteek 'n voorbeeldkode wat u kan help.

Beeld
Beeld
Beeld
Beeld

n

Die foto's hierbo toon my toetsapparaat - ek toets dit op my Arduino Uno vir eenvoud, aangesien dit reeds ingestel is vir tydelike herbruikbare verbindings vir prototipering. Die eenheid werk hier in die 'Kalibrasie' -modus (let op dat die digitale pen 10 - die wit draad - met die grond verbind is) en 39 cm akkuraat gelees het na die boks wat ek lukraak voor dit geplaas het, soos aangedui deur die maatband. In hierdie modus vertoon ek die klein 'c' voor die meting, net om aan te dui dat dit nie die normale meting is nie.

Benewens Vcc (5v) en Ground, benodig die HC -SR04 2 ander verbindings - die sneller (geel tot pen 6) en eggo (groen tot pen 7). Die skerm het ook Vcc (5v) en Ground nodig, en nog twee verbindings - klok (blou tot pen 8) en DIO (pers tot pen 9). Soos reeds genoem, word die werkingsmodus beheer deur 'n hoë of lae pen 10 (wit). Die verbindings gebruik dieselfde penne op die Arduino Pro Mini, maar word permanent gesoldeer. Die bedieningsmodus kan gekies word met behulp van 'n springer oor twee uit drie koppenne, gekoppel aan Vcc, pen 10 en onderskeidelik grond.

Die amptelike spesifikasies vir die HC -SR04 beweer iets soos 'n maksimum fout van slegs 3 millimeter tot die maksimum ontwerpte werkafstand van 4 meter, dus stel my verbaas voor dat my eenheid tot 2 meter akkuraat was - wat is meer as wat ek nodig het. As gevolg van beperkte ruimte vir 'n vinnige en vuil toetsopstelling, word my toetsresultate buite daardie afstand beskadig deur weerkaatsings van ander oppervlaktes as my toetsdoelwit, terwyl die straal van die sender versprei en 'n groter gebied inneem. Maar solank dit goed is tot 1,5 meter - dit sal my goed doen, baie dankie:-)

Stap 5: Rainwater Gauge Ino Sketch

Die volledige kode is aangeheg, maar ek sal 'n paar uittreksels hieronder insluit om sommige van die stappe te verduidelik.

Eerstens, die opstelling …

#insluit

#include #include // pins for HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400 cm is maksimum vir HC-SR04, 155 cm is maksimum vir tenk // LED-moduleverbindingspenne (digitale penne) #definieer CLK 8 #definieer DIO 9 TM1637 Displayskerm (CLK, DIO); // Ander penne #definieer opMode 10

Behalwe die TM1637 en NewPing biblioteke, het ek ook 'n wiskunde biblioteek ingesluit, wat my toegang gee tot die 'afronding' funksie. Ek gebruik dit in sommige wiskunde sodat ek die persentasie byvoorbeeld tot die naaste 5% kan vertoon.

Vervolgens word die penne vir die twee toestelle gedefinieer en die toestelle begin.

Ten slotte definieer ek pen 10 vir die werkingsmodus.

// stel alle segmente af vir alle syfers

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

Hierdie gedeelte van die kode toon een manier om die vertoningsmodule te beheer, sodat individuele segmente van elke segment in elke syfer moontlik is. Ek het die 4 elemente in die skikking met die naam van grepe op nul gestel. Dit beteken dat elke bietjie van elke byte nul is. Die 8 bisse word gebruik om elk van die sewe segmente en die desimale punt (of die dubbelpunt in 'n kloktipe vertoning) te beheer. As al die stukkies dus nul is, word nie een van die segmente aangesteek nie. Die setSegments -operasie stuur die inhoud van die skikking na die skerm en wys (in hierdie geval) niks. Alle segmente is af.

Beeld
Beeld

Die belangrikste bit in 'n greep beheer die DP, en dan beheer die oorblywende 7 bisse die 7 segmente van G na A in omgekeerde volgorde. Om die getal 1 byvoorbeeld te vertoon, benodig segmente B en C, dus sou die binêre voorstelling '0b00000110' wees. (Dankie aan CircuitsToday.com vir die prent hierbo).

// Neem 10 lesings en gebruik die gemiddelde tydsduur.

int duur = sonar.ping_median (10); // duur is in mikrosekondes as (duur == 0) // Meetfout - onoortuigend of geen eggo {uint8_t grepe = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmente om "Err" te vertoon display.setSegments (grepe); }

Hier vertel ek die HC-SR04 om 10 lesings te neem, en gee my die gemiddelde resultaat. As geen waarde teruggestuur word nie, is die eenheid buite bereik. Ek gebruik dan dieselfde tegniek as hierbo om spesifieke segmente op die 4 syfers te beheer, om die letters (leeg), E, r en r uit te spel. Deur binêre notasie te gebruik, is dit 'n bietjie makliker om die individuele stukkies met die segmente in verband te bring.

Stap 6: Laai kode na 'n Arduino Pro Mini (sonder USB)

Soos ek vroeër gesê het, neem items van Chinese ebay -verkopers dikwels 6 weke of meer om aan te kom, en baie van my prototipering en kode skryf is gedoen terwyl ek gewag het op sommige van die komponente - die Arduino Pro Mini was een daarvan.

Een ding wat ek nie opgemerk het oor die Pro Mini nie, totdat ek dit reeds bestel het, is dat dit nie 'n USB -poort het om die skets af te laai nie. Na 'n bietjie googling het ek gevind dat daar twee maniere is om 'n skets in hierdie geval te laai - een benodig 'n spesiale kabel wat van die USB op u rekenaar na 6 spesifieke penne op die Pro Mini gaan. Hierdie groep van 6 penne staan bekend as die ISP (in -stelsel programmeerder) penne, en u kan hierdie metode eintlik op enige Arduino gebruik as u wil - maar omdat die USB -koppelvlak byna al die ander Arduino -variante beskikbaar is (I dink), die gebruik van die opsie is baie eenvoudiger. Die ander metode vereis dat u 'n ander Arduino met 'n USB-koppelvlak moet hê, om as 'n 'tussenpersoon' op te tree.

Gelukkig het my Arduino Uno beteken dat ek die tweede metode kon gebruik, wat ek hieronder vir u sal uiteensit. Dit word die gebruik van die 'Arduino as ISP' genoem. In 'n neutedop laai u 'n spesiale skets op u 'tussen' Arduino, wat dit in 'n seriële koppelvlak verander. Laai dan u werklike skets, maar in plaas van die normale oplaai -opsie, gebruik u 'n opsie uit die IDE -menu wat 'met die Arduino as ISP' oplaai. Die 'tussen' Arduino neem dan u werklike skets uit die IDE en gee dit deur na die ISP-penne van die Pro Mini, in plaas daarvan om dit in sy eie geheue te laai. Dit is nie moeilik as u eers agterkom hoe dit werk nie, maar dit is 'n ekstra laag kompleksiteit wat u miskien wil vermy. As dit die geval is, of as u nie 'n ander Arduino het wat u as 'tussen' kan gebruik nie, wil u miskien 'n Arduino Nano of een van die ander klein vormfaktormodelle koop, wat die USB-koppelvlak insluit en maak programmering 'n eenvoudiger vooruitsig.

Hier is 'n paar hulpbronne wat u kan help om die proses te verstaan. Die Arduino -verwysing verwys spesifiek na die verbranding van 'n nuwe selflaaiprogram na die doelapparaat, maar u kan net so maklik 'n skets op dieselfde manier laai. Ek het gevind dat die video van Julian Ilett die konsep baie duideliker maak, alhoewel hy die deel in die Arduino -verwysing oorskiet wat verduidelik hoe om die twee Arduinos aanmekaar te sit, en eerder 'n kaal skyfie op 'n broodbord te programmeer.

  • Die Arduino -verwysingshandleiding - Gebruik Arduino as 'n ISP
  • Julian Ilett se YouTube vide - Gebruik 'n Arduino as 'n ISP

Aangesien die Pro Mini nie die 6 ISP -penne gerieflik saamgevoeg het nie, moet u dekodeer watter van die digitale penne verband hou met die 4 programmeringspenne (die ander twee verbindings is net Vcc en Gnd - dit is redelik eenvoudig). Gelukkig vir jou, ek is al hierdeur - en ek is bereid om die kennis met jou te deel - wat 'n vrygewige mens is ek nie !!

Die Arduino Uno, en vele ander in die Arduino -familie, het die 6 penne soos volg in 'n 3x2 -blok gerangskik (beeld van www.arduino.cc).

Beeld
Beeld

Ongelukkig doen die Pro Mini dit nie. Soos u hieronder kan sien, is dit eintlik redelik maklik om te identifiseer en is dit steeds in 2 blokke van 3 penne gerangskik. MOSI, MISO en SCK is dieselfde as die digitale penne 11, 12 en 13 onderskeidelik op beide die Pro Mini en Arduino Uno, en vir ISP -programmering, koppel eenvoudig 11 tot 11, 12 tot 12 en 13 tot 13. Die Pro Mini's Reset -pen moet aan die Uno -pin 10 gekoppel word, en die Pro Mini's Vcc (5v)/Ground moet aan die Arduino +5v/Ground gekoppel word. (Beeld van www.arduino.cc)

Beeld
Beeld

Stap 7: Montering

Vergadering
Vergadering

Soos ek genoem het, het ek 'n punt oor die saak geneem, en ek was spyt daaroor. Om al die komponente in te pas, was 'n ware druk. Eintlik moes ek die drukknopkontakte sywaarts buig en 'n bietjie verpakking aan die buitekant sit om dit 'n bietjie verder op te lig sodat dit in die diepte van die boks pas, en ek moes 2-3 mm aan elke kant van die die skermmodulebord sodat dit ook pas.

Ek het 2 gate in die kas geboor om die ultrasoniese sensors deur te steek. Ek het die gate 'n bietjie te klein geboor en dit geleidelik vergroot met 'n klein slypmasjien, sodat ek 'n goeie 'push fit' kon kry. Ongelukkig was hulle te naby aan die kante om die slypmasjien binne -in die boks te kan gebruik, en dit moes van buite gedoen word, wat baie skrape en skaatsplekke tot gevolg gehad het waar die slypmasjien gegly het - goed, dit is alles aan die onderkant in elk geval - wie gee om..?

Ek sny dan 'n gleuf in die een kant wat die regte grootte het om deur die skerm te kom. Weereens - my raaiskoot oor die grootte van die boks het my aan die agterkant gebyt, aangesien die gleuf my 'n baie skraal stuk bokant die skerm gelaat het, wat onvermydelik gebreek het terwyl ek dit glad ingedien het. Wel, dit is waarvoor supergom uitgevind is …

Uiteindelik, met al die komponente wat ongeveer in die boks geplaas is, het ek gemeet waar die gat in die deksel geplaas moet word, sodat die druk van die drukknop in die finale beskikbare ruimte val. NET!!!

Vervolgens het ek al die komponente aanmekaar gesoldeer om te toets of hulle nog steeds werk nadat ek gebuig en geslyp en afgewerk is, voordat ek dit in die kist saamgevoeg het. U kan die jumper -aansluiting net onder die skermmodule sien, met pen 10 op die Arduino (wit lood) wat aan Gnd gekoppel is, en sodoende die eenheid in die kalibreringsmodus plaas. Die skerm lees 122 cm van my bank af - dit moes 'n sein van die bokant van die raam weerspieël het (dit is te laag om die plafon te wees).

Beeld
Beeld

Dan was dit 'n geval van die warm lijmpistool uitbreek en al die komponente op sy plek skoen. Toe ek dit gedoen het, het ek agtergekom dat die klein speling tussen die bokant van die skermmodule en die deksel, sodra die module vasgeplak was, 'n bietjie buiging gelaat het waar die deksel nie so styf pas as wat ek wil nie. Ek sal dalk eendag iets daaraan probeer doen - of meer waarskynlik, ek sal nie …

Beeld
Beeld

Stap 8: Die voltooide artikel

Na 'n paar toetse na die montering en 'n regstelling van my kode om die diepte van die stuk hout waaraan ek die toestel vasgedraai het (wat ek in my berekeninge heeltemal oor die hoof gesien het, in ag te neem), is dit klaar. Uiteindelik!

Gemonteerde toetsing

As die eenheid net op my bank na onder sit, is daar duidelik geen gereflekteerde sein nie, sodat die toestel 'n fouttoestand korrek toon. Dieselfde geld as die naaste reflekterende oppervlak buite die eenheid se bereik is.

Beeld
Beeld

Dit lyk asof dit van my bank af tot op die vloer 76 cm is (wel, 72 cm plus die 4 cm diepte van die stuk hout).

Beeld
Beeld

Die onderkant van die eenheid wys die sender en ontvanger wat die stuk hout oorhang - ek moet regtig ophou om dit 'n stuk hout te noem - dit sal voortaan die Gauge Stabilization and Precision Placement Platform genoem word! Gelukkig is dit waarskynlik die laaste keer dat ek dit noem;-)

Ooh - jy kan al die nare skrape en skaatsmerke in hierdie een sien …

Beeld
Beeld

… en hier is die voltooide item, geplaas in die normale werkingsmodus, en meet eintlik die kapasiteit van my tenk tot die naaste 5%. Dit was 'n (baie) reënerige Sondagmiddag waarmee ek hierdie projek kon afhandel, vandaar die reëndruppels op die eenheid en die baie aangename lesing van 90%.

Beeld
Beeld

Ek hoop dat u dit geniet het om hierdie leersame te lees, en dat u 'n bietjie geleer het oor Arduino -programmering, fisika en die gebruik van sonar/ultraklankweerkaatsing, die slaggate van raaiwerk in u projekbeplanning en dat u geïnspireer is om u eie reënwatertenkmeter - en dan 'n reënwatertenk installeer om dit op te gebruik, terwyl u die omgewing 'n bietjie help en u waterrekening bespaar.

Lees gerus verder - vir wat die volgende dag gebeur het!

Stap 9: Naskrif - honderd (en vyf) persentasies?

Dus, op die Maandag na die reënerige Sondag, was die tenk absoluut so vol as wat dit moontlik kon wees. Aangesien dit een van die min kere is wat ek dit ooit heeltemal vol gesien het, het ek gedink dat dit die ideale tyd sou wees om die meter te meet, maar raai wat - dit het 105%geregistreer, en daar was duidelik iets fout.

Ek het my peilstok uitgehaal en gevind dat my oorspronklike aannames van 140 cm as die maksimum diepte van die water en 16 cm van die kopruimte (gebaseer op visuele skattings wat buite die tenk gemaak is), 'n bietjie af is van die werklike metings. So gewapen met die regte data vir my 100% -peil, kon ek my kode aanpas en die Arduino herlaai.

Die maksimum waterdiepte blyk 147 cm te wees, met die meetpunt 160 cm, wat 13 cm se kopruimte gee (die som van die kopruimte in die tenk, die hoogte van die nek van die tenk en die diepte van die stuk … whoa, nee, wat ?! Ek bedoel diepte van die Gauge Stabilization and Precision Placement Platform!).

Nadat ek die veranderlikes van maxDepth en headroom dienooreenkomstig reggestel het, asook die maksimum bereik van die sonarvoorwerp tot 160 cm teruggestel het, het 'n vinnige hertoets 100% gedaal wat tot 95% gedaal het toe ek die meter 'n bietjie opgelig het (om 'n klein hoeveelheid van die water gebruik is).

Werk gedoen!

PS - dit is my eerste poging tot 'n instruksionele. As u van my styl, humorsin, eerlikheid om foute te erken hou (hey - selfs al is ek nie perfek nie …), ens., Laat weet my, en dit kan my 'n hupstoot gee om nog een te doen.

Stap 10: Agteruitgang

Bruikbare kapasiteit

Dit is dus 'n paar weke sedert ek hierdie instruksies gepubliseer het, en ek het baie reaksies gehad, waarvan sommige 'n paar alternatiewe meganismes voorgestel het - beide elektronies en handmatig. Maar dit het my aan die dink gesit, en daar is iets wat ek waarskynlik aan die begin moes gewees het.

  • My tenk het 'n pomp, wat op grondvlak geïnstalleer is - net effens onder die basis van die tenk. Aangesien die pomp die laagste punt in die stelsel is en die water uit die pomp onder druk is, kan ek die tenk se volle kapasiteit gebruik.
  • Tog - as u tenk nie 'n pomp het nie en op gravitasietoevoer staatmaak, word die effektiewe kapasiteit van die tenk beperk deur die hoogte van u kraan. As die water wat in u tenk oorbly, laer is as die kraan, vloei daar geen water nie.

Dus, ongeag of u 'n elektroniese meter of 'n handmatige kijkglas of 'n dryf- en vlagstelsel gebruik, moet u net daarop let dat die effektiewe 'basis' van u tenk eintlik 'n pomp is, die hoogte van die tenk se uitlaat of tik.

Aanbeveel: