Obsah:

Ultrazvukový měřič kapacity nádrže na dešťovou vodu: 10 kroků (s obrázky)
Ultrazvukový měřič kapacity nádrže na dešťovou vodu: 10 kroků (s obrázky)

Video: Ultrazvukový měřič kapacity nádrže na dešťovou vodu: 10 kroků (s obrázky)

Video: Ultrazvukový měřič kapacity nádrže na dešťovou vodu: 10 kroků (s obrázky)
Video: měření kapacity Ni CD 2024, Listopad
Anonim
Ultrazvukový měřič kapacity nádrže na dešťovou vodu
Ultrazvukový měřič kapacity nádrže na dešťovou vodu

Pokud jste něco jako já a máte trochu svědomí o životním prostředí (nebo se jen snažíte ušetřit pár peněz - což jsem i já…), můžete mít nádrž na dešťovou vodu. Mám nádrž, abych sklidil poměrně vzácný déšť, který dostáváme v Austrálii - ale chlapče, chlapče, když tady prší, opravdu prší! Moje nádrž stojí asi 1,5 m vysoko a je na podstavci, což znamená, že musím vyjít po schodech, abych zkontroloval hladinu vody (nebo - protože jsem tak líný, nejistě balancovat na vrcholu staré plynové láhve z BBQ, která se nyní odebírá trvalý pobyt jako „krok“vedle nádrže).

Chtěl jsem nějakým způsobem zkontrolovat hladinu vody v nádrži, aniž bych musel šplhat a viset na odtokové trubce jednou rukou (a přitom si dělat starosti s tím, co za tím mohou být pavouci - slyšeli jste o australských pavoucích - že?) … Takže s obnoveným zájmem o elektroniku na konci života a levnými klony Arduino z Číny na ebay jsem se rozhodl vybudovat „widget“, který by tu práci udělal za mě.

Nyní bylo mou „vysněnou“miniaplikací trvale nainstalováno v nádrži, používat solárně nabitý zdroj energie, s dálkovým odečtem v mé garáži nebo třeba bezdrátový vysílač využívající Bluetooth, který bych mohl zkontrolovat ze svého telefonu, nebo snad dokonce Zařízení typu ESP hostující automaticky aktualizovanou webovou stránku, abych mohl zkontrolovat hladinu vody v mé nádrži odkudkoli na světě přes internet … ale opravdu - proč to všechno potřebuji? Vytočil jsem tedy své velké ideály trochu zpět (dobře, docela výrazně) a odstranil jsem bezdrátovost řešení, trvalou instalaci, solární nabíjení a schopnost kontrolovat hladinu své nádrže ze zadního konce (vždy za předpokladu, že zadní konec za ním má k dispozici WiFi, to je …)

Výsledný projekt byl downgradován na ruční jednotku, jak je vidět výše, kterou lze jednoduše držet nad otvorem nádrže a aktivovat tlačítkem, s digitálním zobrazením, které lze číst z úrovně země - mnohem praktičtější.

Krok 1: Matematika…

Poté, co jsem si pohrával s několika nápady, jak zjistit hladinu vody - rozhodl jsem se jako základ pro svůj widget použít ultrazvukový vysílač/přijímač a pomocí Arduina odebírat hodnoty a provádět veškerou matematiku. Odečty vrácené ze senzoru jsou (nepřímo) ve formě vzdálenosti - od ultrazvukového senzoru k povrchu, na který se odrazil (vodní hladina - nebo dno nádrže, je -li prázdný), a zase zpět, takže potřebujeme udělat s tím pár věcí, aby se dostal na procento zbývající v nádrži.

Pozn. - ve skutečnosti je hodnota vrácená ze senzoru ve skutečnosti jen dobou, po kterou signál opouští stranu vysílače a vrací se do přijímače. To je v mikrosekundách - ale znalost rychlosti zvuku je 29 mikrosekund na cm (Co? To jste nevěděli? Pfft …) umožňuje snadnou konverzi z časového období na měření vzdálenosti.

obraz
obraz

Nejprve - samozřejmě musíme vydělit vzdálenost 2, abychom dostali vzdálenost senzoru od povrchu. Poté odečtěte konstantní vzdálenost od senzoru k maximální hloubce vody. Zbývající hodnota je hloubka vody, která byla použita. Poté odečtěte tuto hodnotu od maximální hloubky vody a najděte hloubku vody, která v nádrži zbývá.

Tato hodnota je tedy základem pro jakékoli další výpočty, jako je zpracování této hloubky vody v procentech maximální hloubky nebo vynásobení hloubky konstantní „povrchovou plochou“, aby se získal objem vody, který lze zobrazit v litrech (nebo galonech nebo jakékoli jiné jednotce - pokud znáte matematiku) - pro jednoduchost se držím procenta).

Krok 2: Praktičnosti

Jednotku lze držet v ruce, ale to přináší malou možnost drobných nepřesností, pokud jednotku nedržíte vždy na stejném místě a ve stejném úhlu. I když by to byla jen velmi malá chyba a pravděpodobně by to nebyla ani ta, která by se zaregistrovala, byl by to druh věci, který se na mě hnal.

Držení v ruce však přináší mnohem větší možnost, že ta zatracená věc spadne do nádrže a už se nikdy neuvidí. Aby se zmírnilo OBĚ tyto možnosti, bude připevněno na délku dřeva, která je poté umístěna přes otvor nádrže - takže měření se vždy odebírá ze stejné výšky a úhlu (a pokud spadne do tank, alespoň bude dřevo plavat).

Tlačítko aktivuje jednotku (čímž eliminuje potřebu vypínače a možnost náhodně vybité baterie) a vypálí skicu v Arduinu. To trvá několik odečtů z HC-SR04 a bere průměr z nich (ke zmírnění jakýchkoli nevyrovnaných odečtů).

Zahrnul jsem také trochu kódu pro kontrolu vysoké nebo nízké hodnoty na jednom z digitálních I/O pinů Arduino a použil jsem jej k přepnutí jednotky do režimu, který jsem nazval „Kalibrace“. V tomto režimu displej jednoduše ukazuje skutečnou vzdálenost (děleno 2) vrácenou snímačem, takže jsem mohl zkontrolovat jeho přesnost proti svinovacímu metru.

Krok 3: Ingredience

Jednotka se skládá ze tří hlavních součástí…

obraz
obraz
  1. Ultrazvukový vysílací/přijímací modul HC-SR04
  2. Mini mikrokontrolér Arduino Pro
  3. 4místný 7segmentový LED displej nebo „modul“displeje, jako je TM1637

Vše výše uvedené lze snadno najít na ebay, jednoduchým vyhledáním výrazů zobrazených tučným písmem.

V této aplikaci displej jednoduše používá 3 číslice k zobrazení % hodnoty 0-100 nebo 4 číslice k zobrazení počtu litrů (v mém případě max.2 000), takže jakýkoli 4místný displej bude stačit - nemusíte starat se o to, zda má modul desetinné čárky nebo dvojtečky. „Modul“displeje (LED namontovaný na odpojovací desce s čipem rozhraní) je snazší, protože využívá méně pinových připojení, ale Arduino by mohl použít surový LED displej s 12 piny s některými malými úpravami kódu (ve skutečnosti můj původní návrh byl založen na tomto nastavení). Pamatujte však, že použití surového LED displeje také vyžaduje 7 rezistorů k omezení proudu odebíraného každým segmentem. Náhodou jsem měl k dispozici modul zobrazení hodin TM1637, tak jsem se rozhodl toho využít.

Mezi doplňkové bity a boby patří 9v bateriová spona (a samozřejmě baterie), momentový tlačítkový spínač „push-to-make“, projektová skříňka, kolíkové záhlaví, propojovací vodiče a délka dřeva 2 „x4“, která přesahuje průměr otvoru nádrže.

Doplňkové kousky a boby (kromě kusu dřeva) byly zakoupeny v mém místním obchodním řetězci elektroniky - což je Jaycar v Austrálii. Představuji si, že by Maplin ve Velké Británii byl životaschopnou alternativou, a myslím, že v USA jich je několik, například Digikey a Mouser. U ostatních zemí se obávám, že nevím, ale jsem si jistý, že pokud vám ve vaší zemi chybí vhodný high street outlet nebo online dodavatel, pak pro vás přijdou čínští prodejci ebay, pokud ne mysl čeká několik týdnů na doručení (ironicky, přestože je jedním z našich nejbližších sousedů, 6 týdnů nebo více není neobvyklé pro doručení do Austrálie z Číny!).

Ujistěte se, že dostanete dostatečně velký projektový box - hádal jsem ho, než budu mít k dispozici komponenty, a je to opravdu těsný stisk - možná si budu muset pořídit jiné tlačítko, které zabírá méně místa.

Ach, a mimochodem, délka dřeva právě pocházela z nějakých odřezků šrotu, které držím v rohu své garáže (jako domov pro více těch nádherných pavouků).

Jakmile porozumíte schématu a funkčnosti, můžete se rozhodnout upravit svoji verzi a zahrnout vypínač on/off, nebo použít 18650 Li-Ion napájecí zdroj se solárním panelem a regulátorem nabíjení, aby byl neustále nabitý a připraven k použití nebo změňte jednoduchý LED displej na víceřádkový LCD nebo grafický OLED s více možnostmi zobrazení informací, jako je například zobrazení procenta A litrů zbývajících současně. Nebo se můžete vydat na zpívající, tančící bezdrátovou jednotku IoT nainstalovanou v nádrži se solárním nabíjením. Rád bych slyšel vaše variace a úpravy.

Krok 4: Testování prototypu (a kódu)

Po zakoupení HC-SR04 z levného čínského zdroje na ebay jsem opravdu nečekal, že obdržím velmi přesnou jednotku, takže jsem to chtěl nejprve vyzkoušet na prkénku pro případ, že bych potřeboval přidat nějaký kód pro korekci vzdálenosti do moje skica.

V tomto okamžiku jsem hledal základní informace o tom, jak se připojit a používat HC-SR04, a musím potvrdit instrukci jsvester „Jednoduchý příklad Arduino a HC-SR04“. Jeho příklad a zkušenosti byly pro mě skvělým výchozím bodem, od kterého jsem mohl začít kódovat.

Našel jsem knihovnu funkcí NewPing pro HC-SR04, která obsahuje vestavěné funkce, které vezmou průměr více čtení, čímž se můj kód výrazně zjednoduší.

Našel jsem také knihovnu pro modul zobrazení hodin TM1637, což značně zjednodušilo zobrazování čísel. V mém původním kódu (pro 4místný 7segmentový displej) jsem musel rozdělit číslo na jednotlivé číslice, poté sestavit každou jednotlivou číslici na displeji tak, že budu vědět, které segmenty se mají rozsvítit, a poté procházet každou číslicí v čísle a postavením tohoto čísla na příslušnou zobrazovací číslici. Tato metoda se nazývá multiplexování a efektivně zobrazuje pouze jednu číslici najednou, ale cykluje je z jedné číslice na druhou tak rychle, že si toho lidské oko nevšimne, a oklamá vás tak, že věří, že všechny číslice jsou zapnuté. ve stejnou dobu. Stejně jako u knihovny HC-SR04, která usnadňuje operace měření, se tato knihovna displeje stará o veškeré multiplexování a manipulaci s číslicemi. Na odkazové stránky Arduino, na které je odkaz výše, je uvedeno několik příkladů a každá knihovna samozřejmě obsahuje ukázkový kód, který může být velkou pomocí.

obraz
obraz
obraz
obraz

n

Obrázky výše tedy ukazují moji testovací soupravu - pro jednoduchost ji testuji na svém Arduino Uno, protože to je již nastaveno pro dočasná znovu použitelná připojení pro prototypování. Jednotka zde pracuje v režimu „Kalibrace“(všimněte si, že digitální kolík 10 - bílý vodič - je připojen k zemi) a přesně odečítá 39 cm do krabice, kterou jsem náhodně umístil před ni, jak ukazuje svinovací metr. V tomto režimu zobrazuji malé „c“před měřením, jen abych naznačil, že to není normální měření.

Stejně jako Vcc (5v) a Ground, HC -SR04 potřebuje 2 další připojení - spoušť (žlutý na pin 6) a echo (zelený na pin 7). Displej také potřebuje Vcc (5v) a Ground a další 2 připojení - hodiny (modrá na pin 8) a DIO (fialová na pin 9). Jak již bylo zmíněno, provozní režim je řízen vysokým nebo nízkým kolíkem 10 (bílý). Připojení budou na Arduino Pro Mini používat stejné piny, ale budou trvale pájena. Provozní režim bude volitelný pomocí propojky přes dva ze tří kolíků konektoru připojených k Vcc, kolíku 10 a uzemnění.

Oficiální specifikace HC -SR04 uvádějí něco jako maximální chybu pouhé 3 milimetry až do maximální projektované provozní vzdálenosti 4 metry, takže si představte mé překvapení, když zjistíte, že moje jednotka byla určitě přesná do té míry až do 2 metrů - což převyšuje to, co potřebuji. Kvůli omezenému prostoru pro rychlé a špinavé nastavení testu byly moje výsledky testů za touto vzdáleností poškozeny odrazy od jiných povrchů, než je můj testovací cíl, protože paprsek z vysílače se rozprostřel a zachytil širší oblast. Ale pokud je to dobré na 1,5 metru - bude mi to dělat dobře, děkuji moc:-)

Krok 5: Náčrtník dešťové vody Ino

Celý kód je přiložen, ale níže uvedu několik výtahů, které vysvětlí některé kroky.

Za prvé, nastavení…

#zahrnout

#include #include // piny pro HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400cms je maximum pro HC-SR04, 155cms je maximum pro nádrž // Piny pro připojení modulu LED (digitální piny) #define CLK 8 #define DIO 9 TM1637Display display (CLK, DIO); // Jiné piny #define opMode 10

Kromě knihoven TM1637 a NewPing jsem zahrnul také matematickou knihovnu, která mi umožňuje přístup k funkci „zaokrouhlování“. Používám to v některých matematikách, abych mi například umožnil zobrazit procento na nejbližší 5%.

Dále jsou definovány piny pro dvě zařízení a zařízení spuštěna.

Nakonec definuji pin 10 pro provozní režim.

// vypněte všechny segmenty pro všechny číslice

uint8_t bajtů = {0x00, 0x00, 0x00, 0x00}; display.setSegmenty (bajty);

Tato část kódu ukazuje jeden způsob ovládání zobrazovacího modulu, který umožňuje individuální ovládání každého segmentu v každé číslici. Nastavil jsem 4 prvky v poli nazývané bajty, aby byly všechny nulové. To znamená, že každý bit každého bajtu je nula. 8 bitů se používá k ovládání každého ze 7 segmentů a desetinné čárky (nebo dvojtečky v zobrazení hodinového typu). Pokud jsou tedy všechny bity nulové, pak se žádný ze segmentů nerozsvítí. Operace setSegmenty odešle obsah pole na displej a nezobrazí (v tomto případě) nic. Všechny segmenty jsou vypnuté.

obraz
obraz

Nejvýznamnější bit v bajtu řídí DP a potom zbývajících 7 bitů ovládá 7 segmentů od G do A v opačném pořadí. Chcete -li například zobrazit číslo 1, vyžaduje segmenty B a C, takže binární reprezentace bude '0b00000110'. (Děkujeme CircuitsToday.com za obrázek výše).

// Proveďte 10 měření a použijte střední dobu trvání.

int trvání = sonar.ping_median (10); // doba trvání je v mikrosekundách if (doba trvání == 0) // Chyba měření - neprůkazné nebo žádné echo {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenty pro hláskování "Err" display.setSegmenty (bajty); }

Zde říkám HC-SR04, aby provedl 10 měření a poskytl průměrný výsledek. Pokud není vrácena žádná hodnota, jednotka je mimo rozsah. Poté použiji stejnou techniku jako výše k ovládání konkrétních segmentů na 4 číslicích, k hláskování písmen (prázdných), E, r a r. Použití binárního zápisu trochu usnadňuje přiřazení jednotlivých bitů k segmentům.

Krok 6: Načtení kódu do Arduino Pro Mini (bez USB)

Jak jsem již řekl dříve, položky od čínských prodejců ebay často trvají 6 týdnů nebo déle a mnoho mých prototypů a psaní kódu bylo provedeno při čekání na doručení některých komponent - Arduino Pro Mini je jedním z nich.

Jedné věci, které jsem si na Pro Mini nevšiml, než jsem si ji už objednal, je, že na ní není USB port pro stahování skici. Po zběsilém googlování jsem tedy zjistil, že v tomto případě existují dva způsoby, jak načíst skicu - jeden vyžaduje speciální kabel, který jde z USB na vašem PC do 6 konkrétních pinů na Pro Mini. Tato skupina 6 pinů je známá jako piny ISP (programátor v systému) a tuto metodu můžete skutečně použít na jakémkoli Arduinu, pokud byste chtěli - ale protože rozhraní USB je k dispozici téměř ve všech ostatních variantách Arduino (já think), použití této možnosti je mnohem jednodušší. Druhá metoda vyžaduje, abyste měli další Arduino s rozhraním USB, které by fungovalo jako 'prostředník'.

Naštěstí mít Arduino Uno znamenalo, že mohu použít druhou metodu, kterou vám níže nastíním. Říká se tomu pomocí „Arduina jako ISP“. Stručně řečeno, načtete na svůj „prostředník“Arduino speciální skicu, která z něj udělá sériové rozhraní. Poté načtěte svůj skutečný náčrt, ale místo možnosti normálního nahrávání použijete možnost z nabídky IDE, která nahraje „pomocí Arduina jako ISP“. `` Prostřední '' Arduino pak vezme váš skutečný náčrt z IDE a předá jej na piny ISP Pro Mini, místo aby jej načítal do vlastní paměti. Jakmile se zorientujete v tom, jak to funguje, není to těžké, ale je to další vrstva složitosti, které byste se možná chtěli vyhnout. Pokud tomu tak je, nebo nemáte jiné Arduino, které můžete použít jako 'prostředník', pak možná budete chtít koupit Arduino Nano nebo jeden z dalších modelů malých formátů, který obsahuje rozhraní USB a dělá programování jednodušší vyhlídkou.

Zde je několik zdrojů, které vám mohou pomoci porozumět procesu. Arduino Reference konkrétně odkazuje na vypalování nového bootloaderu na cílové zařízení, ale stejně snadno můžete načíst skicu stejným způsobem. Zjistil jsem, že video Juliana Iletta činí koncept mnohem jasnějším, ačkoli přeskočí část v odkazu Arduino, která vysvětluje, jak spojit dva Arduino dohromady, a místo toho naprogramuje holý čip na prkénko.

  • Referenční příručka Arduino - Použití Arduina jako ISP
  • YouTube video Juliana Iletta - Použití Arduina jako ISP

Protože Pro Mini nemá 6 pinů ISP pohodlně seskupených, je třeba dekódovat, které z digitálních pinů se týkají 4 programovacích pinů (další dvě připojení jsou pouze Vcc a Gnd - takže jsou celkem přímočará). Naštěstí pro vás jsem si tím už prošel - a jsem ochoten se s vámi podělit o znalosti - jaký jsem velkorysý člověk !!

Arduino Uno a mnoho dalších v rodině Arduino má 6 pinů šikovně uspořádaných v bloku 3x2, jako je tento (obrázek z www.arduino.cc).

obraz
obraz

Pro Mini bohužel ne. Jak vidíte níže, ve skutečnosti je lze celkem snadno identifikovat a stále jsou uspořádány do 2 bloků po 3 pinech. MOSI, MISO a SCK jsou stejné jako digitální piny 11, 12 a 13 na Pro Mini a Arduino Uno a pro programování ISP jednoduše připojte 11 až 11, 12 až 12 a 13 až 13. Pro Mini resetovací pin by měl být připojen k Uno pinu 10 a Pro Mini Vcc (5v)/Ground by měl být připojen k Arduino +5v/Ground. (Obrázek z www.arduino.cc)

obraz
obraz

Krok 7: Sestavení

Shromáždění
Shromáždění

Jak jsem zmínil, vzal jsem na případ puntík a litoval toho. Zapadnout do všech komponentů bylo skutečné stlačení. Ve skutečnosti jsem musel ohnout kontakty tlačítka na stranu a na vnější stranu dát nějaké balení, aby se zvedlo o kousek dál, aby se vešlo do hloubky krabice, a musel jsem obrousit 2-3 mm z každé strany deska modulu displeje, aby se vešla také.

Do pouzdra jsem vyvrtal 2 otvory, kterými by se měly propíchnout ultrazvukové senzory. Otvory jsem vyvrtal příliš malé a poté je postupně zvětšoval pomocí malé rotační brusky, abych je mohl pěkně „přitlačit“. Bohužel byli příliš blízko stran, aby mohli používat mlýnek zevnitř krabice, a to se muselo provést zvenčí, což mělo za následek mnoho škrábanců a skvrn na bruslích, kde bruska uklouzla - no, to je vše na dně každopádně - koho to zajímá..?

Poté jsem na jednom konci vyřízl štěrbinu, která má správnou velikost, aby se do ní mohl šťourat displej. Opět - můj odhad velikosti krabice mě kousl na zadní straně, protože slot mi zanechal velmi tenký kus nad displejem, který se nevyhnutelně zlomil, když jsem ho hladil. Ach jo - na to bylo vynalezeno superlepidlo…

Nakonec, když byly všechny součásti zhruba umístěny v krabici, změřil jsem, kam umístit otvor ve víku, aby tělo tlačítka spadlo do konečného dostupného prostoru. PROSTĚ!!!

Poté jsem všechny součásti spojil dohromady, abych otestoval, zda všechny fungovaly i po mém ohýbání, broušení a ořezávání, než jsem je všechny složil do pouzdra. Přímo pod zobrazovacím modulem můžete vidět propojovací propojku s pinem 10 na Arduinu (bílý vodič) připojeným ke Gnd, čímž se jednotka přepne do režimu kalibrace. Displej ukazuje 122 cm od mé lavice - musel zachytit signál odražený zpět z horní části rámu okna (je příliš nízký na to, aby byl strop).

obraz
obraz

Pak došlo k vylomení horké lepicí pistole a zatlačení bot na místo. Když jsem to udělal, zjistil jsem, že malá vůle mezi horní částí modulu displeje a víkem, jakmile byl modul nalepen na místo, zanechala trochu vyboulení, kde víko nezapadalo tak těsně, jak bych chtěl. Možná se s tím jednoho dne pokusím něco udělat - nebo spíše nebudu …

obraz
obraz

Krok 8: Hotový článek

Po několika testech po montáži a opravě mého kódu, aby se zohlednila hloubka kusu dřeva, na který jsem přišrouboval zařízení (což jsem ve svých výpočtech úplně přehlédl - d'oh !!), je vše hotovo. Konečně!

Sestavené testování

Když jednotka jen sedí obličejem dolů na mé lavici, zjevně nebude žádný odražený signál, takže jednotka správně zobrazuje chybový stav. Totéž by platilo, pokud by se nejbližší odrazná plocha nacházela mimo dosah jednotky.

obraz
obraz

Vypadá to, že od mé lavice k podlaze je 76 cm (dobře, 72 cm plus 4 cm hloubka kusu dřeva).

obraz
obraz

Spodní strana jednotky, zobrazující vysílač a přijímač převislý kus dřeva - měl bych tomu opravdu přestat říkat kus dřeva - bude od nynějška označována jako platforma Gauge Stabilization and Precision Placement Platform! Naštěstí je to asi naposledy, co to zmíním;-)

Ooh - v tomhle můžete vidět všechny ty ošklivé škrábance a stopy na bruslích …

obraz
obraz

… A tady je hotová položka, umístěná v normálním provozním režimu, ve skutečnosti měřící kapacitu mého tanku s přesností na 5%. Bylo (velmi) deštivé nedělní odpoledne, které mě vidělo dokončit tento projekt, tedy kapky deště na jednotku a velmi příjemné 90% čtení.

obraz
obraz

Doufám, že jste si přečetli tento návod a že jste se dozvěděli něco málo o programování Arduino, fyzice a používání sonarového/ultrazvukového odrazu, úskalích používání hádání při plánování projektu a že jste se nechali inspirovat vlastní měřidlo nádrže na dešťovou vodu - a poté nainstalovat nádrž na dešťovou vodu, abyste ji mohli používat, a přitom trochu pomoci životnímu prostředí a ušetřit na účtu za vodu.

Čtěte dále - co se stalo další den…!

Krok 9: Postscript - sto (a pět) procent?

V pondělí po deštivé neděli byl tedy tank absolutně tak plný, jak jen mohl být. Jelikož je to jeden z mála případů, kdy jsem ho viděl úplně plný, říkal jsem si, že to bude ideální čas na benchmark měřidla, ale hádejte co - zaregistrovalo se to na 105%, takže evidentně nebylo něco v pořádku.

Vytáhl jsem měrku a zjistil, že moje původní předpoklady 140 cm jako maximální hloubky vody a 16 cm světlé výšky (na základě vizuálních odhadů odhadů provedených z vnější strany nádrže) byly oba trochu mimo skutečná měření. Tak vyzbrojen skutečnými daty pro svůj 100% benchmark jsem byl schopen vyladit svůj kód a znovu načíst Arduino.

Ukázalo se, že maximální hloubka vody je 147 cm, přičemž měřící bod je 160 cm, což dává 13 cm prostoru nad hlavou (součet světlé výšky v nádrži, výška hrdla nádrže a hloubka kusu … whoa „Ne, co ?! Myslím hloubku platformy stabilizace a přesného umístění měřidla!).

Po odpovídajícím opravení proměnných maxDepth a headroom a resetování maximálního rozsahu sonarového objektu na 160 cm ukázal rychlý opakovaný test 100%, který klesl na 95%, když jsem trochu nadzvedl měřidlo (pro simulaci malého množství voda).

Hotovo!

PS - toto je můj první pokus o instruktáž. Pokud se vám líbí můj styl, smysl pro humor, upřímnost k přiznání chyb (hej - i já nejsem dokonalý …) atd. - dejte mi vědět a může mě to povzbudit udělat další.

Krok 10: Myšlenky

Použitelná kapacita

Je to tedy již několik týdnů, co jsem zveřejnil tento Instructable, a měl jsem mnoho odpovědí, z nichž některé navrhovaly alternativní mechanismy - elektronické i manuální. Ale to mě přimělo k zamyšlení a je tu něco, na co jsem měl asi upozornit na začátku.

  • Můj tank má čerpadlo, které je instalováno na úrovni země - jen mírně pod základnou nádrže. Protože je čerpadlo nejnižším bodem v systému a voda z čerpadla je pod tlakem, mohu využít plnou kapacitu své nádrže.
  • NÁVŠTĚVNĚ - pokud vaše nádrž nemá čerpadlo a spoléhá se na gravitační přívod, pak je efektivní kapacita nádrže omezena výškou vašeho kohoutku. Jakmile je voda zbývající ve vaší nádrži nižší než kohoutek, nepoteče žádná voda.

Bez ohledu na to, zda používáte elektronický měřič nebo ruční průhledítko nebo systém typu plováku a vlajky, mějte na paměti, že bez čerpadla je efektivní „základna“vaší nádrže ve skutečnosti výška výstupu nádrže nebo klepněte na.

Doporučuje: