Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Hindi tinatagusan ng tubig
- Hakbang 2: Ang Aking Pasadyang 3D na Naka-print na Enclosure
- Hakbang 3: Pag-mount sa LCD Screen
- Hakbang 4: Pag-mount ng Momentary Button
- Hakbang 5: Power at Charging Circuit
- Hakbang 6: Nagcha-charge Cable
- Hakbang 7: Tungkol sa Flow Sensor
- Hakbang 8: Mga Kable ng Flow Sensor
- Hakbang 9: Pag-install ng Flow Sensor
- Hakbang 10: Arduino & Perfboard
- Hakbang 11: Kable Lahat
- Hakbang 12: Programming
- Hakbang 13: Pagsara sa Lid
- Hakbang 14: Pagsubok
- Hakbang 15: Ngayon Simulan ang Pag-save ng Tubig
Video: Makatipid ng Tubig at Pera Gamit ang Shower Monitor ng Tubig: 15 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Alin ang gumagamit ng mas maraming tubig - isang paliguan o isang shower?
Kamakailan ko ay iniisip ang tungkol sa katanungang ito, at napagtanto ko na hindi ko talaga alam kung gaano karaming tubig ang ginagamit kapag naliligo ako. Alam ko kapag nasa shower ako kung minsan ang aking pag-iisip ay gumagala, nag-iisip tungkol sa isang cool na bagong ideya ng proyekto o sinusubukang magpasya kung ano ang kakailanganin para sa agahan, habang ang tubig ay bumubulusok lamang sa kanal. Ito ay magiging mas madali upang mabawasan ang aking pagkonsumo ng tubig kung talagang alam ko kung gaano karaming mga litro ang ginagamit ko sa bawat oras!
Gumawa ako ng kaunting pagsasaliksik, at nalaman na ang iba't ibang mga shower head ay maaaring gumamit ng kahit saan mula sa 9.5 liters (2.5 galon) bawat minuto hanggang mas mababa sa 6 liters (1.6 gallons) bawat minuto, kung mayroon kang naka-install na isang restrictor ng daloy. Ang isang napakatandang shower ay maaaring gumamit ng mas maraming tubig.
Nagpasya akong magdisenyo at bumuo ng isang aparato na magpapakita ng kabuuang dami ng tubig na ginamit bawat shower, ang gastos ng tubig, at ang rate ng daloy. Na-install ko ang aparatong ito sa loob ng ilang linggo, at talagang madaling gamitin na magkaroon ng isang live na pagbabasa ng dami ng ginagamit na tubig.
Sa Instructable na ito, ipapaliwanag ko kung paano ko ito binuo. Siyempre, hindi mo kailangang sundin nang eksakto ang aking mga hakbang! Palaging mabuti na gamitin ang mga bahagi na nakahiga ka. Isinama ko ang mga link sa lahat ng mga bahagi na ginamit ko, o isang katumbas na bahagi na gagana.
Mga gamit
(Lahat ng Mga Presyo sa USD)
- Flow Sensor - $ 3.87
- LCD Screen - $ 2.29
- Arduino Nano - $ 1.59
- Boost Converter - $ 1.88
- LiPo Charger - $ 1.89
- Waterproof Toggle Switch - $ 0.93 (Hindi ang eksaktong ginamit ko, ngunit dapat itong gumana)
- Hindi tinatagusan ng tubig Pushbutton - $ 1.64
- Standoffs, M3 Screws & Nuts - $ 6.99
- 2X Babae 3.5mm Jack - $ 2.86 ea.
- Lalaki 3.5mm Plug - $ 1.48
- 3.5mm 3 'Cable Assembly - $ 3.57
- USB Cable Assembly - $ 1.74
- 1/2 "NPS Babae-sa-Babae na Coupling - $ 1.88
- 500mAh 3.7V LiPo Battery - $ 3.91
Mga Kasangkapan at Karaniwang Mga Panustos
- Panghinang na Bakal at Panghinang
- Kawad
- Mga Cutter ng Wire
- Mga Striper ng Wire
- Double-Sided Tape
- Phillips Screwdriver
- 3D Printer (Opsyonal)
Hakbang 1: Hindi tinatagusan ng tubig
Ang pinakamahirap na aspeto ng proyektong ito ay ginagawa ang buong bagay na hindi tinatagusan ng tubig. Dahil ito ay naninirahan sa isang shower, dapat itong makaligtas sa matinding kahalumigmigan at paminsan-minsang pagsabog. Halos 75% ng kabuuang oras na ginugol sa proyektong ito ay naisip ang bahaging ito.
Sa paraang nakikita ko ito, mayroong dalawang pagpipilian: magdisenyo ng isang pasadyang 3D na naka-print na enclosure, o subukang gawin itong gumana sa isang enclosure na wala sa istante. Dahil nakuha ko kamakailan ang aking sariling 3D printer, nagpasya akong pumunta sa unang pagpipilian.
Kung wala kang access sa isang 3D printer, narito ang ilang mga enclosure na wala sa istante na nahanap ko na inaangkin na hindi tinatagusan ng tubig, at malamang na gagana. Mangyaring tandaan na hindi ako bumili ng alinman sa mga enclosure na ito kaya't hindi ako gumagawa ng mga garantiya na ang lahat ng mga bahagi ay magkakasya sa loob!
Banggood - 100x68x50mm Box na may Transparent Lid - $ 5.35
Digikey - 130x80x70mm Box na may Transparent Lid - $ 11.65
Para sa puntong ito pasulong, kapag sumangguni ako sa enclosure, nagsasalita ako tungkol sa aking 3D na naka-print na isa.
Hakbang 2: Ang Aking Pasadyang 3D na Naka-print na Enclosure
Matapos magtrabaho sa Fusion 360 ng maraming oras, naisip ko ang enclosure na ito. Mayroon itong tatlong mga pabilog na cutout upang magkasya sa dalawang babaeng 3.5mm jacks at isang toggle switch. Ang talukap ng mata ay may 16mm na butas para sa panandaliang pushbutton, at isang hugis-parihaba na ginupit para sa screen, pati na rin ang apat na mga butas ng pag-mount upang mahawakan ang screen sa lugar. Ang takip ay isang hiwalay na bahagi at may labi upang maiwasan ang pagpasok ng kahalumigmigan sa pamamagitan ng tahi. Ang apat na butas sa mga sulok ng kahon ay upang hawakan ang takip na may 30mm standoffs. Ang lahat ng mga butas ng tornilyo ay 3mm ang lapad, na umaangkop sa isang M3 na tornilyo.
Maaari mong i-download ang mga STL file mula sa aking pahina sa Thingiverse. Maaari itong mai-print nang walang anumang mga rafts o suporta, ngunit gumamit ako ng mga suporta upang maging ligtas. Gumamit din ako ng 100% infill. Dahil ang mga pader ay napakapayat, ang pagbawas ng porsyento ng infill ay hindi talaga binabago ang kabuuang oras ng pag-print o kabuuang materyal, kaya't iniingatan ko lamang ito sa 100%.
Upang makita ang screen, maaari itong lumabas sa pamamagitan ng isang cutout sa takip ng enclosure, o ilagay sa likod ng isang transparent window. Dahil ang screen ay hindi dapat malantad sa kahalumigmigan, natigil kami sa pangalawang pagpipilian. Sa kasamaang palad ang 3D na pag-print na may transparent na filament ay nasa simula pa lamang, kaya't kailangan nating maging malikhain.
Ang aking solusyon ay upang lumikha ng isang hugis-parihaba na ginupit sa talukap ng mata, at kola sa isang piraso ng transparent na plastik mula sa ilang mga pakete ng gulay. Ang pamamaraan na ito ay maaaring magamit kahit na hindi mo ginagamit ang aking pasadyang enclosure; gupitin lamang ang isang rektanggulo na may isang kutsilyo ng utility o isang Dremel. Siyempre, kung gumagamit ka ng isang enclosure na may isang transparent na takip, hindi na talaga ito kinakailangan.
Ang pinakamahusay na mapagkukunan para sa transparent na plastik na nakita ko ay gumawa ng balot. Kadalasan ang spinach o iba pang mga dahon ng gulay ay may malalaking malinaw na lalagyan ng plastik. Sa aking kaso, ginamit ko ang packaging mula sa isang "pepper medley".
Nais kong isang overhang ng 5mm upang magbigay ng maraming lugar sa ibabaw para sa pagdikit, kaya't pinutol ko ang isang 27x77mm na rektanggulo ng malinaw na plastik. Kailangan kong i-trim nang kaunti ang mga sulok upang magkasya ang mga tornilyo. Nilibot ko ang isang linya ng superglue sa paligid ng perimeter ng ginupit, at pagkatapos ay inilagay ang malinaw na plastik. Nagdagdag ako ng kaunti pang superglue sa gilid ng gilid upang matiyak lamang na ito ay tinatakan.
Pro-Tip: Ilagay ang bahagi sa harap ng isang maliit na fan habang ang pandikit ay natutuyo. Tulad ng dries ng superglue, may kaugaliang iwanan ang isang masamang puting nalalabi, na tiyak na hindi natin nais sa aming transparent window. Gumamit ako ng isang lumang 12V fan mula sa isang power supply ng computer. Pinapayagan kong umupo ang pandikit sa loob ng 12 oras upang matiyak na ito ay ganap na tuyo.
Hakbang 3: Pag-mount sa LCD Screen
Kapag ang transparent na window ay natuyo, ang LCD ay maaaring mai-mount. Ang LCD ay isang napakapopular na 16x2 na pagpapakita ng character, kasama ang I CC "backpack" na paunang solder sa likuran. Masidhing inirerekumenda kong makuha ang screen na ito sa interface ng I²C. Ang kable ng lahat ng mga kahilera na linya ay medyo nakakainis at nagpapakilala ng higit na potensyal para sa mga pagkakamali - ang bersyon na I CC ay mayroon lamang dalawang wires para sa lakas at dalawang wires para sa signal.
Gumamit ako ng apat na 10mm standoffs upang mai-mount ang screen. Ang mga standoff ay mayroong isang male thread sa isang dulo at isang babae na thread sa kabilang gilid. Inilagay ko ang male thread sa mga butas sa LCD at hinihigpit ko ang isang M3 nut sa bawat isa. Pagkatapos ay gumamit ako ng apat na M3 na turnilyo upang ma-secure ang mga babaeng dulo ng mga standoff sa pamamagitan ng takip ng enclosure. Nakuha ko ang package na ito ng mga standoff na mayroong 10mm upang mai-mount ang LCD, at mas mahaba ang i-hold ang takip sa base. Dagdag pa, may mga M3 screws at nut, kaya hindi mo kailangang bumili ng anumang karagdagang hardware.
Siguraduhin na ang mga mani ay masyadong masikip upang kapag hinigpitan mo ang mga turnilyo, ang mga standoff ay hindi lumiliko. Gayundin, tiyaking hindi mo masyadong higpitan ang mga turnilyo, o ang takip ng plastik ay maaaring magpapangit at hindi maayos na mai-seal.
Ang hilera ng 16 na mga header pin sa LCD ay dapat na nasa itaas - siguraduhin na hindi mo mai-mount ang LCD nang baligtad!
Hakbang 4: Pag-mount ng Momentary Button
Napagpasyahan kong gamitin ang mukhang-sakit na chrome button na ito sa front panel. Ginamit ko ang mga ito sa mga nakaraang proyekto at gusto ko talaga ang hitsura ng mga ito. Ang mga ito ay dapat na hindi tinatagusan ng tubig, at sila ay nagdala ng isang singsing na goma upang maiwasan ang kahalumigmigan mula sa pagpasok sa enclosure sa pamamagitan ng mga thread.
Ang hakbang na ito ay medyo prangka. I-undo ang nut, ngunit panatilihin ang singsing na goma. Ipasok ang pindutan sa butas sa talukap ng mata, at higpitan ang kulay ng nuwes mula sa likurang bahagi. Iwasang labis na higpitan ang kulay ng nuwes, o ang singsing na goma ay madurog at hindi magsisilbi sa layunin nito.
Hakbang 5: Power at Charging Circuit
Ngayon ay pagsamahin namin ang mga bahagi ng lakas ng baterya. Kasama rito ang baterya, master switch, monitoring / charge board ng baterya, at boost converter.
Ang baterya na ginamit ko ay isang 3.7V 1500 mAh solong-cell na lithium ion na baterya. Ang partikular na ginamit ko ay hinila mula sa sirang Controller ng Playstation. Ang anumang solong-cell na Li-Ion o LiPo na baterya ay gagana, hangga't umaangkop ito sa iyong enclosure. Ang ganitong uri ng baterya ay may kaugaliang maging manipis at flat, kaya maaari mong gamitin ang isa nang dalawang beses na mas malaki sa minahan nang walang anumang mga problema. Ang isang 18650 na cell ay gagana, ngunit hindi ito magkakasya sa aking pasadyang enclosure kaya kakailanganin mong idisenyo ang iyong sarili, o gumamit ng isang enclosure na wala sa istante. Kung maaari, inirerekumenda ko ang paggamit ng isang na-salvage na baterya (tulad ng ginawa ko) dahil ang pagpapadala ng mga baterya ay madalas na mahal!
Ang baterya ay dapat munang solder sa TP4056 charge board. Kung nais mo, maaari kang maghinang ng isang konektor ng JST RCY sa baterya at charger para sa kaginhawaan (ginawa ko ito), ngunit hindi kinakailangan. Siguraduhin na obserbahan ang tamang polarity tulad ng ipinahiwatig ng mga marka sa charger board, dahil ang board ay hindi protektado laban sa pabalik na polarity ng baterya!
Susunod, maghinang ng isang kawad mula sa positibong output ng charger (matatagpuan sa tabi ng positibong wire ng baterya) sa positibong input sa boost converter. Pagkatapos ay maghinang ng isang kawad mula sa negatibong output (matatagpuan sa tabi ng negatibong wire ng baterya) sa karaniwang (gitna) pin ng master na toggle switch. Sa wakas, maghinang ng isang kawad mula sa normal na bukas na pin ng switch sa negatibong input ng boost converter. Kung ikinonekta mo ang isang multimeter sa output ng boost converter at i-on ang master switch, dapat ipakita ang isang boltahe.
Dahil ang aming Arduino, LCD screen, at flow sensor lahat ay nangangailangan ng 5V, dapat nating itakda ang output ng boost converter sa 5V. Nakamit ito sa pamamagitan ng pag-on ng knob sa potentiometer gamit ang isang maliit na distornilyador. Sa pag-on ng master switch, nakakonekta ang baterya, at multimeter na naka-hook sa output ng boost converter, dahan-dahang i-on ang potentiometer hanggang mabasa ang output na 5V. Mahirap makakuha ng isang pagbabasa ng eksaktong 5.000V ngunit layunin para sa isang boltahe sa pagitan ng 4.9V at 5.1V.
Dahil ang aking pasadyang enclosure ay gaganapin nakasara sa maraming mga turnilyo, hindi namin nais na buksan ang kaso sa tuwing kailangan itong singilin. Gumamit ako ng isang 3.5mm headphone jack para dito. Ang eksaktong konektor na ginamit ko ay ang isang ito mula sa Digikey (na kung saan ang laki ng mga ginupit sa aking enclosure), ngunit ang isang mula sa Banggood ay dapat ding gumana.
Una, ipinasok ko ang konektor sa ilalim-pinaka butas sa enclosure. Dahil ito ay mai-unplug sa karamihan ng oras, at samakatuwid madaling kapitan ng pagpasok ng kahalumigmigan, pinakamahusay na i-mount ito sa ilalim upang maiwasan ang pagtulo ng tubig sa loob. Matapos mai-install ang lock-washer at higpitan ang kulay ng nuwes, naghinang ako ng dalawang wires sa mga "tip" at "manggas" na mga tab sa konektor. Ang pinout ng konektor ay ipinapakita sa isa sa aking mga anotasyong imahe. Inhinang ko ang kabilang dulo ng "manggas" na kawad sa negatibong pag-input sa charger, sa tabi ng micro USB port. Panghuli, na-solder ko ang "tip" na kawad sa + 5V pad, sa kabilang panig ng USB port. Ang USB port sa charger ay hindi gagamitin, sapagkat mahirap gawin ang USB port na tumagos sa enclosure nang hindi pinapayagan ang kahalumigmigan.
Hakbang 6: Nagcha-charge Cable
Dahil gumagamit kami ng isang 3.5mm audio jack bilang aming port ng pagsingil, kailangan naming gumawa ng isang adapter cable na may isang male 3.5mm plug sa isang dulo, at isang USB A plug sa kabilang dulo. Papayagan kaming gumamit ng anumang generic na mobile device charger (tulad ng isang charger ng iPhone) upang singilin ang aparatong ito.
Maaari kang bumili ng isang pagpupulong ng USB cable na may isang USB Isang konektor sa isang dulo at naka-tin na mga wire sa kabilang dulo, ngunit kung katulad mo ako, malamang na mayroon kang isang dosenang mga random na USB cable na nakahiga na hindi mo kailangan. Sa halip na bumili ng isang pagpupulong ng USB cable, nakuha ko lang ang isang micro USB sa USB Isang cable na hindi ko kailangan at na-snip ang micro USB konektor.
Susunod, hinubad ko ang puting dyaket sa cable upang ibunyag ang dalawang wires lamang sa loob: isang pula at isang itim na kawad. Ang ilang mga USB cable ay magkakaroon ng apat na wires: pula, itim, berde, at puti. Ang berde at puti ay para sa paglilipat ng data, at maaaring balewalain. Alisin ang pagkakabukod mula sa pula at itim na mga wire lamang.
Susunod na kakailanganin mo ng isang lalaki na 3.5mm plug. Ginamit ko ang isang ito mula sa Banggood. Paghinang ng pulang kawad mula sa USB cable hanggang sa gitnang tab (na kung saan ay ang dulo ng konektor) at ang itim na kawad sa tab na mahabang manggas. Tingnan ang aking mga larawan para sa paglilinaw.
Inirerekumenda kong palaging isaksak sa 3.5mm plug bago ang USB plug, dahil ang proseso ng pag-plug sa cable ay maaaring maging sanhi ng pagpapaikli ng plug sa kabuuan ng metal na sisidlan.
Hakbang 7: Tungkol sa Flow Sensor
Kinuha ko ang flow sensor na ito mula sa Banggood sa halagang $ 3.87. Bago gamitin ito, nagpasya akong siyasatin kung paano ito gumagana.
Ang disenyo ay nakakagulat na simple at mapanlikha. Ang electronics ay ganap na natatakan mula sa tubig. Mayroong isang libreng paikot na tagabunsod kung saan mas mabagal o mas mabilis ang pag-ikot depende sa rate ng daloy. Sa isang punto sa propeller ay isang magnet. Sa labas ng sensor ay isang maliit na kompartimento na naglalaman ng isang maliit na PCB na may dalawang bahagi: isang risistor, at isang sensor ng hall-effect. Sa tuwing dumadaan ang magnet sa pamamagitan ng sensor ng hall-effect, nagpapalipat-lipat ito sa pagitan ng mataas at mababa. Sa madaling salita, lumilipat ito sa pagitan ng 5V at 0V tuwing umiikot ang propeller.
Upang mabasa ang sensor, inilalapat namin ang + 5V sa pulang kawad, negatibo sa itim na kawad, at basahin ang digital signal mula sa dilaw na kawad. Sa larawan ng aking oscilloscope makikita mo kung paano nagbabago ang signal habang naka-on ang daloy. Sa una, ang signal ay patuloy na zero volts. Kapag nagsimula ang daloy, ang dalas ng mga pulso ay mabilis na umabot sa bilis at umabot sa isang matatag na estado.
Ayon sa datasheet, ang sensor ay naglalabas ng 450 pulso bawat litro. Ito ay magiging mahalaga sa paglaon kapag nagsusulat kami ng software.
Hakbang 8: Mga Kable ng Flow Sensor
Ang flow sensor ay may kasamang 3-pin na konektor ng JST-XH. Hindi ito perpekto sapagkat ang mga wire ay masyadong maikli, at ang konektor ay may nakalantad na mga contact na maaaring madaling maiksi ng mga ligaw na patak ng tubig. Inorder ko ang 3.5mm audio plug cable Assembly na ito mula sa Digikey. Ito ay 3 'ang haba, na kung saan ay ang perpektong haba, at mayroon itong mga tinned wires, na ginagawang madali upang maghinang. Hindi ko inirerekumenda ang pagsubok na gumamit ng isang lumang headphone cord, tulad ng mga may posibilidad na magkaroon ng napaka manipis na enamel na kawad, na halos imposibleng maghinang.
Ang sensor ng daloy ay may isang plastik na takip, na hawak ng dalawang mga tornilyo ng Phillips. Alisin lamang ang mga tornilyo na ito, at hilahin ang circuit board. Hindi ito gaganapin sa anumang pandikit, itinatago lamang ito sa takip na plastik. Susunod, wasakin ang tatlong mga wire sa pamamagitan ng pag-init ng mga ito gamit ang isang panghinang at pag-angat ng mga ito, isa-isa.
Susunod, solder ang 3.5mm audio cable sa mga pad. Iminumungkahi kong itugma ang mga kulay sa paraang ginawa ko. Ang pagsasaayos na ito ay may + 5V sa dulo, signal sa singsing, at ground sa manggas. Ito ang parehong pagsasaayos na ginamit para sa pagsingil ng port, mula sa hakbang 6. Kung hindi sinasadyang na-plug mo ang charger sa sensor port, o kabaligtaran, hindi magkakaroon ng anumang pinsala sa aparato.
Hakbang 9: Pag-install ng Flow Sensor
Hanggang sa puntong ito, ang lahat ng aming trabaho ay naganap sa pagawaan. Ngunit ngayon, oras na upang magtungo sa banyo!
Una, tinanggal ko ang shower head. Inihayag nito ang kaunting tubo na nakausli mula sa dingding, na may 1/2 NPS male threading. Maginhawa, ang aming flow sensor ay may eksaktong parehong laki ng thread! Ang problema lang ay ang sensor ay may male threading sa magkabilang dulo, kaya't kailangan ng pagkakabit ng babae hanggang sa babae.
Sa aking lokal na tindahan ng hardware, mayroong 1/2 na mga pagkabit sa tanso, bakal, at PVC. Ang isa sa PVC ang pinakamura, kaya nakuha ko iyon. Bagaman sa pagmasdan, ang tanso o bakal ay magiging mas maganda.
Kapag mayroon ka ng pagkabit, i-tornilyo lamang ang daloy ng sensor sa pagkabit, at pagkatapos ay i-tornilyo ang kabilang dulo ng pagkabit sa tubo. Ang daloy ng sensor ay may isang arrow upang ipahiwatig ang inilaan na direksyon ng daloy. Tiyaking hindi mo mai-install ito paatras, o kung hindi man tumpak ang mga sukat. Panghuli, i-tornilyo ang ulo ng shower sa dulo ng flow sensor.
Siyempre, ipinapalagay kong ang iyong shower ay gumagamit ng isang 1/2 NPS thread, tulad ng ginawa ng minahan. Kung hindi ito ang kaso, kakailanganin mong makakuha ng mga karagdagang adaptor.
Pro-Tip: Magdagdag ng ilang tape ng Teflon plumber sa lahat ng mga thread bago i-screwing ang mga piraso upang maiwasan ang paglabas. Wala akong dala, ngunit binabalak kong idagdag ito sa malapit na hinaharap.
Hakbang 10: Arduino & Perfboard
Dahil kakailanganin nating gumawa ng maraming mga kable, magandang ideya na kumuha ng isang piraso ng perfboard upang gawing mas maayos ang mga bagay. Pinutol ko ang isang rektanggulo ng perfboard tungkol sa 1 "by 2". Susunod, inilagay ko ang aking Arduino Nano sa gitna ng board at minarkahan kung saan dumaan ang mga header pin. Pagkatapos ay pinutol ko ang dalawang haba ng mga babaeng header, bawat isa ay 15 pin ang haba. Inhinang ko ang mga ito sa perfboard kung saan ko dati minarkahan. Papayagan kaming alisin ang Arduino para sa pag-program.
Pro-Tip: Markahan ang oryentasyon ng USB port ng Arduino upang palagi mong mai-plug ito sa perfboard sa parehong paraan.
Hakbang 11: Kable Lahat
Ngayon ay oras na upang maghinang lahat ng sama-sama! Nagsama ako ng isang kumpletong diagram ng mga kable, na maaari mong sundin, o tingnan ang aking nakasulat na mga hakbang sa ibaba kung mas gusto mo ang isang mas gabay na diskarte.
Una, pinutol ko ang ilang mga lalaking pin ng header at na-solder ang mga ito papunta sa perfboard sa + 5V at mga daang-bakal sa lupa. Pagkatapos ay naghinang ako ng dalawa pang mga header pin na konektado sa mga pin A4 at A5 sa Arduino. Papayagan kami ng mga header na ito na ikonekta ang LCD screen gamit ang mga babaeng-to-babaeng jumper.
Susunod, naghinang ako ng isang pares ng mga wire mula sa output ng boost converter sa + 5V at ground rails. Magbibigay ito ng lakas sa Arduino, sa LCD, at sa flow sensor.
Pagkatapos nito, pinutol ko ang dalawang wires at ikinonekta ang mga ito sa mga terminal ng pushbutton. Naghinang ako ng isang wire sa ground rail, at ang isa sa digital pin 3.
Ang huling bahagi sa panghinang ay ang flow sensor. Dahil naka-attach na kami ng isang 3.5mm plug sa sensor, kailangan lang naming maghinang ng isang 3.5mm na babaeng jack. Una ay naghinang ako ng tatlong mga wire - isa sa bawat isa sa mga tab sa jack. Pagkatapos ay ipinasok ko ang jack sa loob ng enclosure at na-secure ito sa lugar na may isang nut. Sa wakas, hinihinang ko ang manggas sa lupa, ang dulo sa + 5V, at ang singsing sa digital pin 2.
Pinili kong gumamit ng mga digital na pin 2 at 3 para sa pindutan ng pindutan at daloy dahil ang mga ito ay nakakagambala na mga pin. Mas madali nitong maisulat ang code.
Natapos na namin ang paghihinang, ngunit kailangan pa ring i-hook ang LCD. Dahil nag-solder kami ng mga header, kailangan lang namin ng apat na babaeng-hanggang-babaeng jumper. Ikonekta ang "Vcc" na pin sa + 5V, ang "Gnd" na pin sa lupa, ang "SCL" na pin sa A5, at ang "SDA" na pin sa A4. Upang magkasya ang LCD screen sa enclosure, kakailanganin nating yumuko paatras ang mga pin ng header. Ang baluktot na mga pin nang paulit-ulit nang maraming beses ay magpapapagod sa metal at maging sanhi ng pagkasira ng mga pin, kaya inirerekumenda ko na baluktot lamang ang mga ito nang isang beses, at gawin ito nang may pag-iingat.
Ngayon kumpleto na ang mga kable!
Hakbang 12: Programming
Ngayon na ang lahat ng hardware ay konektado, maaari naming mai-program ang Arduino.
Nais kong magkaroon ng sumusunod na tampok ang programa:
- Sa unang linya, ipakita ang isang mabilis na pag-update ng bilang ng kabuuang litro
- Sa pangalawang linya, ipakita ang kabuuang halaga ng tubig o rate ng daloy
- Kapag tumatakbo ang shower, ang Togbutton ay nagpapalipat-lipat sa pagitan ng pagpapakita ng gastos o rate ng daloy
- Kapag hindi tumatakbo ang shower, dapat na i-clear ng pushbutton ang lahat ng data at i-reset ang screen
- Dapat basahin ang sensor gamit ang isang nakakagambala na gawain upang maiwasan ang mga pamamaraan ng gross polling
- Kapag nag-a-update ng screen, dapat lang namin i-update ang mga halagang nagbago, sa halip na mai-overlap ang buong screen sa bawat oras (magiging sanhi ito ng kapansin-pansin na flicker)
Ang programa ay sumusunod sa isang simpleng istraktura. Sa pamamagitan ng paggamit ng pagpapaandar ng millis (), makakalikha tayo ng mga pagkaantala na hindi talaga tumitigil sa pagpapatupad ng programa. Tingnan ang tutorial na ito para sa isang halimbawa ng pagpikit ng isang LED nang hindi ginagamit ang pagpapaandar () na pagpapaandar.
Ibinabalik ng pagpapaandar ng millis () ang bilang ng mga milliseconds mula nang nakabukas ang Arduino. Sa pamamagitan ng paglikha ng isang variable na "nakaraangMillis" at binabawas ang Millis () - nakaraangMillis (), makikita natin ang lumipas na oras mula nang na-update ang nakaraangMillis.
Kung nais namin ang isang bagay na mangyari isa bawat segundo, maaari naming gamitin ang sumusunod na code block:
kung ((millis () - nakaraangMillis)> = 1000) {
nakaraangMillis = millis (); toggleLED (); }
Sinusuri nito kung ang pagkakaiba sa pagitan ng millis () (ang kasalukuyang oras) at nakaraangMillis (ang huling oras) ay mas malaki kaysa o katumbas ng 1000 milliseconds. Kung ito ay, ang unang bagay na ginagawa namin ay itakda ang nakaraangMillis na katumbas ng kasalukuyang oras. Pagkatapos ay isinasagawa namin ang anumang karagdagang mga hakbang na nais namin. Sa halimbawang ito, nagpapalipat-lipat kami ng isang LED. Pagkatapos ay lumabas kami sa bloke ng code at tapusin ang natitirang pag-andar ng loop (), bago bumalik sa simula at ulitin itong muli.
Ang pakinabang ng paggamit ng pamamaraang ito sa simpleng pagpapaandar na () pagpapaandar ay ang pagkaantala () naglalagay ng agwat ng oras sa pagitan ng mga tagubilin, ngunit hindi isinasaalang-alang ang oras na kinakailangan upang maipatupad ang iba pang mga tagubilin sa loop () na pagpapaandar. Kung gumagawa ka ng isang bagay na mas matagal kaysa sa isang pag-blink lamang ng isang LED, tulad ng pag-update ng isang LCD screen, ang oras na kinakailangan ay hindi bale-wala, at pagkatapos ng ilang mga pag-ikot ay magdaragdag ito. Kung ina-update mo ang LCD screen sa isang orasan, mabilis itong magiging hindi tumpak at mahuhuli.
Kaya't ngayong naiintindihan namin ang pangkalahatang istraktura ng programa, oras na upang ipasok ang mga tagubilin. Sa halip na ipaliwanag ang bawat solong linya ng code dito, iminumungkahi ko sa iyo na basahin muna ang naka-attach na flowchart, na nagbibigay ng isang mataas na antas ng pangkalahatang ideya ng kung ano ang ginagawa ng programa.
Kapag nakita mo na ang flowchart, tingnan ang nakalakip na Arduino code. Nagkomento ako halos sa bawat linya upang linawin kung ano ang ginagawa ng bawat linya.
Mayroong ilang mga bahagi sa code na maaaring gusto mong baguhin. Pinakamahalaga ay ang gastos bawat litro. Sa aking lungsod, ang tubig ay nagkakahalaga ng 0.2523 ¢ bawat litro. Hanapin ang sumusunod na linya, at baguhin ang halagang iyon upang tumugma sa gastos kung saan ka nakatira:
Const float COST_PER_LITRE = 0.2523; // gastos bawat litro, sa sentimo, mula sa website ng lungsod
Kung mas gusto mong gumamit ng mga galon sa litro, palitan ang lahat ng mga linya ng "LCD.print ()" na tumutukoy sa "L" o "L / s" sa "G" o "G / s". Pagkatapos tanggalin ang sumusunod na linya:
Const float CONVERSION = 450.0; // panatilihin itong hindi nag-iisa para sa litro
… at huwag paganahin ang linyang ito:
const float CONVERSION = 1703.0; // i-unsment ito at tanggalin ang linya sa itaas para sa mga galon
May isa pang kakatwang maaaring napansin mo sa aking code. Ang default na hanay ng character ay hindi kasama ang character na "¢", at ayaw kong gumamit ng dolyar, dahil ang gastos ay lalabas bilang "$ 0.01" o mas kaunti para sa karamihan ng oras. Samakatuwid, napilitan akong lumikha ng isang pasadyang karakter. Ang sumusunod na byte array ay ginagamit upang kumatawan sa simbolong ito:
byte cent_sign = {B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100};
Matapos likhain ang array na ito, ang espesyal na karakter ay dapat na "nilikha" at maiimbak.
lcd.createChar (0, cent_sign);
Kapag tapos na ito, upang mai-print ang pasadyang character na ginagamit namin ang sumusunod na linya:
lcd.write (byte (0)); // sign cents sign (¢)
Ang LCD ay maaaring magkaroon ng hanggang sa 8 pasadyang mga character. Dagdag pang impormasyon tungkol dito ay narito. Natagpuan ko rin ang kapaki-pakinabang sa online na tool na hinahayaan kang gumuhit ng pasadyang character gamit ang isang grapikong interface, at awtomatiko itong bubuo ng pasadyang byte array.
Hakbang 13: Pagsara sa Lid
Sa wakas, halos tapos na kami!
Panahon na upang ipasok ang lahat ng mga electronics sa enclosure at inaasahan na magsara ang takip. Ngunit una, kailangan naming ikabit ang mga 30mm na standoff. Ang pakete ng mga standoff na binili ko ay hindi nagsasama ng anumang ganoong katagal, ngunit may kasamang 20mm at 10mm na maaaring maiugnay nang magkasama. Inihaw ko ang apat na standoffs sa mga butas sa ilalim ng enclosure na may apat na M3 screws (tingnan ang mga imahe na 1 & 2). Siguraduhing higpitan ang mga ito nang ligtas, ngunit hindi masyadong masikip o mapanganib mong masira ang enclosure ng plastik.
Ngayon ay maaari naming magkasya ang lahat ng mga electronics sa loob. Inilakip ko ang charger at pinalakas ang converter sa takip na may dobleng panig na tape, tulad ng nakikita sa pangatlong imahe. Pagkatapos ay binalot ko ang ilang de-koryenteng tape sa nakalantad na metal sa dalawang 3.5mm jacks, upang matiyak na walang maiksi sa pamamagitan ng pakikipag-ugnay sa mga konektor.
Nagawa kong magkasya ang Arduino sa pamamagitan ng paglalagay nito sa gilid nito, sa kaliwang sulok sa kaliwa, na nakaharap sa kanan ang USB port. Gumamit ako ng mas dobleng panig na tape upang ma-secure ang baterya sa ilalim ng enclosure sa ilalim ng LCD screen.
Sa wakas, kapag ang lahat ay nai-jam nang higit pa o mas mababa nang ligtas sa kahon, ang takip ay maaaring ma-screwed down na may apat pang mga M3 na turnilyo.
Hakbang 14: Pagsubok
Unang plug sa 3.5mm konektor mula sa sensor ng daloy. Inirerekumenda kong gawin ito bago i-on ang aparato, dahil posible na ang plug ay gumawa ng hindi ginustong koneksyon habang ipinapasok ito.
Susunod, i-on ang switch ng master power. Habang walang tubig na tumatakbo, ang pindutan ng front panel ay hindi dapat gumawa ng anupaman maliban sa pag-clear sa kabuuan at pag-clear sa screen. Dahil ang kabuuan ay magiging zero sa pamamagitan ng default, ang pindutan ay hindi lilitaw upang gumawa ng anupaman.
Kung binuksan mo ang shower, ang kabuuan ay dapat magsimulang tumaas. Bilang default, ipinakita ang gastos. Kung pinindot mo ang pindutan ng front panel, ang rate ng daloy ay ipapakita sa ilalim na linya. Ang pagpindot sa pindutan ng front panel ay mag-toggle sa pagitan ng pagpapakita ng rate ng daloy at pagpapakita ng gastos, hangga't tumatakbo ang shower. Sa sandaling tumigil ang shower, ang pagpindot sa pindutan ng front panel ay ire-reset ang mga sukat at i-clear ang screen.
Tumataas
Kung paano mo pipiliing i-mount ang aparato ay nakasalalay sa layout ng iyong shower. Ang ilang mga shower ay maaaring magkaroon ng isang palit na malapit sa shower head na maaari mo lamang ilagay ang aparato doon. Sa aking shower, mayroon akong isang basket na nakalakip sa mga suction cup na inilagay ko ang aparato sa loob. Kung wala kang luho ng isang gilid o basket, maaari mong subukang hawakan ang aparato sa dingding gamit ang isang dobleng panig na suction cup. Gagana lamang ito kung gumagamit ka ng isang enclosure na nasa labas ng istante na may makinis na pag-back, o na-print mo ang aking pasadyang enclosure sa isang printer na may baso na plate na bumuo. Kung ang iyong enclosure ay may isang magaspang na pag-back (tulad ng ginagawa ng minahan), maaari mong subukang gumamit ng ilang double-sided tape, bagaman maaaring mag-iwan ito ng nalalabi sa iyong shower wall kung susubukan mong alisin ang aparato.
Pag-troubleshoot
Bukas ang screen, ngunit naka-off ang backlight - tiyaking naka-install ang jumper sa dalawang mga pin sa gilid ng module na I ² C
Blangko ang screen, na naka-on ang backlight - suriin kung tama ang address na I ² C sa pamamagitan ng pagpapatakbo ng I²C scanner
Ang screen ay nakabukas, ngunit ang mga halaga ay mananatiling zero - suriin na mayroong isang senyas na nagmumula sa sensor sa pamamagitan ng pagsukat ng boltahe sa pin 2. Kung walang signal, suriin na ang sensor ay konektado nang maayos.
Blangko ang screen na naka-off ang backlight - suriin kung ang power LED sa Arduino ay nakabukas, at suriin na ang screen ay may kapangyarihan
Ang screen ay nakabukas sandali, pagkatapos ay tumitigil ang lahat - malamang na itinakda mo ang boltahe mula sa boost converter na masyadong mataas (ang mga sangkap ay hindi maaaring hawakan ang higit sa 5V)
Gumagana ang aparato, ngunit ang mga halaga ay mali - tiyakin na ang daloy ng sensor na iyong ginagamit ay may parehong kadahilanan ng conversion na 450 pulso bawat litro. Ang magkakaibang mga sensor ay maaaring may iba't ibang mga halaga.
Hakbang 15: Ngayon Simulan ang Pag-save ng Tubig
Mga pagpapabuti
Ang kasalukuyang bersyon ng software ay gumagana nang sapat, ngunit sa paglaon nais kong magdagdag ng kakayahang magkaroon ng iba't ibang mga gumagamit (mga miyembro ng pamilya, kasambahay, atbp.) Itatago ng aparato ang mga istatistika ng bawat tao (kabuuang tubig at kabuuang bilang ng mga shower) sa ipakita ang isang average na paggamit ng tubig para sa bawat tao. Maaari nitong hikayatin ang mga tao na makipagkumpetensya upang magamit ang pinakamaliit na dami ng tubig.
Ito rin ay magiging cool na magkaroon ng isang paraan upang i-export ang data upang matingnan sa isang spreadsheet, upang maaari itong graphed. Pagkatapos ay maaari mong makita kung anong mga oras ng isang taon ang mga tao ay may mas madalas at mas mahabang shower.
Ang mga tampok na ito ay mangangailangan ng paggamit ng EEPROM - ang built-in na memorya ng Arduino na hindi nababagabag na memorya. Papayagan nitong mapanatili ang data kahit na naka-off ang aparato.
Ang isa pang kapaki-pakinabang na tampok ay isang tagapagpahiwatig ng baterya. Sa ngayon, ang tanging pahiwatig na kailangang i-recharge ang aparato ay kapag pinutol ng power manager board ang baterya. Madaling mag-hook up ng isang labis na analog input upang masukat ang boltahe ng baterya. Ang isang divider ng boltahe ay hindi kinakailangan dahil ang boltahe ng baterya ay laging mas mababa sa 5V.
Ang ilan sa mga ideyang ito ay hangganan sa tampok na kilabot, na ang dahilan kung bakit hindi ko pa binuo ang software.
Ang iba ay bahala na sayo!
Unang Gantimpala sa Paligsahan sa Mga Sensor
Inirerekumendang:
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Tubig na Naa-access !: 7 Mga Hakbang (na may Mga Larawan)
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Dragon na Naa-access !: Ang pagbagay ng laruan ay nagbubukas ng mga bagong paraan at na-customize na solusyon upang payagan ang mga bata na may limitadong mga kakayahan sa motor o mga kapansanan sa pag-unlad na makipag-ugnay sa mga laruan nang nakapag-iisa. Sa maraming mga kaso, ang mga bata na nangangailangan ng inangkop na mga laruan ay hindi maaring
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Senyas na Pagliko: 5 Hakbang (na may Mga Larawan)
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Sinyales na Pag-turn: Gustong-gusto kong sumakay ng bisikleta, karaniwang ginagamit ko ito upang makarating sa paaralan. Sa oras ng taglamig, madalas na madilim pa rin sa labas at mahirap para sa ibang mga sasakyan na makita ang mga signal ng aking kamay na lumiliko. Samakatuwid ito ay isang malaking panganib dahil maaaring hindi makita ng mga trak na nais kong
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c
PCB Etching Machine. Makatipid ng Pera at Oras .: 8 Mga Hakbang
PCB Etching Machine. Makatipid ng Pera at Oras ….: Tulad ng nakikita mo mula sa larawan. Ito ang aking DIY etching machine. Itinayo ko ang etching machine na ito halos 10 taon na ang nakakaraan (1998) … Ang sumusunod na hakbang ay ang detalye ng konstruksyon ….. Masaya
Makatipid ng Malaking Pera! Bumili ng Online !: 6 Mga Hakbang
Makatipid ng Malaking Pera! Buy Online !: Hindi ka naniniwala na ang pera na nakita kong nasayang sa hindi magandang pagsasaliksik, mga paglalakbay sa mga magarbong tindahan o sa pesky impulse na pagbili. Malaking diskwento ay ilang pag-click lamang ang layo. Sa kasamaang palad ang mga website ay hindi eksaktong tumalon sa iyo kaya masuwerte para sa iyo na