Metër tejzanor i kapacitetit të rezervuarit të ujit të shiut: 10 hapa (me fotografi)
Metër tejzanor i kapacitetit të rezervuarit të ujit të shiut: 10 hapa (me fotografi)
Anonim
Metër tejzanor i kapacitetit të rezervuarit të ujit të shiut
Metër tejzanor i kapacitetit të rezervuarit të ujit të shiut

Nëse ju jeni diçka si unë dhe keni pak ndërgjegje mjedisore (ose jeni vetëm lëkurë të etur për të kursyer disa dollarë - që jam edhe unë…), mund të keni një rezervuar me ujë shiu. Unë kam një rezervuar për të korrur shiun mjaft të rrallë që marrim në Australi - por djalë oh djalë, kur bie shi këtu, me të vërtetë bie shi! Rezervuari im qëndron rreth 1.5 m i lartë dhe është në bazament, që do të thotë se duhet të dal nga hapat për të kontrolluar nivelin e ujit (ose - sepse jam shumë dembel, ekuilibroj në mënyrë të pasigurt mbi një shishe të vjetër gazi nga BBQ që ka marrë tani qëndrimi i përhershëm si një 'hap' pranë rezervuarit).

Doja një mënyrë për të qenë në gjendje të kontrolloja nivelin e ujit në rezervuar, pa u ngjitur dhe varur në tubin e kullimit me njërën dorë (duke u shqetësuar për atë që merimangat mund të jenë prapa saj - keni dëgjuar për merimangat australiane - apo jo?) … Kështu, me një interes të ripërtërirë në jetë për elektronikën, dhe klone të lira Arduino nga Kina në ebay, vendosa të filloj të ndërtoj një 'widget' për të bërë punën për mua.

Tani, widget -i im i "ëndrrës" ishte të instalohesha përgjithmonë në rezervuar, të përdorja një burim energjie të ngarkuar me diell, me një lexim të largët në garazhin tim, ose ndoshta një transmetues pa tel duke përdorur Bluetooth që mund ta kontrolloja nga telefoni im, ose ndoshta edhe një Pajisja e tipit ESP që mban një faqe në internet të azhurnuar automatikisht, në mënyrë që të mund të kontrolloj nivelin e ujit në rezervuarin tim nga kudo në botë përmes internetit … por me të vërtetë - pse më duhet e gjithë kjo? Kështu që unë i thirra idealet e mia madhështore pak mbrapa (mirë, në mënyrë të konsiderueshme), dhe hoqa pafajësinë e zgjidhjes, instalimin e përhershëm, ngarkimin diellor dhe aftësinë për të kontrolluar nivelin e rezervuarit tim nga pjesa e prapme e përtej (gjithmonë duke supozuar se fundi i pasmë i përtej ka WiFi në dispozicion, domethënë…)

Projekti që rezultoi u ul në njësinë e dorës të parë më sipër, që mund të mbahet thjesht mbi hapjen e rezervuarit dhe të aktivizohet me një buton, me një lexim dixhital, që mund të lexohet nga niveli i tokës - shumë më praktik.

Hapi 1: Matematika…

Pasi u lodha me disa ide se si të përcaktoni nivelin e ujit - vendosa për një transmetues/marrës tejzanor si bazë për widget -in tim, dhe duke përdorur një Arduino për të marrë leximet dhe për të bërë të gjitha matematikën. Leximet e kthyera nga sensori janë (tërthorazi) në formën e një distancë - nga sensori tejzanor në sipërfaqen që ai ka dalë (sipërfaqja e ujit - ose fundi i rezervuarit, nëse është bosh), dhe përsëri përsëri, kështu që ne kemi nevojë për të bërë disa gjëra me këtë, në mënyrë që të arrini në një përqindje të mbetur në rezervuar.

NB - në fakt, vlera e kthyer nga sensori është me të vërtetë vetëm koha e marrë që sinjali të largohet nga emetuesi dhe të kthehet te marrësi. Kjo është në mikrosekonda - por njohja e shpejtësisë së zërit është 29 mikrosekonda për cm (Çfarë? Nuk e keni ditur? Pfft …) bën një shndërrim të lehtë nga një periudhë kohore në një matje në distancë.

Imazhi
Imazhi

Së pari - natyrisht, ne duhet të ndajmë distancën me 2 për ta çuar sensorin në distancën sipërfaqësore. Pastaj, zbritni distancën konstante nga sensori në thellësinë e ujit 'max'. Vlera e mbetur është thellësia e ujit që është përdorur. Tjetra, zbriteni atë vlerë nga thellësia maksimale e ujit, për të gjetur thellësinë e ujit të mbetur në rezervuar.

Kjo vlerë, atëherë, është baza për çdo llogaritje tjetër, siç është përpunimi i kësaj thellësie uji si përqindje e thellësisë maksimale, ose shumimi i thellësisë me 'sipërfaqen' konstante, për të marrë një vëllim uji i cili mund të shfaqet në litra (ose gallonë, ose ndonjë njësi tjetër - për aq kohë sa ju e dini matematikën për ta bërë atë - unë jam duke iu përmbajtur një përqindjeje për thjeshtësinë).

Hapi 2: Praktikat

Njësia mund të mbahet me dorë, por kjo paraqet një mundësi të vogël të pasaktësive të vogla nëse njësia nuk mbahet në të njëjtin vend, dhe në të njëjtin kënd çdo herë. Ndërsa do të ishte vetëm një gabim shumë i vogël, dhe ndoshta as edhe një që do të regjistrohej, do të ishte një gjë e tillë që më shqetësoi.

Sidoqoftë, mbajtja me dorë prezanton mundësinë shumë më të madhe që gjëja e mallkuar të bjerë në rezervuar dhe të mos shihet kurrë më. Pra, për të zbutur të dyja këto mundësi, do të fiksohet në një gjatësi druri, e cila më pas vendoset mbi hapjen e rezervuarit - në mënyrë që matja të merret nga e njëjta lartësi dhe kënd çdo herë (dhe nëse është rënë në rezervuar, të paktën druri do të notojë).

Një buton aktivizon njësinë (duke eleminuar kështu nevojën për një ndezës/fikje dhe mundësinë e një baterie të rrafshuar aksidentalisht), dhe ndez skicën në Arduino. Kjo merr një numër leximesh nga HC-SR04 dhe merr mesataren e tyre (për të zbutur çdo lexim të çrregullt).

Unë gjithashtu përfshiva një pjesë të kodit për të kontrolluar nëse është e lartë ose e ulët në njërën nga kunjat dixhitale të hyrjes/daljes Arduino, dhe e përdor atë për ta vendosur njësinë në atë që unë e quaja 'Kalibrim'. Në këtë mënyrë, ekrani thjesht tregon distancën aktuale (të ndarë me 2) të kthyer nga sensori, kështu që unë mund të kontrolloj saktësinë e tij kundrejt një masë kasetë.

Hapi 3: Përbërësit

Njësia përbëhet nga tre përbërës kryesorë…

Imazhi
Imazhi
  1. Një modul transmetues/marrës tejzanor HC-SR04
  2. Një mikrokontrollues Arduino Pro Mini
  3. Një ekran LED me 4 shifra me 7 segmente ose një 'modul' të ekranit, siç është një TM1637

Të gjitha sa më sipër mund të gjenden lehtësisht në ebay, thjesht duke kërkuar termat e treguar me printim të theksuar.

Në këtë aplikacion, ekrani thjesht përdor 3 shifra për të shfaqur një vlerë % 0-100 ose 4 shifra për të treguar numrin e litrave (max 2000 në rastin tim), kështu që çdo ekran 4 shifror do të bëjë - nuk keni pse shqetësohuni nëse moduli ka pikë dhjetore ose dy pika. Një 'modul' i ekranit (LED i montuar në një bord dalës, me një çip ndërfaqeje) është më i lehtë, pasi përdor më pak lidhje pin, por një ekran LED i papërpunuar me 12 kunja mund të vendoset nga Arduino me disa modifikime të vogla në kod (në fakt modeli im origjinal u bazua në këtë konfigurim). Sidoqoftë, vini re se përdorimi i një ekrani LED të papërpunuar kërkon gjithashtu 7 rezistorë për të kufizuar rrymën e tërhequr nga secili segment. Më ndodhi të kisha në dispozicion një modul të ekranit të orës TM1637, kështu që vendosa ta përdor atë.

Pjesë dhe bobra shtesë përfshijnë një kapëse baterie 9v (dhe bateri, padyshim), një ndërprerës të çastit të butonit "shtytje për të bërë", një kuti projekti, kunja të kokës, tela lidhës dhe një gjatësi prej 2 "x4" druri që tejkalon diametri i hapjes së rezervuarit.

Pjesët dhe bobët shtesë (përveç copës së drurit) u blenë nga zinxhiri im i prizave elektronike për hobi, i cili është Jaycar në Australi. Unë imagjinoj që Maplin në Mbretërinë e Bashkuar do të ishte një alternativë e zbatueshme, dhe mendoj se ka disa në SHBA, të tilla si Digikey dhe Mouser. Për vendet e tjera, kam frikë se nuk e di, por jam i sigurt se nëse ju mungon një prizë e përshtatshme rrugore ose furnizues online në vendin tuaj, atëherë shitësit kinezë të ebay do të vijnë për ju, nëse nuk e dini mendja duke pritur disa javë për lindje (për ironi, pavarësisht se jemi një nga fqinjët tanë më të afërt, 6 javë ose më shumë nuk është e pazakontë për dërgimin në Australi nga Kina!).

Sigurohuni që të merrni një kuti projekti që është mjaft e madhe - mendova në timen para se të kisha komponentët në dispozicion, dhe është një shtrydhje vërtet e ngushtë - mund të më duhet të marr një buton tjetër të ndryshëm që përdor më pak hapësirë.

Oh, dhe meqë ra fjala, gjatësia e lëndës drusore sapo erdhi nga disa copëza që i mbaj në cepin e garazhit tim (si një shtëpi për më shumë nga ato merimangat e bukura).

Pasi të keni kuptuar skematikën dhe funksionalitetin, mund të vendosni të përshtatni versionin tuaj, dhe të përfshini një çelës on/off, ose të përdorni një burim energjie 18650 Li-Ion, me panel diellor dhe kontrollues të ngarkimit për ta mbajtur atë vazhdimisht të mbushur dhe gati për të shkuar, ose ndryshoni ekranin e thjeshtë LED për një LCD me shumë rreshta ose OLED grafik me më shumë opsione të shfaqjes së informacionit, të tilla si shfaqja e përqindjes DHE litrave të mbetur në të njëjtën kohë. Ose mund të shkoni për njësinë pa tela IoT të gjithë këngës, të gjithë vallëzimit të instaluar përgjithmonë në rezervuarin me karikim diellor. Do të doja të dëgjoja për ndryshimet dhe modifikimet tuaja.

Hapi 4: Testimi i Prototipit (dhe Kodit)

Pasi bleva HC-SR04 nga një burim i lirë kinez në ebay, nuk prisja të merrja një njësi jashtëzakonisht të saktë, kështu që doja ta provoja së pari në tabelën e bukës, në rast se do të më duhej të shtoja një kod korrigjimi të distancës në skica ime.

Në këtë pikë, unë po kërkoja informacione themelore se si të lidheni dhe përdorni HC-SR04, dhe duhet të pranoj udhëzimin e jsvester-it "Simple Arduino dhe HC-SR04 shembull". Shembulli dhe përvoja e tij ishin një pikënisje e shkëlqyer për mua për të filluar kodimin.

Kam gjetur bibliotekën e funksioneve NewPing për HC-SR04, e cila përfshin funksione të integruara për të marrë mesataren e leximeve të shumta, duke e bërë kështu kodin tim shumë më të thjeshtë.

Gjeta një bibliotekë edhe për modulin e ekranit të orës TM1637, i cili e bëri shfaqjen e numrave shumë më të thjeshtë. Në kodin tim origjinal (për ekranin 4-shifror të segmentit 7), më duhej ta ndaja numrin në shifra individuale, pastaj të ndërtoja çdo shifër individuale në ekran duke ditur se cilat segmente do të ndriçonin, dhe pastaj të lëvizja me biçikletë nëpër secilën shifër në numër, dhe ndërtimin e atij numri në shifrën e duhur të shfaqjes. Kjo metodë quhet multiplexim dhe shfaq në mënyrë efektive vetëm një shifër të vetme në të njëjtën kohë, por kalon nëpër to nga një shifër në tjetrën aq shpejt, saqë syri i njeriut nuk e vëren dhe ju mashtron të besoni se të gjitha shifrat janë të ndezura në të njëjtën kohë. Ashtu si me bibliotekën HC-SR04 që i bën operacionet e matjes më të lehta, kjo bibliotekë e ekranit kujdeset për të gjithë manipulimin dhe trajtimin e shifrave. Faqet e Referencës Arduino të lidhura më lart, japin disa shembuj, dhe natyrisht, çdo bibliotekë vjen me kodin shembull që mund të jetë një ndihmë e madhe.

Imazhi
Imazhi
Imazhi
Imazhi

n

Pra, fotografitë e mësipërme tregojnë pajisjen time të provës - unë jam duke e testuar atë në Arduino Uno për thjeshtësi, pasi tashmë është konfiguruar për lidhje të përkohshme të ripërdorshme për prototipizim. Njësia funksionon në modalitetin 'Kalibrimi' (vini re se kunja dixhitale 10 - tela e bardhë - është e lidhur me tokën) dhe lexon me saktësi 39 cm në kutinë që kisha vendosur rastësisht para saj, siç tregohet nga masa e shiritit. Në këtë mënyrë, unë shfaq 'c' të vogël përpara matjes, vetëm për të treguar se nuk është matja normale.

Përveç Vcc (5v) dhe Ground, HC -SR04 ka nevojë për 2 lidhje të tjera - këmbëzën (e verdhë në pin 6) dhe jehonë (jeshile në pin 7). Ekrani gjithashtu ka nevojë për Vcc (5v) dhe Ground, dhe 2 lidhje të tjera - orë (blu në pin 8) dhe DIO (vjollcë në pin 9). Siç është përmendur tashmë, mënyra e funksionimit kontrollohet nga një nivel i lartë ose i ulët në pin 10 (e bardhë). Lidhjet do të përdorin të njëjtat kunja në Arduino Pro Mini, por do të bashkohen përgjithmonë. Mënyra e funksionimit do të zgjidhet duke përdorur një kërcyes në dy nga tre kunjat e kokës, të lidhura me Vcc, pin 10 dhe tokëzimin përkatësisht.

Karakteristikat zyrtare për HC -SR04 pretendojnë diçka si një gabim maksimal prej vetëm 3 milimetra deri në distancën maksimale të projektuar të funksionimit prej 4 metrash, kështu që imagjinoni surprizën time kur zbulova se njësia ime me siguri ishte e saktë në atë shkallë deri në 2 metra - e cila është shumë më tepër se sa kam nevojë. Për shkak të hapësirës së kufizuar për një konfigurim të shpejtë dhe të ndotur të testit, rezultatet e mia të testit përtej asaj distance po korruptoheshin nga reflektimet nga sipërfaqet e tjera nga objektivi im i provës, pasi rrezja nga transmetuesi u përhap dhe u mor në një zonë më të gjerë. Por për sa kohë që është mirë deri në 1.5 metra - kjo do të më bëjë mirë, faleminderit shumë:-)

Hapi 5: Skica Ino e matësit të ujit të shiut

Kodi i plotë është i bashkangjitur, por unë do të përfshij disa ekstrakte më poshtë për të shpjeguar disa nga hapat.

Para së gjithash, konfigurimi…

#përfshi

#include #include // kunjat për HC-SR04 #përcaktoni pinTrig 6 #përcaktoni pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400cms është maksimumi për HC-SR04, 155cms është max për rezervuarin // Kunjat e lidhjes së Modulit LED (Kunjat Dixhital) #define CLK 8 #define DIO 9 TM1637Dhfaqja e ekranit (CLK, DIO); // Kunjat e tjera #përcakto opMode 10

Si dhe bibliotekat TM1637 dhe NewPing, kam përfshirë edhe një bibliotekë të Matematikës, e cila më jep akses në funksionin e "rrumbullakimit". Unë e përdor këtë në disa nga matematikat për të më lejuar të shfaq përqindjen në 5% më të afërt për shembull.

Më pas përcaktohen kunjat për dy pajisjet dhe pajisjet fillojnë.

Së fundi, unë përcaktoj pin 10 për mënyrën e funksionimit.

// fikni të gjithë segmentet për të gjitha shifrat

uint8_t bytes = {0x00, 0x00, 0x00, 0x00}; display.setSegmente (byte);

Ky seksion i kodit demonstron një mënyrë për të kontrolluar modulin e ekranit, duke lejuar kontrollin individual të secilit segment në secilën shifër. Unë i kam vendosur 4 elementët në grupin e quajtur bytes, që të gjithë të jenë zero. Kjo do të thotë që çdo bit i secilit bajt është zero. 8 bitët përdoren për të kontrolluar secilin nga 7 segmentet dhe pikën dhjetore (ose zorrën e trashë në një ekran të tipit të orës). Pra, nëse të gjitha bitët janë zero, atëherë asnjë nga segmentet nuk do të ndizet. Operacioni setSegment dërgon përmbajtjen e grupit në ekran dhe nuk tregon (në këtë rast) asgjë. Të gjitha segmentet janë të fikura.

Imazhi
Imazhi

Bit -i më domethënës në një bajt kontrollon PD, dhe pastaj 7 bitët e mbetur kontrollojnë 7 segmentet nga G në A në mënyrë të kundërt. Pra, për të shfaqur numrin 1 për shembull, kërkon segmente B dhe C, kështu që përfaqësimi binar do të ishte '0b00000110'. (Faleminderit CircuitsToday.com për imazhin e mësipërm).

// Merrni 10 lexime dhe përdorni kohëzgjatjen mesatare.

kohëzgjatja int = sonar.ping_median (10); // kohëzgjatja është në mikrosekonda nëse (kohëzgjatja == 0) // Gabimi në matje - jokonkluzive ose pa jehonë {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmentet për të shqiptuar "Err" display.setSegments (bytes); }

Këtu, unë po i them HC-SR04 që të marrë 10 lexime dhe të më japë rezultatin mesatar. Nëse asnjë vlerë nuk kthehet, atëherë njësia është jashtë rrezes. Unë pastaj përdor të njëjtën teknikë si më sipër për të kontrolluar segmente të veçanta në 4 shifra, për të shkruar shkronjat (bosh), E, r dhe r. Përdorimi i shënimit binar e bën pak më të lehtë lidhjen e pjesëve individuale me segmentet.

Hapi 6: Ngarkimi i kodit në një Arduino Pro Mini (pa USB)

Siç thashë më herët, artikujt nga shitësit kinezë të ebay shpesh marrin 6 javë ose më shumë për të mbërritur, dhe shumë nga prototipet e mia dhe shkrimi i kodeve u bënë ndërsa prisja që të mbërrinin disa nga përbërësit - Arduino Pro Mini ishte një prej tyre.

Një gjë që nuk e vura re në lidhje me Pro Mini, derisa ta kisha porositur tashmë, është se nuk ka një port USB për të shkarkuar skicën. Pra, pas një googlimi të furishëm, zbulova se ka dy mënyra për të ngarkuar një skicë në këtë rast - njëra kërkon një kabllo të veçantë që shkon nga USB në kompjuterin tuaj, në 6 kunja specifike në Pro Mini. Ky grup prej 6 kunjash njihet si kunjat e ISP -së (programuesi në sistem), dhe ju mund ta përdorni këtë metodë në çdo Arduino nëse dëshironi - por pasi ndërfaqja USB është e disponueshme në pothuajse të gjitha variantet e tjera të Arduino (I mendoni), përdorimi i atij opsioni është shumë më i thjeshtë. Metoda tjetër kërkon që ju të keni një Arduino tjetër me një ndërfaqe USB në të, për të vepruar si një 'ndërmjetës'.

Për fat të mirë, të kesh Arduino Uno do të thoshte se mund të përdor metodën e dytë, të cilën do ta përshkruaj për ty më poshtë. Quhet përdorimi i 'Arduino si ISP'. Me pak fjalë, ju ngarkoni një skicë të veçantë në Arduino tuaj "ndërmjetës", që e kthen atë në një Ndërfaqe Seriale. Pastaj ngarkoni skicën tuaj aktuale, por në vend të opsionit normal të ngarkimit, përdorni një opsion nga menyja IDE që ngarkon 'duke përdorur Arduino si ISP'. Arduino "ndërmjetës" pastaj merr skicën tuaj aktuale nga IDE dhe e kalon atë në kunjat e ISP-së të Pro Mini, në vend që ta ngarkojë atë në kujtesën e vet. Nuk është e vështirë sapo të kuptoni se si funksionon, por është një shtresë shtesë e kompleksitetit që mund të dëshironi të shmangni. Nëse është kështu, ose nuk keni një Arduino tjetër që mund ta përdorni si "ndërmjetës", atëherë mund të dëshironi të blini një Arduino Nano, ose një nga modelet e tjera të vogla të faktorit të formës, që përfshin ndërfaqen USB dhe e bën programimin një perspektivë më të thjeshtë.

Këtu janë disa burime që mund të gjeni të dobishme për të kuptuar procesin. Referenca Arduino i referohet në mënyrë specifike djegies së një ngarkuesi të ri në pajisjen e synuar, por po aq lehtë mund të ngarkoni një skicë në të njëjtën mënyrë. Kam gjetur se videoja e Julian Ilett e bën konceptin shumë më të qartë, megjithëse ai kapërcen pjesën në referencën Arduino që shpjegon se si të lidhni të dy Arduinos së bashku, dhe në vend të kësaj programon një çip të zhveshur në një dërrasë buke.

  • Manuali i Referencës Arduino - Përdorimi i Arduino si ISP
  • Videoja e Julian Ilett në YouTube - Përdorimi i një Arduino si ISP

Meqenëse Pro Mini nuk ka 6 kunjat e ISP -së të grupuar në mënyrë të përshtatshme së bashku, duhet të deshifroni se cilat kunja dixhitale lidhen me 4 kunjat e programimit (dy lidhjet e tjera janë vetëm Vcc dhe Gnd - kështu që janë mjaft të drejtpërdrejta). Për fatin tuaj të mirë, unë tashmë e kam kaluar këtë - dhe jam i gatshëm të ndaj njohuritë me ju - sa njeri bujar jam !!

Arduino Uno, dhe shumë të tjerë në familjen Arduino, kanë 6 kunjat të rregulluar me dorë në një bllok 3x2, si ky (imazhi nga www.arduino.cc).

Imazhi
Imazhi

Fatkeqësisht, Pro Mini jo. Siç mund ta shihni më poshtë, ato janë në të vërtetë mjaft të lehta për tu identifikuar dhe akoma janë rregulluar në 2 blloqe me 3 kunja. MOSI, MISO dhe SCK janë të njëjta me kunjat dixhitale 11, 12 dhe 13 respektivisht në Pro Mini dhe Arduino Uno, dhe për programimin e ISP -së, thjesht lidhni 11 me 11, 12 me 12 dhe 13 me 13. Pro Pini Mini Reset duhet të lidhet me Uno pin 10, dhe Pro Mini Vcc (5v)/Ground duhet të lidhet me Arduino +5v/Ground. (Imazhi nga www.arduino.cc)

Imazhi
Imazhi

Hapi 7: Asambleja

Kuvendi
Kuvendi

Siç e përmenda, mora pjesë në këtë rast dhe u pendova. Për të përshtatur të gjithë përbërësit ishte një shtrydhje e vërtetë. Në fakt më duhej të lakoja kontaktet e butonit të shtytjes anash, dhe të vendosja paketë në pjesën e jashtme për ta ngritur edhe pak më tej në mënyrë që të përshtatet në thellësinë e kutisë, dhe më duhej të bluaja 2-3 mm nga secila anë e bordi i modulit të ekranit që të përshtatet gjithashtu.

Kam shpuar 2 vrima në kasë për të depërtuar sensorët tejzanor. I shpova vrimat pak shumë të vogla dhe pastaj gradualisht i rrita duke përdorur një mulli të vogël rrotullues, kështu që unë mund t'i bëj ato të jenë një 'përshtatje shtytëse' e bukur. Fatkeqësisht, ata ishin shumë pranë anëve për të qenë në gjendje të përdorin mulli nga brenda kutisë, dhe kjo duhej bërë nga jashtë, duke rezultuar në shumë gërvishtje dhe shenja të patinazhit ku mulli rrëshqiti - oh mirë, kjo është e gjitha në fund gjithsesi - kujt i intereson..?

Unë pastaj prerë një vend në njërën anë që është madhësia e duhur për të shfaqur ekranin. Përsëri - supozimi im për madhësinë e kutisë më kafshoi në pjesën e pasme, pasi vendi më la me një pjesë shumë të hollë mbi ekran, e cila në mënyrë të pashmangshme u prish ndërsa e regjistroja pa probleme. Epo - kjo është ajo për të cilën u krijua super -zam…

Së fundi, me të gjithë përbërësit e vendosur përafërsisht në kuti, unë mata se ku ta vendosja vrimën në kapak, në mënyrë që trupi i butonit të shtypjes të binte në hapësirën përfundimtare të disponueshme. VETEM !!!

Tjetra, i bashkova të gjithë përbërësit së bashku për të provuar se të gjithë ende punonin pas lakimit, bluarjes dhe prerjes sime, para se t'i montoja të gjitha në kasë. Ju mund të shihni lidhjen e kërcyesit vetëm nën modulin e ekranit, me pin 10 në Arduino (plumbi i bardhë) i lidhur me Gnd, duke e vendosur kështu njësinë në modalitetin e kalibrimit. Ekrani lexon 122 centimetra lart nga stoli im - duhet të ketë marrë një sinjal të reflektuar nga pjesa e sipërme e kornizës së dritares (është shumë e ulët për të qenë tavani).

Imazhi
Imazhi

Atëherë ishte një rast i thyerjes së armës së zamit të nxehtë, dhe mbathjes së këpucëve të gjithë përbërësve në vend. Pasi e bëra këtë, zbulova se hapësira e vogël midis pjesës së sipërme të modulit të ekranit dhe kapakut, pasi moduli ishte ngjitur në vend, la pak fryrje ku kapaku nuk do të përshtatet aq fort sa do të doja Me Mund të përpiqem të bëj diçka për këtë një ditë - ose më shumë gjasa, nuk do të…

Imazhi
Imazhi

Hapi 8: Neni i Përfunduar

Pas disa testeve pas montimit, dhe një korrigjimi në kodin tim për të llogaritur thellësinë e copës së drurit që e kisha vidhosur pajisjen (të cilën e kisha anashkaluar plotësisht në llogaritjet e mia - d'oh !!), gjithçka është bërë Me Më në fund!

Testimi i mbledhur

Me njësinë vetëm ulur me fytyrë poshtë në stolin tim, padyshim që nuk do të ketë sinjal të reflektuar, kështu që njësia tregon saktë një gjendje gabimi. E njëjta gjë do të ishte e vërtetë nëse sipërfaqja më e afërt reflektuese është përtej rrezes së njësisë.

Imazhi
Imazhi

Duket se nga stoli im deri në dysheme është 76 cm (mirë, 72 cm plus thellësinë 4 cm të copës së drurit).

Imazhi
Imazhi

Pjesa e poshtme e njësisë, që tregon transmetuesin dhe marrësin të dalë mbi copën e drurit - me të vërtetë nuk duhet ta quaj më një copë druri - tani e tutje do të quhet Platforma e Stabilizimit dhe Vendosjes së Saktësisë! Fatmirësisht, kjo është ndoshta hera e fundit që do ta përmend;-)

Ooh - ju mund të shihni të gjitha ato gërvishtje të këqija dhe shenja patina në këtë …

Imazhi
Imazhi

… Dhe këtu është artikulli i përfunduar, i vendosur në mënyrë normale të funksionimit, duke matur në fakt kapacitetin e rezervuarit tim në 5%më të afërt. Ishte një pasdite (shumë) me shi të së dielës që më pa ta përfundoja këtë projekt, kështu pikat e shiut në njësi dhe leximin shumë të këndshëm 90%.

Imazhi
Imazhi

Shpresoj se ju ka pëlqyer të lexoni këtë udhëzues dhe se keni mësuar pak rreth programimit Arduino, fizikës dhe përdorimit të reflektimit sonar/tejzanor, kurthet e përdorimit të supozimeve në planifikimin e projektit tuaj dhe se jeni frymëzuar të bëni matësin e rezervuarit të ujit të shiut - dhe pastaj instaloni një rezervuar me ujë shiu për ta përdorur atë, ndërsa ndihmoni pak mjedisin dhe kurseni në faturën tuaj të ujit.

Ju lutemi lexoni - për atë që ndodhi ditën tjetër …!

Hapi 9: Postscript - Njëqind (dhe Pesë) Përqind?

Pra, të hënën pas të dielës me shi, rezervuari ishte absolutisht aq i plotë sa mund të ishte. Meqenëse është një nga shumë të paktat herë që e kam parë atë plotësisht të plotë, mendova se do të ishte koha ideale për të matur matësin, por mendoni se çfarë - ai u regjistrua si 105%, kështu që padyshim që kishte diçka që nuk shkonte.

Unë dola nga stilolapsi dhe zbulova se supozimet e mia origjinale prej 140 cm si thellësia maksimale e ujit dhe 16 cm hapësirë për kokën (bazuar në supozimet vizuale të bëra nga jashtë rezervuarit), ishin të dyja pak nga matjet aktuale. Kështu i armatosur me të dhënat e vërteta për standardin tim 100%, unë kam qenë në gjendje të ndryshoj kodin tim dhe të ringarkoj Arduino.

Thellësia maksimale e ujit rezulton të jetë 147 cm, me pikën e matjes të ulur në 160 cm, duke dhënë 13 cm hapësirë për kokën (shuma e hapësirës së kokës brenda rezervuarit, lartësia e qafës së rezervuarit dhe thellësia e pjesës së… ua, jo, çfarë?! E kam fjalën për thellësinë e Platformës së Stabilizimit dhe Vendosjes së Precizionit!).

Pas korrigjimit të variablave maxDepth dhe headroom në përputhje me rrethanat, si dhe rivendosjen e diapazonit maksimal të objektit të sonarit në 160 cm, një ritestim i shpejtë tregoi 100% që zbriti në 95% ndërsa e ngrita matësin pak (për të simuluar një sasi të vogël të uji i përdorur).

Punë e kryer!

PS - kjo është përpjekja ime e parë në një udhëzues. Nëse ju pëlqen stili im, sensi i humorit, ndershmëria për të pranuar gabimet (hej - edhe unë nuk jam perfekte …), etj - më njoftoni dhe kjo mund të më japë shtysë për të bërë një tjetër.

Hapi 10: Mendimet e mëvonshme

Kapaciteti i shfrytëzueshëm

Kështu kanë kaluar disa javë që kur kam botuar këtë Instructable, dhe kam pasur shumë komente në përgjigje, disa prej të cilave kanë sugjeruar disa mekanizma alternativë - elektronikë dhe manualë. Por kjo më bëri të mendoj, dhe ka diçka që ndoshta duhet ta kisha vënë në dukje në fillim.

  • Rezervuari im ka një pompë, e cila është e instaluar në nivelin e tokës - pak më poshtë bazës së rezervuarit. Meqenëse pompa është pika më e ulët në sistem, dhe uji nga pompa është nën presion, unë mund të përdor kapacitetin e plotë të rezervuarit tim.
  • Sidoqoftë - nëse rezervuari juaj nuk ka një pompë dhe mbështetet në ushqimin e gravitetit, atëherë kapaciteti efektiv i rezervuarit është i kufizuar nga lartësia e rubinetit tuaj. Pasi uji i mbetur në rezervuarin tuaj të jetë më i ulët se rubineti, atëherë nuk do të rrjedhë ujë.

Pra, pavarësisht nëse jeni duke përdorur një matës elektronik, ose një xham manual, ose një sistem të tipit notues dhe flamur, thjesht kini parasysh se pa pompë, 'baza' efektive e rezervuarit tuaj është në të vërtetë lartësia e daljes së rezervuarit ose trokitje e lehtë

Recommended: