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: Postkript - 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 izmjena: 2024-01-30 08:08
Ako ste išta poput mene i imate malo savjesti o okolišu (ili ste samo ljuskari željni uštedjeti nekoliko dolara - što sam i ja …), možda imate spremnik za kišnicu. Imam rezervoar za žetvu prilično rijetke kiše koja pada u Australiji - ali dječače o dječače, kad ovdje pada kiša, zaista pada kiša! Moj rezervoar stoji visoko oko 1,5 m i nalazi se na postolju, što znači da moram izaći na stepenice da provjerim nivo 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 rezervoara).
Htio sam na neki način da mogu provjeriti nivo vode u spremniku, a da se pri tome 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 poznim godinama i jeftinim Arduino klonovima iz Kine na ebayu, odlučio sam pokušati napraviti „widget“koji će obaviti posao umjesto mene.
Sada je moj widget iz snova trebao biti trajno instaliran u spremniku, koristiti izvor energije napunjen solarnom energijom, s daljinskim očitavanjem u mojoj garaži, ili možda bežični odašiljač koristeći Bluetooth 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 zaista - 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 nivoa spremnika sa stražnje strane (uvijek pod pretpostavkom da na stražnjoj strani vanjske mreže postoji WiFi, to jest …)
Rezultirajući projekt je vraćen u ručnu jedinicu koja se vidi gore, koja se jednostavno može držati iznad otvora rezervoara i aktivirati pritiskom na dugme, sa digitalnim očitavanjem, koje se može čitati sa nivoa zemlje - 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č/prijemnik kao osnovu za svoj widget, te upotrijebio Arduino za mjerenje i sve matematike. Očitanja vraćena sa senzora su (indirektno) u obliku udaljenosti - od ultrazvučnog senzora do površine od koje se odskočio (površina vode - ili dno rezervoara, ako je prazna) i natrag, pa nam je potrebno učiniti nekoliko stvari s ovim, kako biste došli do postotka preostalog u spremniku.
Napomena: U stvari, vrijednost vraćena sa senzora je zapravo samo vrijeme potrebno da signal napusti emitera i vrati se u prijemnik. Ovo je u mikrosekundama - ali znajući da je brzina zvuka 29 mikrosekundi po cm (Šta? To niste znali? Pfft…) olakšava pretvaranje iz vremenskog perioda u mjerenje udaljenosti.
Prvo - naravno, moramo podijeliti udaljenost sa 2 kako bismo senzor doveli do površinske udaljenosti. Zatim oduzmite konstantnu udaljenost od senzora do 'maksimalne' dubine vode. Preostala vrijednost je dubina vode koja je korištena. Zatim oduzmite tu vrijednost od maksimalne dubine vode kako biste pronašli dubinu vode koja je ostala u spremniku.
Ova vrijednost je, dakle, osnova za bilo koje druge proračune, kao što je izrada ove dubine vode kao postotak maksimalne dubine ili množenje dubine konstantnom 'površinom', kako bi se dobila količina vode koja se može prikazati u litrima (ili galonima, ili bilo kojoj drugoj jedinici - sve dok znate matematiku za to - držim se postotka radi jednostavnosti).
Korak 2: Praktičnosti
Uređaj 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 vjerovatno čak ni ona koja bi se registrirala, to bi bila stvar koja me je ošamutila.
Međutim, držanje u ruci uvodi mnogo veću mogućnost da prokleta stvar padne u spremnik i više se nikada ne vidi. Da bi se obje ove mogućnosti umanjile, bit će fiksirane 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 rezervoar, bar će drvo plutati).
Pritiskom na gumb aktivira se jedinica (čime se eliminira potreba za prekidačem za uključivanje/isključivanje i mogućnost slučajno spljoštene baterije) i pokreće skica u Arduinu. Ovo uzima nekoliko očitanja iz HC-SR04 i uzima njihov prosjek (kako bi se umanjila sva neispravna 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 njenu točnost prema mjernoj traci.
Korak 3: Sastojci
Jedinica se sastoji od tri glavne komponente…
- HC-SR04 ultrazvučni modul predajnika/prijemnika
- Arduino Pro Mini mikrokontroler
- Četvorocifreni 7 -segmentni LED ekran ili 'modul' ekrana, poput TM1637
Sve gore navedeno može se lako pronaći na ebay -u jednostavnim pretraživanjem izraza 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 brinite se ima li modul decimalne zareze ili dvotačke. 'Modul' ekrana (LED montiran na ploču za razbijanje, sa čipom za sučelje) je lakši, jer koristi manje pin veza, ali sirovi LED ekran sa 12 pinova mogao bi se prilagoditi Arduinu uz neke male izmjene koda (u stvari, moj originalni dizajn bio je zasnovan na ovoj postavci). Međutim, imajte na umu da za korištenje neobrađenog LED ekrana potrebno je i 7 otpornika da ograniči struju koju vuče svaki segment. Slučajno sam imao na raspolaganju modul za prikaz sata TM1637, pa sam odlučio to iskoristiti.
Dodatni dijelovi i bobovi uključuju kopču za bateriju od 9 V (i bateriju, očito), trenutni prekidač sa pritiskom na dugme, okvir za projektiranje, igle zaglavlja, spojne žice i duljinu od 2 "x4" drva koja prelazi prečnik otvora rezervoara.
Dodatni komadići i komadići drveta (osim komada 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 bila 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 će vam u vašoj zemlji nedostajati odgovarajući prodajni centar na mreži ili dobavljač na mreži, ako vam ne odgovaraju imajte na umu da čekate nekoliko sedmica na isporuku (ironično, iako je jedan od naših najbližih susjeda, 6 sedmica ili više nije neobično za isporuku u Australiju iz Kine!).
Pobrinite se da nabavite projektnu kutiju koja je dovoljno velika - pretpostavila sam to prije nego što su mi komponente na raspolaganju, a to je zaista jako stisnuto - možda ću morati nabaviti drugo dugme koje koristi manje prostora.
Oh, i usput, dužina drveta je upravo proizašla iz nekih ostataka koje držim u kutu svoje garaže (kao dom za više onih ljupkih paukova).
Nakon što shvatite scenografiju 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 spremni za rad ili promijenite jednostavan LED zaslon za višeredni LCD ili grafički OLED s više opcija prikaza informacija, kao što je prikaz postotka I litara preostalih u isto vrijeme. Ili možete otići na 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 izuzetno preciznu jedinicu, pa sam je htio prvo isprobati na matičnoj 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 povezati i koristiti HC-SR04 i moram priznati jsvester-ov uputstvo "Jednostavni Arduino i HC-SR04 primjer". Njegov primjer i iskustvo bili su mi odlična polazna tačka 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 znatno olakšalo prikazivanje brojeva. U mom izvornom kodu (za četveroznamenkasti 7-segmentni zaslon) morao sam podijeliti broj na pojedinačne znamenke, a zatim svaku pojedinačnu znamenku izgraditi na ekranu znajući koje segmente treba osvijetliti, a zatim kružiti kroz svaku znamenku u broju, i gradnju tog broja na odgovarajućoj cifri prikaza. Ova metoda se naziva multipleksiranje i efektivno prikazuje samo jednu znamenku odjednom, ali se kreće kroz njih od jedne do druge znamenke tako brzo, da ljudsko oko to ne primjećuje, te vas zavara da vjerujete da su sve znamenke uključene u isto vrijeme. Kao i biblioteka 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 biblioteka dolazi sa 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 veze koje se mogu ponovno upotrijebiti za izradu prototipa. Jedinica ovdje radi u načinu 'Kalibracija' (imajte na umu da je digitalni pin 10 - bijela žica - spojen na masu) i precizno očitava 39 cm u kutiji koju sam nasumično postavio ispred nje, kao š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 Arduino Pro Mini, ali će biti trajno zalemljeni. Način rada bit će odabran pomoću kratkospojnika na dva od tri pina zaglavlja, spojenih na Vcc, iglu 10 i uzemljenje.
Službene specifikacije za HC -SR04 tvrde nešto poput najveće greške od samo 3 milimetra do maksimalno projektovane 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širio i zahvatio š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
Potpuni kôd je u prilogu, ali u nastavku ću uključiti nekoliko izvoda kako bih objasnio neke od koraka.
Prije svega, postavljanje …
#include
#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 // LED pinovi za povezivanje modula (digitalni pinovi) #define CLK 8 #define DIO 9 TM1637Displej (CLK, DIO); // Ostali pinovi #define opMode 10
Osim biblioteka TM1637 i NewPing, uključio sam i matematičku biblioteku 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.setSegments (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 se koristi za kontrolu svakog od 7 segmenata i decimalne tačke (ili dvotačke na ekranu tipa sata). Dakle, ako su svi bitovi nula, tada niti jedan segment neće biti osvijetljen. Operacija setSegments šalje sadržaj niza na ekran 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 medijanu trajanja.
int duration = sonar.ping_median (10); // trajanje je u mikrosekundama if (duration == 0) // Greška pri mjerenju - nejasna ili bez odjeka {uint8_t bajtova = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenti za pisanje "Err" display.setSegments (bajtovi); }
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 sedmica ili više da stignu, a mnogo mojih prototipova i pisanja koda obavljeno je čekajući da stignu neke komponente - Arduino Pro Mini je jedna od njih.
Jedna stvar koju nisam primijetio kod Pro Mini -a, sve dok ga već nisam naručio, je da na njemu nema USB priključka za preuzimanje skice. Tako sam, nakon ludog googlanja, otkrio 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čunaru do 6 posebnih pinova na Pro Miniju. Ova grupa od 6 pinova poznata je kao ISP (programer u sistemu) 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 sa USB sučeljem na sebi, da djeluje kao 'posrednik'.
Na sreću, 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 učitavanja, koristite opciju iz IDE izbornika koja se učitava 'koristeći Arduino kao ISP'. Arduino "posrednik" tada preuzima 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 jednostavnijim izgledom.
Evo nekoliko izvora koji bi vam mogli pomoći u razumijevanju procesa. Arduino referenca posebno se odnosi na narezivanje novog pokretačkog programa na ciljni uređaj, ali isto tako lako možete učitati skicu na isti način. Otkrio sam da video snimak Juliana Iletta čini koncept mnogo jasnijim, mada on preskače dio Arduino reference 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 od digitalnih pinova se 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 voljan sam podijeliti znanje s vama - kakva sam velikodušna osoba !!
Arduino Uno, i mnogi drugi u porodici Arduino, imaju 6 pinova ručno raspoređenih u blok 3x2, poput ovog (slika sa 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 sa 3 igle. MOSI, MISO i SCK isti su kao i 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 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 sa www.arduino.cc)
Korak 7: Montaža
Kao što sam spomenuo, malo sam se potrudio oko slučaja i požalio sam. Bilo je zaista gusto uklopiti sve komponente. U stvari, morao sam saviti kontakte gumba sa strane i staviti vanjsku ambalažu da je podignem malo dalje tako da stane u dubinu kutije, pa sam morao brusiti 2-3 mm sa svake strane ploču modula ekrana da i ona stane.
Izbušio sam 2 rupe u kućištu za probijanje ultrazvučnih senzora. Izbušio sam rupe malo premalo, a zatim ih postupno povećavao pomoću male rotacijske brusilice, tako da sam ih mogao lijepo spojiti. Nažalost, bile su preblizu strana da bi mogle koristiti brusilicu iz kutije, a to se moralo učiniti izvana, što je rezultiralo mnogim ogrebotinama i tragovima klizanja gdje je brusilica skliznula - o, to je sve na dnu svejedno - koga briga..?
Zatim sam izrezao prorez na jednom kraju odgovarajuće veličine za prikaz na ekranu. Opet - moja pretpostavka o veličini kutije ugrizla me je za stražnju stranu jer mi je utor ostavio vrlo tanak komad iznad ekrana, 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 tipke 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, sa 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 da bi bio strop).
Zatim 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 ekrana i poklopca, nakon što je modul zalijepljen, ostavio malo ispupčenje na mjestu gdje poklopac neće tako dobro pristajati koliko 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 proračunima - d'oh !!), sve je gotovo. Konačno!
Sastavljeno testiranje
Dok jedinica samo sjedi licem prema dolje na mojoj klupi, očito neće biti reflektiranog signala, pa jedinica ispravno prikazuje stanje greške. Isto bi bilo istina 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 prijemnik kako nadvisuju komad drveta - zaista bih ga trebao prestati nazivati komadom drveta - ubuduće će se nazivati Platforma za stabilizaciju mjerača i precizno postavljanje! Srećom, ovo je vjerojatno zadnji put da to spominjem;-)
Ooh - na ovoj možete vidjeti sve te gadne ogrebotine i tragove klizanja …
… i evo gotove stavke, postavljene u uobičajeni način rada, koja zapravo mjeri kapacitet mog spremnika na najbližih 5%. Bilo je to (vrlo) kišno nedjeljno popodne kada sam završio ovaj projekt, otuda i kišne kapi na jedinici i vrlo ugodnih 90% čitanja.
Nadam se da ste uživali u čitanju ovog uputstva i da ste naučili nešto o Arduino programiranju, fizici i upotrebi sonarne/ultrazvučne refleksije, zamkama upotrebe nagađanja u planiranju projekta i 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.
Pročitajte dalje - šta se dogodilo sljedećeg dana …!
Korak 9: Postkript - Sto (i pet) posto?
Tako je u ponedjeljak nakon kišne nedjelje rezervoar 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 bilo idealno vrijeme za mjerenje mjerila, ali pogodite što - registrirano je kao 105%, tako da očito nešto nije u redu.
Izvadio sam mjernu šipku i otkrio da su moje originalne pretpostavke o 140 cm kao najvećoj dubini vode i 16 cm visine (prema vizualnim procjenama napravljenim izvan rezervoara) bile malo izvan stvarnih mjerenja. Tako naoružan stvarnim podacima za moje 100% mjerilo, uspio sam prilagoditi svoj kôd i ponovo 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 (zbir prostora za glavu unutar rezervoara, visina grla rezervoara i dubina komada … vau, ne, šta ?! Mislim na dubinu platforme za stabilizaciju i precizno postavljanje mjerača!).
Nakon odgovarajuće korekcije varijabli maxDepth i visine prostora, kao i poništavanja maksimalnog raspona objekta sonara na 160 cm, brzo ponovno testiranje pokazalo je 100% koje je palo na 95% dok sam malo podizao mjerač (da simuliram malu količinu upotrebljena voda).
Posao završen!
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 sedmica od kada sam objavio ovaj Instructable, a na odgovor sam imao mnogo komentara, od kojih su neki sugerisali neke alternativne mehanizme - i elektronske i ručne. Ali ovo me je natjeralo na razmišljanje i na nešto sam vjerovatno trebao ukazati na početku.
- Moj rezervoar ima pumpu koja je instalirana u prizemlju - malo ispod dna rezervoara. Pošto je pumpa najniža tačka u sistemu, a voda iz pumpe je pod pritiskom, mogu koristiti pun kapacitet rezervoara.
- U svakom slučaju - ako vaš spremnik nema pumpu i oslanja se na gravitacijsko napajanje, tada je efektivni kapacitet spremnika ograničen visinom slavine. Kada voda koja ostane u rezervoaru bude niža od slavine, voda neće teći.
Dakle, bez obzira na to koristite li elektronički mjerač ili ručno kontrolno staklo, ili sistem s plovkom i zastavicom, samo imajte na umu da je bez pumpe efektivna 'baza' vašeg spremnika zapravo visina izlaza spremnika ili tap.
Preporučuje se:
WALL-E Metalni robotski spremnik spremnika spremnika: 3 koraka
WALL-E Metal Robot Tank Chassis Guide Vodič za instalaciju: ovo je metalna šasija robotskog spremnika, dobra za izradu tenkova robota. takav Arduino robot.izradjen je od legure aluminija lagan i jak.izradio SINONING trgovina za igračke "uradi sam"
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 potrebno vam je:* napajanje sa 0-12V* jedan ili više kondenzatora* jedan ili više otpornika za punjenje* štoperica* multimetar za napon merenje* arduino nano* 16x2 I²C ekran* 1/4 W otpornici sa 220, 10k, 4.7M i
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 ekrana, 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č kapaciteta s TM1637 pomoću Arduina .: 5 koraka (sa slikama)
Mjerač kapacitivnosti s TM1637 pomoću Arduina .: Kako napraviti mjerač kapacitivnosti pomoću Arduina prikazano na TM1637. Raspon 1 uF do oko 2000 uF
Ulica za kišnicu: 11 koraka (sa slikama)
Kišnica: Jaka olujna oluja može uzrokovati prelijevanje vode: kolnika, bušotina kišnice, poldera i nasipa. Kako se to ne bi dogodilo, izumili smo kišnicu sa kišnicom! Zatvor za kišnicu digitalno izračunava udaljenost između kišnice