Sadržaj:
- Korak 1: Matematika …
- Korak 2: Praktičnosti
- Korak 3: Sastojci
- Korak 4: Testiranje prototipa (i koda)
- Korak 5: Ino skica mjerača kišnice
- Korak 6: Učitavanje koda na Arduino Pro Mini (bez USB -a)
- Korak 7: Montaža
- Korak 8: Gotov članak
- Korak 9: PostScript - sto (i pet) posto?
- Korak 10: Nakon razmišljanja
Video: Ultrazvučni mjerač kapaciteta spremnika za kišnicu: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ako ste išta poput mene i imate malo savjesti o okolišu (ili ste samo krznaši željni uštedjeti nekoliko dolara - što sam i ja …), možda imate spremnik za kišnicu. Imam spremnik za ubiranje prilično rijetke kiše koja pada u Australiji - ali dječače, dječače, kad ovdje pada kiša, stvarno pada kiša! Moj spremnik stoji visoko oko 1,5 m i nalazi se na postolju, što znači da moram izaći s koraka kako bih provjerio razinu vode (ili - jer sam tako lijen, nesigurno balansirajte na vrhu stare plinske boce s roštilja koja je sada uzeta do stalnog boravka kao 'korak' pored spremnika).
Htio sam na neki način provjeriti razinu vode u spremniku, a da se ne penje i ne visi jednom rukom na odvodnoj cijevi (brinući se o tome koji bi pauci mogli biti iza toga - čuli ste za australske pauke - zar ne?) … Dakle, s obnovljenim interesom za elektroniku u kasnim godinama života i jeftinim Arduino klonovima iz Kine na ebayu, odlučio sam pokušati izgraditi 'widget' koji će obaviti posao umjesto mene.
Sada, moj widget iz snova trebao je biti trajno instaliran u spremniku, koristiti izvor energije napajan solarnom energijom, s daljinskim očitavanjem u mojoj garaži, ili možda bežični odašiljač pomoću Bluetootha koji sam mogao provjeriti sa svog telefona, ili možda čak Uređaj tipa ESP na kojem se nalazi automatski ažurirana web stranica kako bih preko interneta mogao provjeriti razinu vode u spremniku s bilo kojeg mjesta u svijetu … ali stvarno - zašto mi sve to treba? Tako sam malo pozvao svoje velike ideale (pa, prilično) i uklonio bežičnost rješenja, trajno instalirano, solarno punjenje i mogućnost provjere razine spremnika sa stražnje strane (uvijek pod pretpostavkom da na stražnjoj strani izvan mreže postoji WiFi, to jest …)
Rezultirajući projekt preveden je u ručnu jedinicu koja se vidi gore, koja se može jednostavno držati iznad otvora spremnika i aktivirati pritiskom na gumb, s digitalnim očitanjem, koje se može čitati s tla - daleko praktičnije.
Korak 1: Matematika …
Nakon što sam se poigrao s nekoliko ideja o tome kako odrediti vodostaj - odlučio sam se za ultrazvučni odašiljač/prijamnik kao osnovu za svoj widget, te pomoću Arduina za očitavanje i sve matematike. Očitana očitanja senzora su (neizravno) u obliku udaljenosti - od ultrazvučnog senzora do površine koju je odbio (površina vode - ili dno spremnika, ako je prazna), i natrag, pa nam je potrebno učiniti nekoliko stvari s ovim, kako bi došli do postotka preostalog u spremniku.
NB Ovo je u mikrosekundama - ali znajući da je brzina zvuka 29 mikrosekundi po cm (što? To niste znali? Pfft…) olakšava pretvaranje iz vremenskog razdoblja u mjerenje udaljenosti.
Prvo - naravno, moramo podijeliti udaljenost s 2 kako bi senzor došao do površinske udaljenosti. Zatim oduzmite stalnu udaljenost od senzora do 'maksimalne' dubine vode. Preostala vrijednost je dubina korištene vode. Zatim oduzmite tu vrijednost od najveće dubine vode kako biste pronašli dubinu vode koja je ostala u spremniku.
Ta je vrijednost, dakle, osnova za bilo koje druge izračune, poput obrade ove dubine vode kao postotka najveće dubine ili množenja dubine konstantnom "površinom", kako bi se dobio volumen vode koji se može prikazati u litrama (ili galonima, ili bilo kojoj drugoj jedinici - sve dok znate matematiku za to - držim se postotka radi jednostavnosti).
Korak 2: Praktičnosti
Jedinica se može držati u ruci, ali to uvodi malu mogućnost manjih netočnosti ako se jedinica ne drži na istom mjestu i pod istim kutom svaki put. Iako bi to bila samo vrlo mala greška, a vjerojatno čak ni jedna koja bi se registrirala, to bi me nekako zadirkivalo.
No, držanje u ruci uvodi mnogo veću mogućnost da prokleta stvar padne u spremnik i više se nikada ne vidi. Dakle, kako bi se umanjile OBJE od ovih mogućnosti, bit će pričvršćene na duljinu drva, koja se zatim postavlja preko otvora spremnika - tako da se mjerenje uzima svaki put s iste visine i kuta (i ako IS padne u spremnik, barem će drvo plutati).
Pritiskajući gumb aktivira jedinicu (čime se uklanja potreba za prekidačem za uključivanje/isključivanje i mogućnost slučajno spljoštene baterije), te pokreće skicu u Arduinu. Ovo uzima niz očitanja iz HC-SR04 i uzima njihov prosjek (kako bi se umanjila sva pogrešna očitanja).
Uključio sam i malo koda za provjeru visokih ili niskih vrijednosti na jednom od Arduino digitalnih I/O pinova i to iskoristio za stavljanje jedinice u način koji sam nazvao 'Kalibracija'. U ovom načinu rada zaslon jednostavno prikazuje stvarnu udaljenost (podijeljenu s 2) koju senzor vraća, kako bih mogao provjeriti njezinu točnost prema mjernoj traci.
Korak 3: Sastojci
Jedinica se sastoji od tri glavne komponente…
- HC-SR04 ultrazvučni modul odašiljača/prijamnika
- Arduino Pro Mini mikrokontroler
- 4 -znamenkasti 7 -segmentni LED zaslon ili "modul" zaslona, poput TM1637
Sve navedeno lako se može pronaći na ebayu jednostavnim pretraživanjem pojmova prikazanih podebljanim slovima.
U ovoj aplikaciji zaslon jednostavno koristi 3 znamenke za prikaz % vrijednosti od 0-100 ili 4 znamenke za prikaz broja litara (maksimalno 2000 u mom slučaju), tako da će svaki 4 -znamenkasti zaslon učiniti - ne morate brinuti se ima li modul decimalne točke ili dvotočke. "Modul" zaslona (LED montiran na ploču za razbijanje, s čipom za sučelje) lakši je, jer koristi manje pin veza, ali sirovi LED zaslon s 12 pinova mogao bi se prilagoditi Arduinu uz neke male izmjene koda (zapravo se moj izvorni dizajn temeljio na ovoj postavci). Međutim, imajte na umu da korištenje neobrađenog LED zaslona također zahtijeva 7 otpornika za ograničenje struje koju vuče svaki segment. Slučajno sam imao dostupan modul za prikaz sata TM1637, pa sam odlučio to upotrijebiti.
Dodatni dijelovi i bobovi uključuju isječak za bateriju od 9 V (i bateriju, očito), trenutni prekidač s gumbom za izradu, okvir za projektiranje, igle zaglavlja, spojne žice i duljinu drva od 2 "x4" koja prelazi promjer otvora spremnika.
Dodatni komadići i bobovi (osim trupca drveta) kupljeni su od mog lokalnog lanca utičnice za elektroniku iz hobija - a to je Jaycar u Australiji. Pretpostavljam da bi Maplin u Velikoj Britaniji bio održiva alternativa, a mislim da ih ima nekoliko u SAD -u, poput Digikeyja i Mousera. Za druge zemlje, bojim se da ne znam, ali sam siguran da ako vam u vašoj zemlji nedostaje odgovarajući prodajni centar ili mrežni dobavljač, tada će vam se obratiti kineski prodavatelji ebaya, ako ne imajte na umu da čekate nekoliko tjedana na isporuku (ironično, iako je jedan od naših najbližih susjeda, 6 tjedana ili više nije neobično za isporuku u Australiju iz Kine!).
Pobrinite se da nabavite projektnu kutiju koja je dovoljno velika - pretpostavila sam u svojoj prije nego što su komponente na raspolaganju, a to je stvarno jako stisnuto - možda ću morati nabaviti drugačiji gumb koji koristi manje prostora.
Oh, i usput, duljina drva samo je nastala zbog nekih ostataka koje držim u kutu svoje garaže (kao dom za više onih ljupkih pauka).
Kad shvatite slikovitost i funkcionalnost, možete odlučiti prilagoditi svoju verziju i uključiti prekidač za uključivanje/isključivanje ili upotrijebiti 18650 Li-Ion izvor napajanja sa solarnom pločom i kontrolerom punjenja kako biste ga stalno punili i bili spremni za rad ili promijenite jednostavan LED zaslon za višeredni LCD ili grafički OLED s više mogućnosti prikaza informacija, poput prikaza postotka I litara preostalih u isto vrijeme. Ili se možete odlučiti za sve pjevačku, plešuću bežičnu IoT jedinicu koja je stalno instalirana u spremniku SA solarnim punjenjem. Volio bih čuti za vaše varijacije i izmjene.
Korak 4: Testiranje prototipa (i koda)
Kupovinom HC-SR04 od jeftinog kineskog izvora na ebayu, nisam baš očekivao da ću dobiti iznimno točnu jedinicu, pa sam je htio prvo isprobati na ploči, u slučaju da moram dodati neki kod za korekciju udaljenosti moja skica.
U ovom trenutku tražio sam osnovne informacije o tome kako se spojiti i koristiti HC-SR04 i moram priznati jsvesterov instrukcijski "Jednostavni primjer Arduina i HC-SR04". Njegov primjer i iskustvo bili su mi odlično polazište za početak kodiranja.
Pronašao sam biblioteku funkcija NewPing za HC-SR04, koja uključuje ugrađenu funkcionalnost koja uzima prosjek višestrukih očitanja, čime je moj kôd znatno pojednostavljen.
Pronašao sam i biblioteku za TM1637 modul prikaza sata, što je uvelike pojednostavilo prikaz brojeva. U mom izvornom kodu (za četveroznamenkasti 7-segmentni zaslon) morao sam podijeliti broj na pojedinačne znamenke, zatim svaku pojedinačnu znamenku sastaviti na zaslonu znajući koje segmente osvijetliti, a zatim kružiti kroz svaku znamenku u broju, i gradnju tog broja na odgovarajućoj prikaznoj znamenki. Ova metoda se naziva multipleksiranje i učinkovito prikazuje samo jednu znamenku odjednom, ali tako brzo prelazi s jedne znamenke na drugu, da ljudsko oko to ne primijeti i zavara vas da vjerujete da su sve znamenke uključene u isto vrijeme. Kao i knjižnica HC-SR04 koja olakšava mjerenje, ova knjižnica zaslona brine se za sve multipleksiranje i rukovanje znamenkama. Gore navedene Arduino reference stranice daju neke primjere, i naravno, svaka knjižnica dolazi s uzorkom koda koji može biti od velike pomoći.
n
Dakle, gornje slike prikazuju moju opremu za testiranje - testiram je na svom Arduino Uno radi jednostavnosti, jer je to već postavljeno za privremene ponovno upotrebljive veze za izradu prototipova. Jedinica ovdje radi u načinu 'Kalibracija' (imajte na umu da je digitalni pin 10 - bijela žica - spojen na masu) i točno očitava 39 cm u kutiji koju sam nasumično postavio ispred nje, što pokazuje mjerač trake. U ovom načinu rada prikazujem mali 'c' ispred mjerenja, samo da pokažem da to nije normalno mjerenje.
Osim Vcc (5v) i mase, HC -SR04 treba još 2 veze - okidač (žuto na pin 6) i eho (zeleno na pin 7). Zaslonu su također potrebni Vcc (5v) i Ground te još 2 veze - sat (plavo na pin 8) i DIO (ljubičasto na pin 9). Kao što je već spomenuto, načinom rada upravlja se visokim ili niskim pinom 10 (bijelo). Priključci će koristiti iste pinove na Arduinu Pro Mini, ali će biti trajno zalemljeni. Način rada moći će se odabrati pomoću kratkospojnika preko dva od tri pina zaglavlja, spojenih na Vcc, pin 10 i masu.
Službene specifikacije za HC -SR04 tvrde nešto poput najveće pogreške od samo 3 milimetra do maksimalno projektirane udaljenosti od 4 metra, pa zamislite moje iznenađenje kada sam otkrio da je moja jedinica zasigurno bila točna do 2 metra - što je više od onoga što mi treba. Zbog ograničenog prostora za brzo i prljavo postavljanje testa, moji rezultati ispitivanja izvan te udaljenosti bili su oštećeni refleksijama s drugih površina osim moje testne mete, jer se snop odašiljača raširila i zahvatila šire područje. Ali sve dok je dobro do 1,5 metra - to će mi dobro doći, hvala vam puno:-)
Korak 5: Ino skica mjerača kišnice
Cijeli kôd je u privitku, ali u nastavku ću uključiti nekoliko odlomaka kako bih objasnio neke korake.
Prije svega, postavljanje …
#uključi
#include #include // pinovi za HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400 cm je maksimalno za HC-SR04, 155 cm je maksimalno za spremnik // Priključne pinove LED modula (digitalni pinovi) #define CLK 8 #define DIO 9 TM1637Displej zaslona (CLK, DIO); // Ostali pinovi #define opMode 10
Osim knjižnica TM1637 i NewPing, uključio sam i matematičku knjižnicu koja mi daje pristup funkciji 'zaokruživanja'. Koristim ovo u nekim matematikama kako bih na primjer prikazao postotak na najbližih 5%.
Zatim su definirani pinovi za dva uređaja i pokrenuti uređaji.
Na kraju, definiram pin 10 za način rada.
// isključuje sve segmente za sve znamenke
uint8_t bajtova = {0x00, 0x00, 0x00, 0x00}; display.setSegmenti (bajtovi);
Ovaj odjeljak koda prikazuje jedan način upravljanja zaslonskim modulom, dopuštajući individualnu kontrolu svakog segmenta u svakoj znamenci. Postavio sam 4 elementa u nizu koji se zovu bajti, da svi budu nula. To znači da je svaki bit svakog bajta nula. 8 bitova koristi se za kontrolu svakog od 7 segmenata i decimalne točke (ili dvotočke na zaslonu tipa sata). Dakle, ako su svi bitovi nula, tada niti jedan segment ne svijetli. Operacija setSegments šalje sadržaj niza na zaslon i ne pokazuje (u ovom slučaju) ništa. Svi segmenti su isključeni.
Najvažniji bit u bajtu kontrolira DP, a zatim preostalih 7 bita kontrolira 7 segmenata od G do A obrnutim redoslijedom. Dakle, za prikaz broja 1 na primjer, potrebni su segmenti B i C, pa bi binarni prikaz bio '0b00000110'. (Hvala CircuitsToday.com za gornju sliku).
// Uzmite 10 očitanja i upotrijebite medijan trajanja.
int duration = sonar.ping_median (10); // trajanje je u mikrosekundama if (duration == 0) // Greška pri mjerenju - nejasno ili nema odjeka {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenti za pisanje "Err" display.setSegments (bajti); }
Ovdje govorim HC-SR04 da uzme 10 očitanja i da mi da prosječan rezultat. Ako se ne vrati vrijednost, jedinica je izvan raspona. Zatim koristim istu tehniku kao gore za kontrolu određenih segmenata na 4 znamenke, za ispisivanje slova (prazno), E, r i r. Korištenje binarnog zapisa malo olakšava povezivanje pojedinih bitova sa segmentima.
Korak 6: Učitavanje koda na Arduino Pro Mini (bez USB -a)
Kao što sam ranije rekao, artiklima kineskih prodavatelja ebaya često je potrebno 6 tjedana ili više da stignu, a mnogo mojih prototipova i pisanja koda obavljeno je čekajući da stignu neke komponente - jedan od njih je Arduino Pro Mini.
Jedna stvar koju nisam primijetio kod Pro Mini -a, sve dok ga već nisam naručio, jest da na njemu nema USB priključka za preuzimanje skice. Dakle, nakon mahnitog googlanja, otkrio sam da u ovom slučaju postoje dva načina za učitavanje skice - za jedan je potreban poseban kabel koji ide s USB -a na vašem računalu do 6 posebnih pinova na Pro Miniju. Ova skupina od 6 pinova poznata je kao ISP (programer u sustavu) pinovi, a zapravo možete koristiti ovu metodu na bilo kojem Arduinu ako želite - ali budući da je USB sučelje dostupno na gotovo svim ostalim Arduino varijantama (ja mislim), korištenje te opcije je mnogo jednostavnije. Druga metoda zahtijeva da imate još jedan Arduino s USB sučeljem na sebi, da djeluje kao 'posrednik'.
Srećom, imati svoj Arduino Uno značilo je da bih mogao koristiti drugu metodu, koju ću vam u nastavku opisati. Zove se pomoću 'Arduina kao ISP -a'. Ukratko, na svoj 'posrednički' Arduino učitavate posebnu skicu koja ga pretvara u serijsko sučelje. Zatim učitajte svoju stvarnu skicu, ali umjesto uobičajene opcije prijenosa, koristite opciju iz IDE izbornika koja se prenosi "koristeći Arduino kao ISP". "Posrednik" Arduino tada uzima vašu stvarnu skicu iz IDE-a i prosljeđuje je na ISP pinove Pro Mini-a, umjesto da je učitava u vlastitu memoriju. Nije teško jednom kad bolje razmislite kako to funkcionira, ali to je dodatni sloj složenosti koji biste možda htjeli izbjeći. Ako je to slučaj, ili nemate drugi Arduino koji možete koristiti kao "posrednik", možda biste htjeli kupiti Arduino Nano ili neki od drugih modela malih dimenzija, koji uključuje USB sučelje i čini programiranje jednostavnijom perspektivom.
Evo nekoliko izvora koji bi vam mogli pomoći u razumijevanju procesa. Arduino referenca posebno se odnosi na snimanje novog pokretačkog programa na ciljni uređaj, ali isto tako jednostavno možete učitati skicu na isti način. Otkrio sam da videozapis Juliana Iletta čini koncept mnogo jasnijim, iako preskače dio u referenci za Arduino koji objašnjava kako spojiti dva Arduina i umjesto toga programira goli čip na ploči.
- Referentni priručnik za Arduino - Korištenje Arduina kao ISP -a
- YouTube video Juliana Iletta - Korištenje Arduina kao ISP -a
Kako Pro Mini nema 6 ISP pinova prikladno grupiranih zajedno, morate dekodirati koji se od digitalnih pinova odnosi na 4 programska pina (druge dvije veze su samo Vcc i Gnd - pa su prilično jednostavne). Na vašu sreću, već sam prošao kroz ovo - i spreman sam podijeliti znanje s vama - kakva sam velikodušna osoba !!
Arduino Uno, i mnogi drugi u obitelji Arduino, imaju 6 pinova ručno raspoređenih u blok 3x2, poput ovog (slika s www.arduino.cc).
Nažalost, Pro Mini to ne čini. Kao što možete vidjeti u nastavku, zapravo ih je prilično lako identificirati i još uvijek su raspoređeni u 2 bloka od 3 igle. MOSI, MISO i SCK isti su kao digitalni pinovi 11, 12 i 13 na Pro Mini i Arduino Uno, a za programiranje ISP -a jednostavno povežite 11 na 11, 12 na 12 i 13 na 13. Pro Mini's Reset pin bi trebao biti spojen na Uno pin 10, a Pro Mini Vcc (5v)/Uzemljenje bi trebao biti spojen na Arduino +5v/Ground. (Slika s www.arduino.cc)
Korak 7: Montaža
Kao što sam spomenuo, malo sam se potrudio oko slučaja i požalio sam. Bilo je pravo stisnuti sve komponente. U stvari, morao sam saviti kontakte gumba s boka i staviti vanjsko pakiranje da ga podignem malo dalje kako bi stalo u dubinu kutije, pa sam morao brusiti 2-3 mm sa svake strane ploču zaslona za postavljanje.
Izbušio sam 2 rupe u kućištu za probijanje ultrazvučnih senzora. Izbušio sam rupe malo premalo, a zatim sam ih postupno povećavao pomoću male rotacijske brusilice, kako bih ih mogao lijepo spojiti. Nažalost, bile su preblizu strana da bi mogle koristiti brusilicu iz kutije, a to je trebalo učiniti izvana, što je rezultiralo mnogim ogrebotinama i tragovima klizanja na mjestima gdje je brusilica skliznula - o, to je sve na dnu svejedno - koga briga..?
Zatim sam na jednom kraju izrezao utor odgovarajuće veličine za probijanje zaslona. Opet - moja pretpostavka o veličini kutije ugrizla me za stražnju stranu jer mi je utor ostavio vrlo tanak komad iznad zaslona, koji se neizbježno slomio dok sam ga glatko podnosio. Pa dobro - za to je super ljepilo izmišljeno …
Konačno, sa svim komponentama grubo postavljenim u kutiji, izmjerio sam gdje staviti rupu na poklopcu, tako da tijelo gumba padne u konačni raspoloživi prostor. SAMO!!!
Zatim sam lemio sve komponente zajedno kako bih provjerio jesu li sve još radile nakon mog savijanja, brušenja i obrezivanja, prije nego što sam ih sve spojio u kućište. Možete vidjeti spoj kratkospojnika odmah ispod modula zaslona, s pinom 10 na Arduinu (bijeli kabel) spojenim na Gnd, čime se jedinica stavlja u način kalibracije. Zaslon prikazuje 122 cm iznad moje klupe - mora da je uhvatio signal koji se reflektirao s vrha prozorskog okvira (prenisko je za strop).
Tada se radilo o izbijanju pištolja za vruće ljepilo i trupljenju svih komponenti na svoje mjesto. Učinivši to, otkrio sam da je mali razmak između vrha modula zaslona i poklopca, nakon što je modul zalijepljen, ostavio malo ispupčenje na mjestu gdje poklopac neće stati tako dobro kako bih želio. Možda ću jednog dana pokušati učiniti nešto po tom pitanju - ili vjerojatnije da neću …
Korak 8: Gotov članak
Nakon nekoliko testova nakon montaže i korekcije mog koda kako bi se uzela u obzir dubina komada drveta na koji sam pričvrstio uređaj (što sam potpuno zanemario u svojim izračunima - d'oh !!), sve je gotovo. Konačno!
Sastavljeno ispitivanje
Dok jedinica samo sjedi licem prema dolje na mojoj klupi, očito neće biti reflektiranog signala, pa jedinica ispravno prikazuje stanje pogreške. Isto bi vrijedilo i ako je najbliža reflektirajuća površina izvan dometa jedinice.
Izgleda da je od moje klupe do poda 76 cm (pa, 72 cm plus 4 cm dubine komada drveta).
Donja strana jedinice prikazuje odašiljač i prijamnik koji nadvisuju komad drveta - doista bih ga trebao prestati nazivati komadom drveta - ubuduće će se nazivati platforma za stabilizaciju i precizno postavljanje mjerača! Srećom, ovo je vjerojatno zadnji put da to spominjem;-)
Ooh - u ovoj možete vidjeti sve te gadne ogrebotine i tragove klizanja …
… i ovdje je gotova stavka, postavljena u uobičajeni način rada, koja zapravo mjeri kapacitet mog spremnika na najbližih 5%. Bilo je to (vrlo) kišno nedjeljno popodne kad sam završio s ovim projektom, otuda i kišne kapi na jedinici i vrlo ugodnih 90% čitanja.
Nadam se da ste uživali čitajući ove upute, te da ste naučili nešto o Arduino programiranju, fizici i korištenju sonarne/ultrazvučne refleksije, zamkama korištenja nagađanja u planiranju projekta te da ste bili nadahnuti da napravite svoj vlastiti mjerač spremnika za kišnicu - a zatim instalirati spremnik za kišnicu na koji će se koristiti, a pritom malo pomoći okolišu i uštedjeti na računu za vodu.
Čitajte dalje - za ono što se dogodilo sljedećeg dana …!
Korak 9: PostScript - sto (i pet) posto?
Tako je u ponedjeljak nakon kišne nedjelje spremnik bio apsolutno pun koliko je mogao biti. Budući da je to jedan od rijetkih slučajeva kada sam ga vidio potpuno napunjenog, mislio sam da bi to bilo idealno vrijeme za mjerenje mjerača, ali pogodite što - registrirano je kao 105%, pa očito nešto nije u redu.
Izvadio sam mjernu šipku i otkrio da su moje izvorne pretpostavke o 140 cm kao najvećoj dubini vode i 16 cm visine (prema vizualnim procjenama napravljenim izvan spremnika) bile malo izvan stvarnih mjerenja. Tako naoružan stvarnim podacima za moje 100% mjerenje, uspio sam prilagoditi svoj kôd i ponovno učitati Arduino.
Ispostavilo se da je maksimalna dubina vode 147 cm, s mjernim mjestom od 160 cm, dajući 13 cm prostora za glavu (zbroj prostora za glavu unutar spremnika, visine grla spremnika i dubine komada … vau, ne, što ?! Mislim na dubinu platforme za stabilizaciju i precizno postavljanje mjerača!).
Nakon što su sukladno tome ispravljene varijable maxDepth i visina, kao i vraćanje maksimalnog raspona objekta sonara na 160 cm, brzo ponovno testiranje pokazalo je da je 100% palo na 95% dok sam malo podizao mjerač (da simuliram malu količinu upotrebljena voda).
Posao obavljen!
PS - ovo je moj prvi pokušaj poučavanja. Ako vam se sviđa moj stil, smisao za humor, iskrenost u priznavanju grešaka (hej - čak ni ja nisam savršen …) itd. - javite mi i možda će mi dati poticaj da napravim još jednu.
Korak 10: Nakon razmišljanja
Korisni kapacitet
Tako je prošlo nekoliko tjedana otkad sam objavio ovaj Instructable, a na odgovor sam imao mnogo komentara, od kojih su neki sugerirali neke alternativne mehanizme - i elektroničke i ručne. No, ovo me potaknulo na razmišljanje i na nešto sam vjerojatno trebao istaknuti u početku.
- Moj spremnik ima pumpu koja je instalirana u prizemlju - malo ispod baze spremnika. Kako je crpka najniža točka u sustavu, a voda iz pumpe je pod pritiskom, mogu iskoristiti pun kapacitet svog spremnika.
- MEĐUTIM - ako vaš spremnik nema pumpu i oslanja se na gravitacijsko napajanje, tada je efektivni kapacitet spremnika ograničen visinom slavine. Nakon što je preostala voda u spremniku niža od slavine, voda neće teći.
Dakle, bez obzira koristite li elektronički mjerač ili ručno kontrolno staklo, ili sustav tipa plovka i zastavice, samo imajte na umu da je bez crpke učinkovita 'baza' vašeg spremnika zapravo visina izlaza spremnika ili slavina.
Preporučeni:
Napravite ultrazvučni mjerač udaljenosti s Micro: bit: 6 koraka
Napravite ultrazvučni mjerač udaljenosti s Micro: bitom: Danas ćemo napraviti ultrazvučni mjerač udaljenosti s mikro: bitnim i ultrazvučnim senzorskim modulom
Jednostavno automatsko mjerenje kondenzatora / mjerač kapaciteta s Arduinom i ručno: 4 koraka
Jednostavno automatsko mjerenje kondenzatora / mjerač kapaciteta s Arduinom i ručno: Pozdrav! Za ovu fizičku jedinicu trebate:* napajanje s 0-12V* jedan ili više kondenzatora* jedan ili više otpornika za punjenje* štoperica* multimetar za napon mjerenje* arduino nano* zaslon veličine 16x2 I²C* 1/4 W otpornici s 220, 10k, 4,7M an
Arduino Nano mjerač kapaciteta: 8 koraka (sa slikama)
Arduino Nano mjerač kapaciteta: Ovaj projekt je praktički tri komponente jer se sastoji od 16X2 LCD zaslona, potenciometra 10K i Arduino Nano, dok su ostali dijelovi PCB koji sam dizajnirao koristeći softver EasyEda, 1 X 40 HEADER, 0,1 " PROSTOR, i 1x6 ŽENSKI
Mjerač razine ultrazvučnog spremnika: 5 koraka (sa slikama)
Ultrazvučni mjerač razine spremnika: Trebate pratiti razinu tekućine u bušotini velikog promjera, spremniku ili otvorenoj posudi? Ovaj vodič će vam pokazati kako napraviti sonarni beskontaktni mjerač razine tekućine pomoću jeftine elektronike! Gornja skica prikazuje pregled onoga što smo htjeli s t
Mjerač kapaciteta s TM1637 pomoću Arduina .: 5 koraka (sa slikama)
Mjerač kapacitivnosti s TM1637 pomoću Arduina .: Kako napraviti mjerač kapaciteta pomoću Arduina prikazanog na TM1637. Raspon 1 uF do oko 2000 uF