Satura rādītājs:

Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs: 10 soļi (ar attēliem)
Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs: 10 soļi (ar attēliem)

Video: Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs: 10 soļi (ar attēliem)

Video: Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs: 10 soļi (ar attēliem)
Video: Siltumsūkņu efektivitātes uzlabošana 22.10.2014 2024, Novembris
Anonim
Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs
Ultraskaņas lietus ūdens tvertnes tilpuma mērītājs

Ja jūs esat kaut kas līdzīgs man un jums ir videi draudzīga sirdsapziņa (vai arī jūs vienkārši gribat ietaupīt dažus dolārus - kas arī esmu es …), jums var būt lietus ūdens tvertne. Man ir tvertne, lai novāktu diezgan reti lietus, ko mēs saņemam Austrālijā - bet zēns, puika, kad šeit līst, tad PATIESI līst! Mana tvertne ir apmēram 1,5 metrus augsta un atrodas uz cokola, kas nozīmē, ka man ir jāizkāpj, lai pārbaudītu ūdens līmeni (vai - tā kā esmu tik slinks, nedroši balansējiet virs vecās gāzes pudeles no grila, kas tagad ir pastāvīga dzīvesvieta kā “solis” blakus tvertnei).

Es gribēju kaut kādā veidā pārbaudīt ūdens līmeni tvertnē, bez kāpšanas un ar vienu roku karājoties pie notekcaurules (vienlaikus uztraucoties par to, kādi zirnekļi varētu būt aiz tā - jūs esat dzirdējuši par Austrālijas zirnekļiem - vai ne?) … Tātad, atjaunojoties interesei par elektroniku un par lētiem Arduino kloniem no Ķīnas ebay, es nolēmu izveidot “logrīku”, lai paveiktu šo darbu manā vietā.

Tagad manu “sapņu” logrīku vajadzēja pastāvīgi uzstādīt tvertnē, izmantot ar saules enerģiju uzlādētu barošanas avotu ar tālvadības rādījumu manā garāžā vai varbūt bezvadu raidītāju, izmantojot Bluetooth, ko es varētu pārbaudīt no sava tālruņa, vai varbūt pat ESP tipa ierīce, kas mitina automātiski atjauninātu tīmekļa lapu, lai es varētu pārbaudīt ūdens līmeni tvertnē no jebkuras vietas pasaulē, izmantojot internetu … bet tiešām - kāpēc man tas viss ir vajadzīgs? Tāpēc es mazliet (labi, diezgan ievērojami) atzvanīju saviem lielajiem ideāliem un novērsu risinājuma bezvadu savienojumu, pastāvīgi uzstādīto, saules uzlādi un iespēju pārbaudīt tvertnes līmeni no aizmugures (vienmēr pieņemot, ka aizmugures aizmugurē ir pieejams WiFi, tas ir …)

Iegūtais projekts tika pārvērsts par rokas ierīci, kas redzama iepriekš, un to var vienkārši turēt virs tvertnes atveres un aktivizēt ar spiedpogu, ar digitālu nolasījumu, ko var nolasīt no zemes - daudz praktiskāk.

Solis: matemātika…

Pēc rotaļām ar vairākām idejām par ūdens līmeņa noteikšanu - es nolēmu par sava logrīka pamatu izmantot ultraskaņas raidītāju/uztvērēju un izmantot Arduino, lai veiktu rādījumus un veiktu visas matemātikas. No sensora atgrieztie rādījumi (netieši) ir attāluma veidā - no ultraskaņas sensora līdz virsmai, no kuras tas ir atlecis (ūdens virsma - vai tvertnes apakšdaļa, ja tā ir tukša), un atpakaļ, tāpēc mums ir nepieciešams veikt dažas darbības, lai sasniegtu tvertnē atlikušo procentuālo daļu.

NB! Patiesībā no sensora atgrieztā vērtība patiešām ir tikai laiks, kas vajadzīgs, lai signāls atstātu emitenta pusi un atgrieztos uztvērējā. Tas notiek mikrosekundēs, taču, zinot skaņas ātrumu, tas ir 29 mikrosekundes uz cm (Ko? Jūs to nezinājāt? Pfft …), ir viegli pārvērst laika periodu par attāluma mērīšanu.

Attēls
Attēls

Vispirms - protams, mums ir jāsadala attālums ar 2, lai iegūtu sensoru līdz virsmas attālumam. Pēc tam atņemiet nemainīgo attālumu no sensora līdz maksimālajam ūdens dziļumam. Atlikušā vērtība ir izmantotā ūdens dziļums. Pēc tam atņemiet šo vērtību no maksimālā ūdens dziļuma, lai atrastu tvertnē palikušā ūdens dziļumu.

Šī vērtība ir pamats jebkādiem citiem aprēķiniem, piemēram, aprēķinot šo ūdens dziļumu procentos no maksimālā dziļuma vai reizinot dziļumu ar nemainīgu “virsmas laukumu”, lai iegūtu ūdens daudzumu, ko var parādīt litros (vai galonos vai jebkurā citā vienībā - ja vien jūs zināt matemātiku, lai to izdarītu - vienkāršības labad es ievēroju procentus).

2. solis: Praktiskās iespējas

Ierīci var turēt rokā, taču tas rada nelielu nelielu neprecizitāšu iespēju, ja vienība netiek turēta vienā vietā un katru reizi vienā leņķī. Lai gan tā būtu tikai neliela kļūda, un, iespējams, pat ne tā, kas tiktu reģistrēta, tā būtu tāda lieta, kas mani aizskāra.

Tomēr, turot to rokās, rodas daudz lielāka iespēja, ka sasodītā lieta tiks iemesta tvertnē un nekad vairs nebūs redzama. Tātad, lai mazinātu abas šīs iespējas, tas tiks piestiprināts pie koka garuma, kas pēc tam tiek novietots virs tvertnes atveres, lai mērījums tiktu veikts no tāda paša augstuma un leņķa katru reizi (un, ja tas IR nokritis tvertne, vismaz koks peldēs).

Nospiežot pogu, tiek aktivizēta iekārta (tādējādi izslēdzot ieslēgšanas/izslēgšanas slēdzi, kā arī nejauši izlādējusies baterija), un ieslēdz Arduino skici. Tas aizņem vairākus nolasījumus no HC-SR04 un ņem vidējo no tiem (lai mazinātu nepareizus rādījumus).

Es arī iekļāvu mazliet koda, lai pārbaudītu, vai vienā no Arduino digitālajām I/O tapām ir augsts vai zems līmenis, un izmantoju to, lai ierīci ieslēgtu tā sauktajā “kalibrēšanas” režīmā. Šajā režīmā displejs vienkārši parāda sensora atgriezto faktisko attālumu (dalīts ar 2), lai es varētu pārbaudīt tā precizitāti pret mērlenti.

3. solis: Sastāvdaļas

Iekārta sastāv no trim galvenajām sastāvdaļām…

Attēls
Attēls
  1. HC-SR04 ultraskaņas raidītāja/uztvērēja modulis
  2. Arduino Pro Mini mikrokontrolleris
  3. Četrciparu 7 segmentu LED displejs vai displeja “modulis”, piemēram, TM1637

Visu iepriekš minēto var viegli atrast ebay, vienkārši meklējot treknrakstā parādītos terminus.

Šajā lietojumprogrammā displejs vienkārši izmanto 3 ciparus, lai parādītu % vērtību 0–100 vai 4 ciparus, lai parādītu litru skaitu (manā gadījumā ne vairāk kā 2000), tāpēc jebkurš 4 ciparu displejs būs piemērots - jums tas nav jādara jāuztraucas par to, vai modulim ir aiz komata vai kolu. Displeja “modulis” (LED, kas uzstādīts uz sadalīšanas paneļa, ar saskarnes mikroshēmu) ir vieglāks, jo tas izmanto mazāk tapu savienojumu, bet Arduino var ievietot neapstrādātu LED displeju ar 12 tapām ar nelielām koda izmaiņām (patiesībā mans sākotnējais dizains balstījās uz šo iestatījumu). Tomēr ņemiet vērā, ka neapstrādāta LED displeja izmantošanai nepieciešami arī 7 rezistori, lai ierobežotu katra segmenta ievilkto strāvu. Man bija pieejams TM1637 pulksteņa displeja modulis, tāpēc nolēmu to izmantot.

Papildu uzgaļi un bobi ietver 9V akumulatora skavu (un acīmredzami akumulatoru), īslaicīgu spiedpogu slēdzi “push-to-make”, projekta kārbu, galvenes tapas, savienojošos vadus un 2 x 4 collu koka garumu, kas pārsniedz tvertnes atveres diametrs.

Papildu uzgaļi un bobi (izņemot kokmateriālu gabalu) tika iegādāti no manas vietējās hobiju elektronikas tirdzniecības vietas ķēdes - kas ir Jaycar Austrālijā. Es domāju, ka Maplin Apvienotajā Karalistē būtu dzīvotspējīga alternatīva, un es domāju, ka ASV ir daži, piemēram, Digikey un Mouser. Es baidos, ka citās valstīs es nezinu, bet esmu pārliecināts, ka, ja jums trūkst piemērotas tirdzniecības vietas vai tiešsaistes piegādātāja jūsu valstī, tad ķīniešu ebay pārdevēji jums palīdzēs, ja jūs to nedarīsit prātā gaidīt dažas nedēļas līdz piegādei (ironiski, neskatoties uz to, ka esam viena no mūsu tuvākajām kaimiņvalstīm, 6 nedēļas vai vairāk nav nekas neparasts piegādei uz Austrāliju no Ķīnas!).

Pārliecinieties, ka esat ieguvis pietiekami lielu projekta lodziņu - pirms komponentu pieejamības es uzminēju, ka tas ir patiešām saspringts -, iespējams, man vajadzēs iegūt citu spiedpogu, kas izmanto mazāk vietas.

Ak, un, starp citu, kokmateriālu garums tikko radās no dažiem metāllūžņu atgriezumiem, kurus es glabāju savas garāžas stūrī (kā mājvieta vairākiem šiem jaukiem zirnekļiem).

Tiklīdz jūs saprotat tās veidojošās īpašības un funkcionalitāti, varat nolemt pielāgot savu versiju un iekļaut ieslēgšanas/izslēgšanas slēdzi vai izmantot 18650 litija jonu barošanas avotu ar saules paneli un uzlādes kontrolieri, lai tas pastāvīgi tiktu papildināts un gatavs lietošanai, vai arī nomainiet vienkāršo LED displeju uz vairāku rindu LCD vai grafisko OLED ar vairāk informācijas displeja opcijām, piemēram, parādot atlikušos procentus UN litrus vienlaikus. Vai arī jūs varat izmantot visu dziedošo, dejojošo bezvadu IoT vienību, kas pastāvīgi uzstādīta tvertnē ar saules uzlādi. Es gribētu dzirdēt par jūsu izmaiņām un izmaiņām.

4. darbība. Prototipa (un koda) pārbaude

Iegādājoties HC-SR04 no lēta ķīniešu avota ebay, es patiešām negaidīju, ka saņemšu ļoti precīzu vienību, tāpēc es vispirms vēlējos to pārbaudīt uz maizes dēļa, ja man vajadzētu pievienot kādu attāluma korekcijas kodu mana skice.

Šajā brīdī es meklēju pamatinformāciju par to, kā izveidot savienojumu un lietot HC-SR04, un man jāatzīst jsvester pamācāmā "Vienkāršā Arduino un HC-SR04 piemērs". Viņa piemērs un pieredze man bija lielisks sākumpunkts, lai sāktu kodēšanu.

Es atradu NewPing funkciju bibliotēku HC-SR04, kas ietver iebūvētu funkcionalitāti, lai ņemtu vairāku lasījumu vidējo vērtību, tādējādi padarot manu kodu daudz vienkāršāku.

Es atradu arī bibliotēku TM1637 pulksteņa displeja modulim, kas padarīja skaitļu parādīšanu daudz vienkāršāku. Sākotnējā kodā (četrciparu 7 segmentu displejam) man bija jāsadala numurs atsevišķos ciparos, pēc tam jāveido katrs atsevišķs cipars displejā, zinot, kurus segmentus izgaismot, un pēc tam riteņbraukšana caur katru numura ciparu un izveidojot šo numuru uz atbilstošā displeja cipara. Šo metodi sauc par multipleksēšanu, un tā efektīvi parāda tikai vienu ciparu vienlaikus, bet cikliski pārvietojas no viena cipara uz otru tik ātri, ka cilvēka acs to nepamana un liek jums noticēt, ka visi cipari ir tajā pašā laikā. Tāpat kā HC-SR04 bibliotēka, kas atvieglo mērīšanas darbības, šī displeja bibliotēka rūpējas par visu multipleksēšanu un ciparu apstrādi. Arduino atsauces lapas, kas saistītas ar iepriekš minēto, sniedz dažus piemērus, un, protams, katrai bibliotēkai ir koda paraugs, kas var lieliski palīdzēt.

Attēls
Attēls
Attēls
Attēls

n

Tātad, iepriekš redzamajos attēlos ir redzama mana testa iekārta - vienkāršības labad es to testēju savā Arduino Uno, jo tas jau ir iestatīts pagaidu atkārtoti izmantojamiem savienojumiem prototipēšanai. Iekārta šeit darbojas “kalibrēšanas” režīmā (ievērojiet, ka 10. ciparu tapa - balta stieple - ir pievienota zemei) un precīzi nolasa 39 cm lodziņu, kuru es nejauši ievietoju tās priekšā, kā parādīts mērlentē. Šajā režīmā pirms mērījuma es parādīšu mazo “c”, lai norādītu, ka tas nav parasts mērījums.

Tāpat kā Vcc (5v) un Ground, HC -SR04 ir nepieciešami 2 citi savienojumi - sprūda (dzeltena līdz 6. tapai) un atbalss (zaļa līdz 7. tapai). Displejam ir nepieciešams arī Vcc (5v) un Ground, un vēl 2 savienojumi - pulkstenis (zils līdz 8. tapai) un DIO (purpursarkans līdz 9. tapai). Kā jau minēts, darbības režīmu kontrolē augsts vai zems tapas 10 (balts). Savienojumos tiks izmantotas tās pašas tapas Arduino Pro Mini, taču tās tiks pastāvīgi lodētas. Darbības režīmu varēs izvēlēties, izmantojot džemperi divās no trim galvenes tapām, kas savienotas ar Vcc, 10. tapu un zemi.

Oficiālās specifikācijas HC -SR04 apgalvo, ka maksimālā kļūda ir tikai 3 milimetri līdz maksimālajam paredzētajam 4 metru darbības attālumam, tāpēc iedomājieties manu pārsteigumu, konstatējot, ka mana ierīce noteikti bija precīza līdz 2 metriem - kas krietni pārsniedz man nepieciešamo. Sakarā ar ierobežoto vietu ātrai un netīrai testa iestatīšanai, manus testa rezultātus, kas pārsniedz šo attālumu, sabojāja atstarojumi no virsmām, kas nav mans testa mērķis, jo raidītāja stars izplatījās un ieņēma plašāku platību. Bet, kamēr ir labi līdz 1,5 metriem - tas man labi noderēs, liels paldies:-)

5. solis: lietus ūdens mērītāja ino skice

Pilns kods ir pievienots, bet es pievienošu dažus izvilkumus, lai izskaidrotu dažas darbības.

Pirmkārt, iestatīšana…

#iekļaut

#include #include // tapas HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400 cm ir maksimums HC-SR04, 155 cm ir maksimālais tvertnei // LED moduļa savienojuma tapas (digitālās tapas) #define CLK 8 #define DIO 9 TM1637Displeja displejs (CLK, DIO); // Citas tapas #define opMode 10

Tāpat kā TM1637 un NewPing bibliotēkas, esmu iekļāvis arī matemātikas bibliotēku, kas ļauj piekļūt noapaļošanas funkcijai. Es to izmantoju dažās matemātikas programmās, lai, piemēram, varētu parādīt procentus ar precizitāti līdz 5%.

Tālāk tiek definētas abu ierīču tapas un uzsāktas ierīces.

Visbeidzot, es definēju 10. tapu darbības režīmam.

// izslēdziet visus segmentus visiem cipariem

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

Šī koda sadaļa parāda vienu veidu, kā kontrolēt displeja moduli, ļaujot individuāli kontrolēt katru segmentu katrā ciparā. Esmu iestatījis 4 elementus masīvā, ko sauc par baitiem, lai visi būtu nulle. Tas nozīmē, ka katrs katra baita bits ir nulle. 8 biti tiek izmantoti, lai kontrolētu katru no 7 segmentiem un aiz komata (vai kolu pulksteņa tipa displejā). Tātad, ja visi biti ir nulle, tad neviens no segmentiem netiks iedegts. Operācija setSegments nosūta displeja masīva saturu un nerāda (šajā gadījumā) neko. Visi segmenti ir izslēgti.

Attēls
Attēls

Vissvarīgākais bits baitā kontrolē DP, un pēc tam atlikušie 7 biti kontrolē 7 segmentus no G līdz A apgrieztā secībā. Piemēram, lai parādītu skaitli 1, nepieciešami segmenti B un C, tāpēc binārais attēlojums būtu '0b00000110'. (Paldies CircuitsToday.com par attēlu iepriekš).

// Veikt 10 rādījumus un izmantot vidējo ilgumu.

int ilgums = sonārs.ping_median (10); // ilgums ir mikrosekundēs, ja (ilgums == 0) // Mērīšanas kļūda - nepārliecinoša vai nav atbalss {uint8_t baiti = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmenti, lai rakstītu "Err" display.setSegments (baiti); }

Šeit es saku HC-SR04 veikt 10 rādījumus un parādīt vidējo rezultātu. Ja vērtība netiek atgriezta, vienība ir ārpus diapazona. Pēc tam es izmantoju to pašu tehniku, kas aprakstīta iepriekš, lai kontrolētu konkrētus 4 ciparu segmentus, lai izrakstītu burtus (tukšs), E, r un r. Izmantojot bināro apzīmējumu, ir nedaudz vieglāk saistīt atsevišķos bitus ar segmentiem.

6. darbība: koda ielāde Arduino Pro Mini (bez USB)

Kā jau teicu iepriekš, Ķīnas ebay pārdevēju preces bieži tiek piegādātas 6 nedēļas vai ilgāk, un daudzi mani prototipi un koda rakstīšana tika veikta, gaidot dažu komponentu ierašanos - Arduino Pro Mini ir viens no tiem.

Viena lieta, ko es nepamanīju par Pro Mini, kamēr es to jau nebiju pasūtījis, ir tas, ka tajā nav USB porta skices lejupielādēšanai. Tātad, pēc izmisīgas googlēšanas es atklāju, ka šajā gadījumā ir divi veidi, kā ielādēt skici - vienam ir nepieciešams īpašs kabelis, kas iet no datora USB, līdz 6 īpašām tapām Pro Mini. Šī 6 tapu grupa ir pazīstama kā ISP (sistēmas programmētāja) tapas, un jūs faktiski varat izmantot šo metodi jebkurā Arduino, ja vēlaties - bet, tā kā USB interfeiss ir pieejams gandrīz visos pārējos Arduino variantos (I domā), izmantojot šo iespēju, ir daudz vienkāršāk. Cita metode prasa, lai jums būtu cits Arduino ar USB interfeisu, lai tas darbotos kā “starpnieks”.

Par laimi, mana Arduino Uno iegūšana nozīmēja, ka es varētu izmantot otro metodi, kuru es jums izklāstīšu tālāk. To sauc par “Arduino kā ISP”. Īsāk sakot, jūs ievietojat īpašu skici savā Arduino starpā, kas to pārvērš par sērijas saskarni. Pēc tam ielādējiet savu faktisko skici, bet parastās augšupielādes opcijas vietā jūs izmantojat opciju no IDE izvēlnes, kas augšupielādē “izmantojot Arduino kā ISP”. “A-starpposms” Arduino paņem jūsu faktisko skici no IDE un nodod to Pro Mini ISP tapām, nevis ielādē to savā atmiņā. Tas nav grūti, kad jūs saprotat, kā tas darbojas, taču tas ir papildu sarežģītības slānis, no kura jūs varētu vēlēties izvairīties. Ja tas tā ir, vai jums nav cita Arduino, ko varētu izmantot kā starpnieku, tad, iespējams, vēlēsities iegādāties Arduino Nano vai kādu citu mazo formu faktoru, kas ietver USB interfeisu un padara programmēšanu vienkāršāku.

Šeit ir daži resursi, kas varētu būt noderīgi, lai izprastu procesu. Arduino atsauce īpaši attiecas uz jauna sāknēšanas ielādētāja ierakstīšanu mērķa ierīcē, taču jūs varat tikpat viegli ielādēt skici tādā pašā veidā. Es atklāju, ka Džuljana Iletta video padara šo jēdzienu daudz skaidrāku, lai gan viņš izlaiž Arduino atsauces daļu, kurā paskaidrots, kā savienot abus Arduino, un programmē tukšu mikroshēmu uz maizes dēļa.

  • Arduino uzziņu rokasgrāmata - Arduino izmantošana kā ISP
  • Julian Ilett YouTube video - izmantojot Arduino kā ISP

Tā kā Pro Mini nav ērti sagrupēti 6 ISP tapas, jums ir jāatšifrē, kura no digitālajām tapām attiecas uz 4 programmēšanas tapām (pārējie divi savienojumi ir tikai Vcc un Gnd - tātad ir diezgan vienkārši). Par laimi, es to jau esmu pārdzīvojis - un esmu gatavs ar jums dalīties zināšanās - cik es esmu dāsns cilvēks !!

Arduino Uno un daudziem citiem Arduino ģimenes locekļiem 6 tapas ir ērti sakārtotas 3x2 blokā, piemēram, šis (attēls no www.arduino.cc).

Attēls
Attēls

Diemžēl Pro Mini to nedara. Kā redzat zemāk, tos patiesībā ir diezgan viegli identificēt, un tie joprojām ir sakārtoti 2 blokos pa 3 tapām. MOSI, MISO un SCK ir tādi paši kā digitālie tapas 11, 12 un 13 gan Pro Mini, gan Arduino Uno, un ISP programmēšanai vienkārši pievienojiet 11 līdz 11, 12 līdz 12 un 13 līdz 13. Pro Mini Reset tapa jāpievieno Uno tapai 10, un Pro Mini Vcc (5v)/Ground jāpievieno Arduino +5v/Ground. (Attēls no www.arduino.cc)

Attēls
Attēls

7. solis: montāža

Montāža
Montāža

Kā jau minēju, es paņēmu punktu par lietu un to nožēloju. Visu sastāvdaļu iekļaušana bija īsta saspiešana. Patiesībā man bija jāsaliek spiedpogas kontakti uz sāniem un jāuzliek iepakojums uz ārpusi, lai to paceltu mazliet tālāk, lai tas ietilptu kastes dziļumā, un man bija jāsasmalcina 2-3 mm no katras malas. displeja moduļa tāfele, lai tā arī ietilptu.

Es urbju korpusā 2 caurumus, lai ultraskaņas sensori varētu izlauzties cauri. Es urbju caurumus nedaudz par mazu un pēc tam pakāpeniski palielināju tos, izmantojot nelielu rotējošu dzirnaviņas, lai es varētu panākt, lai tie būtu jauki “piespiežami”. Diemžēl tie bija pārāk tuvu sāniem, lai varētu izmantot dzirnaviņas no kastes iekšpuses, un tas bija jādara no ārpuses, kā rezultātā dzirnaviņas saslīdēja ar daudzām skrambām un slidas - ak, labi, tas viss apakšā vienalga - kam tas interesē..?

Pēc tam es vienā galā izgriezu spraugu, kas ir piemērota izmēra, lai displejs varētu caurdurt. Atkal - mans minējums par kastes izmēru sakoda mani aizmugurē, jo slots atstāja mani ar ļoti plānu gabalu virs displeja, kas neizbēgami salūza, kamēr es to gludi noformēju. Ak, labi, tam tika izgudrota superlīme …

Visbeidzot, kad visi komponenti bija aptuveni novietoti kastē, es izmērīju, kur ievietot caurumu vākā, lai spiedpogas korpuss iekristu pēdējā pieejamā vietā. TIKAI !!!

Pēc tam es pielodēju visas sastāvdaļas kopā, lai pārbaudītu, vai tās joprojām darbojas pēc manas liekšanas, slīpēšanas un apgriešanas, pirms tās visas saliku korpusā. Jūs varat redzēt džempera savienojumu tieši zem displeja moduļa ar 10. tapu uz Arduino (balts vads), kas savienots ar Gnd, tādējādi novietojot iekārtu kalibrēšanas režīmā. Displejs no mana sola rāda 122 cm - tas noteikti uztvēra signālu, kas atspoguļojās no loga rāmja augšdaļas (tas ir pārāk zems, lai būtu griesti).

Attēls
Attēls

Tad tas bija gadījums, kad tika izlauzts karstais līmes lielgabals un visas detaļas tika novietotas vietā. To darot, es atklāju, ka nelielā atstarpe starp displeja moduļa augšpusi un vāku, tiklīdz modulis tika pielīmēts vietā, atstāja nelielu izliekumu, kur vāks neiederas tik cieši, kā es vēlētos. Es varētu mēģināt kaut ko darīt lietas labā - vai, visticamāk, es to nedarīšu …

Attēls
Attēls

8. solis: pabeigtais raksts

Pēc dažiem testiem pēc montāžas un koda labojuma, lai ņemtu vērā koka gabalu dziļumu, pie kura es pieskrūvēju ierīci (ko es savos aprēķinos pilnībā ignorēju - d'oh !!), tas viss ir izdarīts. Beidzot!

Salikta pārbaude

Kad iekārta vienkārši sēž ar seju uz leju uz mana sola, acīmredzot nebūs atspoguļota signāla, tāpēc iekārta pareizi parāda kļūdas stāvokli. Tas pats būtu, ja tuvākā atstarojošā virsma atrodas ārpus ierīces diapazona.

Attēls
Attēls

Izskatās, ka no mana galda līdz grīdai ir 76 cm (labi, 72 cm plus 4 cm koka gabalu dziļums).

Attēls
Attēls

Ierīces apakšpuse, kurā redzams raidītājs un uztvērējs, kas atrodas pār koka gabalu - man tiešām vajadzētu to vairs nesaukt par koka gabalu - turpmāk tas tiks saukts par mērinstrumentu stabilizācijas un precīzas izvietošanas platformu! Par laimi, iespējams, šī ir pēdējā reize, kad to pieminēšu;-)

Oi - jūs varat redzēt visus šos nejaukos skrāpējumus un slidu zīmes šajā…

Attēls
Attēls

… Un šeit ir gatavā prece, kas ievietota normālā darba režīmā, faktiski izmērot manas tvertnes tilpumu ar precizitāti līdz 5%. Bija (ļoti) lietaina svētdienas pēcpusdiena, kad es beidzu šo projektu, līdz ar to lietus lāses uz vienības un ļoti patīkami 90% lasījums.

Attēls
Attēls

Es ceru, ka jums patika lasīt šo pamācību un ka jūs mazliet uzzinājāt par Arduino programmēšanu, fiziku un sonāra/ultraskaņas refleksijas izmantošanu, par to, kādas ir kļūdas, izmantojot minējumus projektu plānošanā, un ka esat iedvesmojies savu lietus ūdens tvertnes mērierīci - un pēc tam uzstādīt lietus ūdens tvertni, lai to izmantotu, vienlaikus nedaudz palīdzot videi un ietaupot rēķinus par ūdeni.

Lūdzu, lasiet tālāk - par to, kas notika nākamajā dienā …!

9. solis: pēcraksts - simts (un pieci) procenti?

Tātad pirmdien pēc lietainās svētdienas tvertne bija absolūti tik pilna, cik vien iespējams. Tā kā šī ir viena no retajām reizēm, kad esmu to redzējusi pilnīgi pilnu, es domāju, ka būtu ideāls laiks mērinstrumenta etalonam, bet uzmini nu - tas reģistrējās kā 105%, tāpēc acīmredzot bija kaut kas nepareizs.

Es izkāpu no mērstieņa un atklāju, ka mani sākotnējie pieņēmumi par 140 cm kā maksimālo ūdens dziļumu un 16 cm augstumu (balstoties uz vizuāliem aprēķiniem, kas iegūti no tvertnes ārpuses), abi nedaudz neatbilst faktiskajiem mērījumiem. Tā bruņojies ar reālajiem datiem par manu 100% etalonu, es varēju pielāgot savu kodu un atkārtoti ielādēt Arduino.

Maksimālais ūdens dziļums izrādās 147 cm, mērīšanas punktam atrodoties 160 cm, kas dod 13 cm galvas augstuma (galvas augstuma summa tvertnē, tvertnes kakla augstums un gabaliņa dziļums …, nē, ko ?! Es domāju mērinstrumentu stabilizācijas un precīzas izvietošanas platformas dziļumu!).

Pēc tam, kad attiecīgi tika koriģēti mainīgie lielumi maxDepth un augstums, kā arī tika atiestatīts sonāra objekta maksimālais diapazons uz 160 cm, ātra atkārtota pārbaude parādīja 100%, kas samazinājās līdz 95%, kad es nedaudz pacēlu mērinstrumentu (lai simulētu nelielu daudzumu lietots ūdens).

Darbs padarīts!

PS - šis ir mans pirmais mēģinājums pamācīties. Ja jums patīk mans stils, humora izjūta, godīgums, atzīstot kļūdas (hei - pat es neesmu ideāls …) utt. - dariet man to zināmu, un tas var dot stimulu izdarīt vēl vienu.

10. solis: pēcapziņa

Izmantojamā jauda

Tātad ir pagājušas dažas nedēļas, kopš publicēju šo instrukciju, un man ir bijuši daudzi komentāri, no kuriem daži ir ierosinājuši dažus alternatīvus mehānismus - gan elektroniskus, gan manuālus. Bet tas man lika aizdomāties, un ir kaut kas, uz ko man, iespējams, vajadzēja norādīt sākumā.

  • Manā tvertnē ir sūknis, kas uzstādīts zemes līmenī - nedaudz zem tvertnes pamatnes. Tā kā sūknis ir zemākais punkts sistēmā un ūdens no sūkņa ir zem spiediena, es varu izmantot visu savas tvertnes jaudu.
  • TOMĒR - ja jūsu tvertnei nav sūkņa un tā ir atkarīga no gravitācijas padeves, tad tvertnes faktisko ietilpību ierobežo krāna augstums. Kad ūdens, kas paliek tvertnē, ir zemāks par krānu, ūdens neplūst.

Tātad, neatkarīgi no tā, vai izmantojat elektronisko mērierīci vai manuālo redzamības stiklu, vai pludiņa un karoga tipa sistēmu, tikai ņemiet vērā, ka bez sūkņa jūsu tvertnes efektīvā “bāze” patiesībā ir tvertnes izplūdes atveres augstums vai krāns.

Ieteicams: