Mündəricat:
- Təchizat
- Addım 1: Su yalıtımı
- Addım 2: Xüsusi 3D Çaplı Kassam
- Addım 3: LCD ekranın quraşdırılması
- Addım 4: Bir anlıq düyməni quraşdırın
- Addım 5: Güc və Şarj Dairəsi
- Addım 6: Şarj Kabeli
- Addım 7: Axın Sensoru haqqında
- Addım 8: Akış Sensorunun Kabelləri
- Addım 9: Axın Sensorunun quraşdırılması
- Addım 10: Arduino və Perfboard
- Addım 11: Hər şeyi naqilləşdirin
- Addım 12: Proqramlaşdırma
- Addım 13: Qapağı bağlayın
- Addım 14: Test
- Addım 15: İndi Su qənaət etməyə başlayın
Video: Duş Su Monitoru ilə Suya və Pulunuza qənaət edin: 15 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Hansı daha çox su istifadə edir - hamam və ya duş?
Bu yaxınlarda bu sualı düşünürdüm və başa düşdüm ki, əslində duş qəbul edərkən nə qədər suyun istifadə edildiyini bilmirəm. Bilirəm ki, duşda olduğum zaman ağlım sərin yeni layihələr ideyası haqqında düşünür və ya səhər yeməyinə nə yeyəcəyimə qərar verməyə çalışır. Hər dəfə neçə litr istifadə etdiyimi bilsəydim, su istehlakımı azaltmaq daha asan olardı!
Bir az araşdırma apardım və gördüm ki, fərqli bir duş başlığı, bir axın məhdudlaşdırıcısı quraşdırılmış olsanız, dəqiqədə 9,5 litrdən (2,5 galon) 6 dəqiqədən (1,6 galon) az hər yerdə istifadə edə bilər. Çox köhnə bir duş daha çox su istifadə edə bilər.
Duş üçün istifadə olunan suyun ümumi həcmini, suyun qiymətini və axın sürətini göstərən bir cihaz dizayn etmək və qurmaq qərarına gəldim. Bu cihazı bir neçə həftədir quraşdırmışam və istifadə olunan suyun miqdarını canlı oxumaq həqiqətən əlverişlidir.
Bu Təlimat kitabında bunu necə qurduğumu izah edəcəyəm. Əlbəttə ki, mənim adımları dəqiq yerinə yetirməyinizə ehtiyac yoxdur! Ətrafınızda yatan hissələrdən istifadə etmək həmişə yaxşıdır. İstifadə etdiyim bütün hissələrə və ya işləyəcək ekvivalent hissələrə bağlantılar daxil etdim.
Təchizat
(Bütün qiymətlər ABŞ dolları ilə)
- Axın Sensoru - 3.87 dollar
- LCD ekran - 2.29 dollar
- Arduino Nano - 1,59 dollar
- Boost Dönüştürücü - 1.88 dollar
- LiPo şarj cihazı - 1.89 dollar
- Suya davamlı keçid açarı - 0,93 dollar (istifadə etdiyim dəqiq deyil, amma işləməlidir)
- Suya davamlı düymə - 1.64 dollar
- Qarşılaşmalar, M3 vintlər və qoz -fındıq - 6.99 dollar
- 2X Qadın 3.5mm Jack - $ 2.86 ea.
- Kişi 3.5mm Fiş - 1.48 dollar
- 3.5mm 3 'Kabel Montajı - 3.57 dollar
- USB kabel qurğusu - 1.74 dollar
- 1/2 "NPS Dişi-Qadın Bağlantısı-$ 1.88
- 500mAh 3.7V LiPo Batareya - 3.91 dollar
Alətlər və Ümumi Təchizatlar
- Lehimləmə Dəmiri və Lehim
- Tel
- Tel kəsicilər
- Tel çıxarıcılar
- İki tərəfli lent
- Phillips Tornavida
- 3D printer (isteğe bağlı)
Addım 1: Su yalıtımı
Bu layihənin ən çətin tərəfi hər şeyi suya davamlı etməkdir. Duşda yerləşəcəyi üçün həddindən artıq rütubətdən və arada bir sıçramadan sağ çıxmağı bacarmalıdır. Bu layihəyə sərf olunan ümumi vaxtın təxminən 75% -i bu hissəni başa düşmək idi.
Baxdığım kimi, iki seçim var: xüsusi 3D çaplı bir korpus dizayn edin və ya onu hazır bir korpusla işləməyə çalışın. Bu yaxınlarda öz 3D printerim olduğu üçün birinci variantla getməyə qərar verdim.
3D printerə girişiniz yoxdursa, suya davamlı olduğunu iddia etdiyim və yəqin ki, işləyəcəyini düşündüyüm bəzi hazır qablar var. Diqqət yetirin ki, bu korpuslardan heç birini almamışam, buna görə də bütün komponentlərin içəriyə uyğun olacağına heç bir zəmanət vermirəm!
Banggood - Şəffaf Qapaqlı 100x68x50mm Qutu - 5.35 dollar
Digikey - Şəffaf Qapaqlı 130x80x70mm Qutu - 11.65 dollar
Bu nöqtədən sonra, korpusa istinad edərkən, 3D çapdan bəhs edirəm.
Addım 2: Xüsusi 3D Çaplı Kassam
Fusion 360 -da bir neçə saat işlədikdən sonra bu qəfəsə gəldim. İki dişi 3,5 mm krikoya və bir keçid açarına uyğun üç dairəvi kəsik var. Qapaqda bir anlıq düymə üçün 16 mm -lik bir çuxur və ekranın düzbucaqlı kəsikləri, eləcə də ekranı yerində saxlamaq üçün dörd montaj deliği var. Qapaq ayrı bir hissədir və nəmin dikişdən girməsinin qarşısını almaq üçün bir dodağa malikdir. Qutunun künclərindəki dörd delik, qapağı 30 mm dayaqlarla tutmalıdır. Bütün vida deliklərinin diametri 3 mm -dir, bu da M3 vidasına uyğundur.
STL fayllarını Thingiverse səhifəmdən yükləyə bilərsiniz. Heç bir sal və ya dayaq olmadan çap edilə bilər, ancaq təhlükəsiz olmaq üçün dayaqlardan istifadə etdim. Mən də 100% doldurma istifadə etdim. Divarlar o qədər incə olduğundan dolma faizini azaltmaq ümumi çap müddətini və ya ümumi materialı dəyişmir, buna görə də onu 100%-də saxladım.
Ekranı görünən etmək üçün ya korpusun qapağındakı kəsikdən çıxa bilər, ya da şəffaf bir pəncərənin arxasına yerləşdirilə bilər. Ekran nəmə məruz qalmamalı olduğundan, ikinci variantda qalırıq. Təəssüf ki, şəffaf filamentli 3D çap hələ başlanğıc mərhələsindədir, buna görə bir az yaradıcı olmalıyıq.
Mənim həllim qapaqda düzbucaqlı bir kəsik yaratmaq və bəzi tərəvəz qablaşdırmalarından şəffaf plastikdən yapışdırmaq idi. Bu texnika mənim xüsusi korpusumdan istifadə etməsəniz də istifadə edilə bilər; sadəcə bıçaq və ya Dremel ilə düzbucaqlı kəsin. Əlbəttə ki, şəffaf qapaqlı bir korpusdan istifadə edirsinizsə, buna heç ehtiyac da yoxdur.
Tapdığım şəffaf plastik üçün ən yaxşı qaynaq istehsal olunan qablaşdırmadır. Adətən ispanaq və ya digər yarpaqlı tərəvəzlər böyük şəffaf plastik qablarda olur. Mənim vəziyyətimdə, "bibər qarışığı" nın qablaşdırmasını istifadə etdim.
Yapışqan üçün çoxlu səth sahəsi vermək üçün 5 mm -lik bir çıxıntı istədim və 27x77 mm şəffaf plastikdən düzbucaqlı kəsdim. Vintlərin oturması üçün küncləri bir az kəsməli oldum. Kəsikin ətrafına super yapışqan xətti səpdim və sonra şəffaf plastik taxdım. Mühürlü olduğundan əmin olmaq üçün kənarına bir az daha super yapışqan əlavə etdim.
Pro-Tip: Yapışqan quruyarkən hissəni kiçik bir fanın qarşısına qoyun. Superglue quruduqca, şəffaf pəncərəmizdə istəmədiyimiz çirkin bir ağ qalıq buraxmağa meyllidir. Bir kompüterin enerji təchizatından köhnə 12V fan istifadə etdim. Tamamilə quruduğundan əmin olmaq üçün yapışqanın 12 saat dayanmasına icazə verdim.
Addım 3: LCD ekranın quraşdırılması
Şəffaf pəncərə qurudulduqda, LCD quraşdırıla bilər. LCD, arxa tərəfə əvvəlcədən lehimli I²C "sırt çantası" olan 16x2 xarakterli super populyar bir ekrandır. Bu ekranı I²C interfeysi ilə əldə etməyi çox tövsiyə edirəm. Bütün paralel xətlərin çəkilməsi olduqca zəhlətökəndir və səhvlər üçün daha çox potensial təqdim edir - I²C versiyasında yalnız güc üçün iki tel və siqnal üçün iki tel var.
Ekranı montaj etmək üçün 10 mm -lik dörd dayaqdan istifadə etdim. Qarşılaşmaların hər birinin bir ucunda kişi ipi, digər ucunda qadın ipi var. Kişi ipini LCD -nin deliklərindən keçirtdim və hər birinə M3 qozunu sıxdım. Sonra dörd M3 vintindən istifadə edərək qapının qapağından çıxan dayaqların qadın uclarını bağladım. LCD -ni quraşdırmaq üçün 10 mm, qapağı bazaya tutmaq üçün daha uzun olanlar olan bu müqavimət paketini aldım. Üstəlik, M3 vintlər və qoz -fındıq var, buna görə heç bir əlavə avadanlıq almağa ehtiyac yoxdur.
Fındıqların çox sıx olduğundan əmin olun ki, vintləri sıxanda dayaqlar dönməsin. Ayrıca, vintləri çox sıxmadığınızdan əmin olun, yoxsa plastik qapaq deformasiya oluna bilər və düzgün bağlanmır.
LCD -də 16 başlıq sancağı üstdə olmalıdır - LCD -ni tərs yerə bağlamadığınızdan əmin olun!
Addım 4: Bir anlıq düyməni quraşdırın
Ön paneldəki bu xəstə görünüşlü xrom düymədən istifadə etmək qərarına gəldim. Onları əvvəlki layihələrdə istifadə etmişəm və görünüşlərini çox bəyənirəm. Su keçirməməlidirlər və nəmin yivlərdən korpusa girməməsi üçün bir rezin halqa ilə gəlirlər.
Bu addım olduqca sadədir. Qozu açın, ancaq rezin üzüyü açıq saxlayın. Düyməni qapağın dəliyindən daxil edin və qozu arxa tərəfdən sıxın. Fındıqın həddindən artıq sıxılmasından çəkinin, əks halda rezin üzük əziləcək və məqsədinə xidmət etməyəcək.
Addım 5: Güc və Şarj Dairəsi
İndi batareyanın enerji komponentlərini bir araya gətirəcəyik. Bura batareya, əsas keçid, batareya monitorinq/şarj lövhəsi və gücləndirici çevirici daxildir.
İstifadə etdiyim batareya 3.7V 1500 mAh tək hüceyrəli lityum ion batareyadır. İstifadə etdiyim konkret bir Playstation nəzarətçisindən çəkildi. Hər bir tək hüceyrəli Li-Ion və ya LiPo batareyası, korpusunuza uyğun olduğu müddətdə işləyəcək. Bu tip batareya çox incə və düz olmağa meyllidir, buna görə də heç bir problem olmadan mənimkindən iki qat böyük istifadə edə bilərsiniz. 18650 hüceyrə işləyəcək, ancaq mənim xüsusi korpusuma uyğun gəlmir, buna görə özünüzü dizayn etməli və ya hazır olmayan bir korpusdan istifadə etməlisiniz. Mümkünsə, xilas edilmiş bir batareyadan istifadə etməyi məsləhət görürəm (etdiyim kimi), çünki göndərmə batareyaları çox vaxt bahadır!
Batareya əvvəlcə TP4056 şarj lövhəsinə lehimlənməlidir. İstəyirsinizsə, rahatlıq üçün batareyaya və şarj cihazına JST RCY konnektorunu lehimləyə bilərsiniz (bunu etdim), amma bu lazım deyil. Şarj cihazının lövhəsindəki işarələrdə göstərildiyi kimi düzgün polariteyi müşahidə etdiyinizə əmin olun, çünki lövhə əks batareya polaritesinə qarşı qorunmur!
Sonra, şarj cihazının müsbət çıxışından (pozitiv batareya telinin yanında yerləşir) gücləndirici çeviricinin müsbət girişinə bir tel lehimləyin. Sonra, mənfi çıxışdan (mənfi batareya telinin yanında yerləşir) bir telin əsas keçid düyməsinin ümumi (orta) pininə lehimləyin. Nəhayət, açarın normal açıq olan pinindən gücləndirici çeviricinin mənfi girişinə bir tel lehimləyin. Bir multimetri gücləndirici çeviricinin çıxışına bağlayırsınızsa və əsas açarı açarsanız, bir gərginlik göstərilməlidir.
Arduino, LCD ekranı və axın sensorumuzun hamısı 5V -ə ehtiyac duyduğundan, gücləndirici çeviricinin çıxışını 5V -ə təyin etməliyik. Kiçik bir tornavida ilə potensiometrdəki düyməni çevirməklə əldə edilir. Əsas açar açıldıqda, batareyaya qoşulduqda və sürətləndiricinin çıxışına bağlı olan multimetrdə, potensialiometr yavaş -yavaş, çıxış 5V olana qədər çevrilir. Tam olaraq 5.000V oxu əldə etmək çətin olacaq, ancaq 4.9V ilə 5.1V arasında bir gərginliyi hədəfləyin.
Xüsusi qapağım bir neçə vintlə bağlandığından, hər dəfə doldurulması lazım olanda işi açmaq istəmirik. Bunun üçün 3,5 mm qulaqlıq yuvasından istifadə etdim. İstifadə etdiyim konnektor, Digikey -dəndir (mənim korpusumdakı kəsiklərin ölçüsü budur), amma Banggood -dan olan bu da işləməlidir.
Əvvəlcə konnektoru korpusun ən dibindəki çuxura daxil etdim. Bu çox vaxt elektrikdən ayrılacaq və buna görə də nəmin daxil olmasına həssas olacağından, suyun içəridən damlamaması üçün dibinə quraşdırmaq daha yaxşıdır. Kilid yuyucusunu qurduqdan və qozu sıxdıqdan sonra, konnektordakı "ucu" və "qolu" çıxıntılarına iki teli lehimlədim. Konnektorun çıxışı annotasiya edilmiş şəkillərimdən birində göstərilmişdir. "Qol" telinin digər ucunu mikro USB portunun yanında şarj cihazının mənfi girişinə lehimlədim. Nəhayət, "ucu" teli USB portunun digər tərəfindəki +5V yastığına lehimlədim. Şarj cihazındakı USB portu istifadə edilməyəcək, çünki USB portunun içəriyə nəmə icazə vermədən korpusa nüfuz etməsi çətin olardı.
Addım 6: Şarj Kabeli
Şarj portu olaraq 3,5 mm audio jak istifadə etdiyimiz üçün, bir ucunda 3,5 mm kişi fişi, digər ucunda isə USB A fişi olan bir adapter kabeli hazırlamalıyıq. Bu, bu cihazı doldurmaq üçün hər hansı bir ümumi mobil cihaz şarj cihazından (məsələn, iPhone şarj cihazı) istifadə etməyimizə imkan verəcəkdir.
Bir ucunda USB A konnektoru və digər ucunda qalın tellər olan bir USB kabel qurğusu ala bilərsiniz, amma mənim kimi olsanız, ehtimal ki, ətrafında ehtiyac duymadığınız bir çox təsadüfi USB kabeliniz var. Bir USB kabel qurğusu almaq əvəzinə, ehtiyac duymadığım bir mikro USB -dən USB A kabelinə sahib oldum və mikro USB konnektorunu kəsdim.
Sonra ağ ceketini çıxarıb içindəki cəmi iki teli açdım: qırmızı və qara tel. Bəzi USB kabellərində dörd tel olacaq: qırmızı, qara, yaşıl və ağ. Yaşıl və ağ məlumatların ötürülməsi üçündür və nəzərə alınmır. Yalnız qırmızı və qara tellərdən izolyasiyanı çıxarın.
Sonra 3,5 mm -lik kişi fişinə ehtiyacınız olacaq. Bunu Banggood -dan istifadə etdim. Qırmızı teli USB kabeldən orta konnektə (bağlayıcının ucu) və qara teli uzun qollu çubuğa lehimləyin. Aydınlıq üçün fotoşəkillərimə baxın.
Həmişə USB fişindən əvvəl 3,5 mm fişi taxmağı məsləhət görürəm, çünki kabelin bağlanması prosesi prizin metal yuvada qısa olmasına səbəb ola bilər.
Addım 7: Axın Sensoru haqqında
Bu axın sensorunu Banggood -dan 3.87 dollara aldım. İstifadədən əvvəl bunun necə işlədiyini araşdırmağa qərar verdim.
Dizayn təəccüblü dərəcədə sadə və ağıllıdır. Elektronika sudan tamamilə möhürlənmişdir. Axın sürətindən asılı olaraq daha yavaş və ya daha sürətli fırlanan pulsuz bir fırlanan pervane var. Pervanenin bir nöqtəsində bir maqnit var. Sensorun xarici tərəfində iki komponentdən ibarət kiçik bir PCB olan kiçik bir bölmə var: bir rezistor və bir zal effekti sensoru. Hər dəfə maqnit salon effekti sensoru yanından keçəndə yüksək və aşağı arasında dəyişir. Başqa sözlə, pervanenin hər döndüyü zaman 5V ilə 0V arasında dəyişir.
Sensoru oxumaq üçün qırmızı teldə +5V, qara teldə mənfi və sarı teldən gələn rəqəmsal siqnalı oxuyuruq. Osiloskopumun fotoşəklində, axın açıldıqda siqnalın necə dəyişdiyini görə bilərsiniz. Əvvəlcə siqnal daim sıfır voltdur. Axın başladıqda, impulsların tezliyi sürətlə artır və sabit bir vəziyyətə çatır.
Məlumat cədvəlinə görə, sensor litr başına 450 impuls verir. Proqramı yazarkən bu daha sonra vacib olacaq.
Addım 8: Akış Sensorunun Kabelləri
Axın sensoru 3 pinli JST-XH konnektoru ilə gəlir. Teller çox qısadır və bağlayıcıda boş su damlaları ilə asanlıqla qısalana bilən açıq kontaktlar olduğu üçün bu ideal deyil. Bu 3,5 mm audio fiş kabel qurğusunu Digikey -dən sifariş etdim. 3 'uzunluğundadır, bu mükəmməl uzunluqdur və qalay tellərə malikdir, bu da lehimləməyi asanlaşdırır. Köhnə qulaqlıq kabelindən istifadə etməyi məsləhət görmürəm, çünki çox nazik emaye telə malikdirlər, bu da lehimləmək demək olar ki, mümkün deyil.
Akış sensoru, iki Phillips vintindən tutulan plastik bir qapağa malikdir. Sadəcə bu vintləri sökün və elektron lövhəni çıxarın. Heç bir yapışqan ilə tutulmur, sadəcə plastik qapaqla yerində saxlanılır. Sonra, üç teli bir lehimləmə dəmiri ilə qızdıraraq və bir -bir qaldıraraq sökün.
Sonra, 3,5 mm audio kabelini yastiqlərə lehimləyin. Rəngləri etdiyim kimi uyğunlaşdırmağı təklif edirəm. Bu konfiqurasiyanın ucunda +5V, halqada siqnal və qolu üzərində torpaq var. Bu, 6 -cı addımdakı şarj portu üçün istifadə olunan konfiqurasiyadır, təsadüfən şarj cihazını sensor portuna qoşursunuzsa və ya əksinə, cihazda heç bir ziyan olmayacaq.
Addım 9: Axın Sensorunun quraşdırılması
Bu vaxta qədər bütün işlərimiz atelyedə baş tutdu. Ancaq indi hamama getmək vaxtıdır!
Əvvəlcə duş başlığını çıxardım. Bu, 1/2 NPS kişi yivli, divardan çıxan qısa bir borunu ortaya qoydu. Əlverişli olaraq, axın sensörümüz eyni iplik ölçüsünə malikdir! Yeganə problem, sensorun hər iki ucunda kişi yivinin olmasıdır. qadından dişi birləşməsinə ehtiyac var.
Yerli hardware mağazamda, pirinç, dəmir və PVC -də 1/2 düymlük muftalar var idi. PVC ən ucuz idi, buna görə də onu aldım. Gec düşünsəm də, pirinç və ya polad olanlar daha gözəl görünərdi.
Kuplajı əldə etdikdən sonra, axın sensörünü kaplinə vidalayın və sonra muftanın digər ucunu boruya vidalayın. Axın sensoru, nəzərdə tutulan axın istiqamətini göstərən bir oxa malikdir. Arxa tərəfə quraşdırmadığınızdan əmin olun, əks halda ölçülər qeyri -dəqiq ola bilər. Nəhayət, duş başlığını axın sensörünün ucuna vidalayın.
Əlbəttə ki, duşunuzun mənimki kimi 1/2 NPS iplik istifadə etdiyini düşünürəm. Əgər belə deyilsə, əlavə adapterlər almalı olacaqsınız.
Pro-Tip: Sızıntıların qarşısını almaq üçün parçaları vidalamadan əvvəl bütün ipliklərə bir az Teflon tesisatçının bantını əlavə edin. Əlimdə heç bir şey yox idi, amma yaxın gələcəkdə bunu əlavə etməyi planlaşdırıram.
Addım 10: Arduino və Perfboard
Çoxlu naqillər çəkməliyik, hər şeyi bir az səliqəli etmək üçün bir parça taxta taxmaq yaxşı olar. Təxminən 1 "x 2" perforbord düzbucaqlı kəsdim. Sonra Arduino Nanonu lövhənin ortasına qoydum və baş sancaqlarının haradan keçdiyini qeyd etdim. Sonra hər biri 15 sancaq olan iki başlıq qadın başlıq kəsdim. Bunları əvvəllər qeyd etdiyim mükəmməl lövhəyə lehimlədim. Bu, proqramlaşdırma üçün Arduinonu silməyimizə imkan verəcək.
Pro-Tip: Arduinonun USB portunun istiqamətini qeyd edin ki, onu da həmişə eyni taxtaya qoşun.
Addım 11: Hər şeyi naqilləşdirin
İndi hər şeyi birlikdə lehimləmə vaxtıdır! Daha çox istiqamətləndirilmiş bir yanaşma istəsəniz, izləyə biləcəyiniz və ya aşağıda yazılı addımlarımı görə biləcəyiniz tam bir kabel diaqramı daxil etdim.
Əvvəlcə bir neçə kişi başlıq sancaqları kəsdim və +5V və yer relslərindəki lövhəyə lehimlədim. Sonra Arduino'da A4 və A5 sancaqlarına bağlı daha iki başlıq pinini lehimlədim. Bu başlıqlar, LCD ekranı dişi-dişi atlayıcılardan istifadə edərək bağlamağımıza imkan verəcək.
Sonra, gücləndirici çeviricinin çıxışından +5V və yer relslərinə bir cüt tel lehim etdim. Bu, Arduinoya, LCD -yə və axın sensoruna güc verəcək.
Bundan sonra iki tel kəsdim və düymənin terminallarına bağladım. Bir teli yer rayına, digərini rəqəmsal pin 3 -ə lehimlədim.
Lehimlənmənin son hissəsi axın sensorudur. Sensora artıq 3,5 mm -lik bir fiş bağladığımız üçün 3,5 mm -lik bir qadın yuvasını lehimləməliyik. Əvvəlcə üç teli lehimlədim - jakdakı hər bir tırnağa. Sonra krikoru korpusdan daxil etdim və qozla yerində bağladım. Nəhayət, qolu yerə, ucunu +5V -ə və üzüyü rəqəmsal pin 2 -ə lehimlədim.
Düymə və axın sensoru üçün rəqəmsal sancaqlar 2 və 3 -dən istifadə etməyi seçdim, çünki onlar aparat kəsmə sancaqlarıdır. Bu, kodu yazmağı çox asanlaşdıracaq.
İndi lehimləmə başa çatdı, amma yenə də LCD -ni bağlamalıyıq. Başlıqları lehimlədiyimiz üçün yalnız dörd dişi-dişi atlayıcıya ehtiyacımız var. "Vcc" pinini +5V -ə, "Gnd" pinini yerə, "SCL" pinini A5 -ə və "SDA" pinini A4 -ə qoşun. LCD ekranın korpusa sığması üçün başlıq sancaqlarını geriyə əymək lazımdır. Sancaqları bir neçə dəfə irəli -geri əymək metalın yorulmasına və sancaqların qırılmasına səbəb olacaq, buna görə də onları yalnız bir dəfə əyilməyi və ehtiyatla etməyi məsləhət görürəm.
İndi naqillər tamamlandı!
Addım 12: Proqramlaşdırma
İndi bütün avadanlıqlar bağlı olduğu üçün Arduino proqramlaşdıra bilərik.
Proqramın aşağıdakı xüsusiyyətlərə malik olmasını istəyirəm:
- İlk sətirdə, ümumi litrlərin sürətlə yenilənən sayını göstərin
- İkinci sətirdə suyun ümumi dəyərini və ya axın sürətini göstərin
- Duş işləyərkən, düymə dəyəri və ya axın sürətini göstərmək arasında dəyişir
- Duş işləmədikdə, düymə bütün məlumatları silməli və ekranı sıfırlamalıdır
- Ümumi səsvermə üsullarından qaçmaq üçün sensor fasilə qaydası ilə oxunmalıdır
- Ekranı yeniləyərkən, hər dəfə bütün ekranın üzərinə yazmaq əvəzinə, yalnız dəyişən dəyərləri yeniləməliyik (bu nəzərəçarpacaq dərəcədə titrəməyə səbəb olardı)
Proqram sadə bir quruluşa malikdir. Millis () funksiyasından istifadə edərək, proqramın icrasını dayandırmayan gecikmələr yarada bilərik. Delay () funksiyasından istifadə etmədən bir LED -in yanıb -sönməsinin nümunəsi üçün bu təlimata baxın.
Millis () funksiyası, Arduinonun işə salınmasından bəri milisaniyələrin sayını qaytarır. Bir "əvvəlkiMillis" dəyişənini yaradaraq və Millis () - previousMillis () çıxaraq, əvvəlkiMillisin yenilənməsindən keçən vaxtı görə bilərik.
Saniyədə bir şeyin olmasını istəyiriksə, aşağıdakı kod blokundan istifadə edə bilərik:
əgər ((milis () - əvvəlkiMillis)> = 1000) {
əvvəlkiMillis = milis (); keçidLED (); }
Bu, millis () (cari vaxt) və əvvəlkiMillis (sonuncu dəfə) arasındakı fərqin 1000 milisaniyədən böyük və ya bərabər olub olmadığını yoxlayır. Əgər belədirsə, etdiyimiz ilk şey əvvəlkiMillis -i cari zamana bərabər etməkdir. Sonra istədiyimiz əlavə addımları yerinə yetiririk. Bu nümunədə bir LED -i dəyişdiririk. Sonra bu kod blokundan çıxırıq və loop () funksiyasının qalan hissəsini başa vururuq, başlanğıcına qayıtmadan və yenidən təkrarlamadan.
Bu metodun sadə gecikmə () funksiyasından üstünlüyü, gecikdirmənin () göstərişlər arasında vaxt boşluğu qoymasıdır, lakin loop () funksiyasındakı digər göstərişlərin yerinə yetirilməsi üçün lazım olan vaxtı nəzərə almamasıdır. Bir LCD ekranı yeniləmək kimi bir LED -in yanıb -sönməsindən daha uzun çəkən bir iş görürsənsə, lazım olan vaxt əhəmiyyətsiz deyil və bir neçə dövrdən sonra əlavə olunacaq. LCD ekranı bir saatda yeniləyirsinizsə, tezliklə dəqiqləşməyəcək və geridə qalacaq.
İndi proqramın ümumi quruluşunu başa düşdüyümüz üçün təlimatları daxil etməyin vaxtı gəldi. Burada hər bir kod sətrini izah etmək əvəzinə, əvvəlcə proqramın nə etdiyinə yüksək səviyyəli bir baxış verən əlavə edilmiş sxemlə tanış olmağı təklif edirəm.
Akış sxemini gördükdən sonra əlavə edilmiş Arduino koduna baxın. Hər sətrin nə etdiyini aydınlaşdırmaq üçün demək olar ki, hər sətiri şərh etdim.
Kodda dəyişdirmək istəyə biləcəyiniz bir neçə hissə var. Ən başlıcası, hər litr üçün maya dəyəridir. Şəhərimdə suyun hər litri 0.2523 ¢ təşkil edir. Aşağıdakı sətri tapın və bu dəyəri yaşadığınız yerə uyğun olaraq dəyişdirin:
const float COST_PER_LITRE = 0.2523; // şəhərin veb saytından litr başına qiymət, sentlərlə
Əgər litrdən artıq galon istifadə etmək istəyirsinizsə, "L" və ya "L/s" ilə əlaqəli bütün "LCD.print ()" sətirlərini "G" və ya "G/s" olaraq dəyişdirin. Sonra aşağıdakı sətri silin:
const float CONVERSION = 450.0; // bunu litr üçün şərhsiz saxlayın
… və bu sətri şərh edin:
const float CONVERSION = 1703.0; // buna fikir bildirməyin və galon üçün yuxarıdakı sətri silin
Kodumda fərq edə biləcəyiniz daha bir qəribəlik var. Varsayılan xarakter dəstinə "¢" simvolu daxil deyil və dollardan istifadə etmək istəmədim, çünki xərc əksər hallarda "$ 0.01" və ya daha az göstərilir. Buna görə də xüsusi bir xarakter yaratmağa məcbur oldum. Bu simvolu təmsil etmək üçün aşağıdakı bayt dizisi istifadə olunur:
bayt cent_sign = {B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100};
Bu serialı yaratdıqdan sonra xüsusi xarakter "yaradılmalı" və saxlanmalıdır.
lcd.createChar (0, cent_sign);
Bunu etdikdən sonra xüsusi xarakteri çap etmək üçün aşağıdakı sətri istifadə edirik:
lcd.write (bayt (0)); // sent sent işarəsi (¢)
LCD -də 8 -ə qədər xüsusi simvol ola bilər. Bu barədə daha çox məlumat burada. Xüsusi bir qrafik interfeysi istifadə edərək xüsusi bir xarakter çəkməyə imkan verən bu faydalı onlayn vasitəyə də rast gəldim və avtomatik olaraq xüsusi bayt silsiləsi yaradacaq.
Addım 13: Qapağı bağlayın
Nəhayət, demək olar ki, bitirdik!
Bütün elektronikanı korpusa doldurmağın vaxtıdır və qapağın bağlanacağını ümid edirik. Ancaq əvvəlcə 30 mm -lik dayaqları bağlamalıyıq. Aldığım müqavimət paketində o qədər uzun olanlar yoxdur, ancaq bir -birinə yapışdırıla bilən 20 mm və 10 mm olanları ilə gəlir. Dörd M3 vintlə korpusun altındakı deliklərə dörd dayaq vurdum (şəkillər 1 və 2 -ə baxın). Bunları etibarlı bir şəkildə sıxdığınızdan əmin olun, amma çox sıx deyil və ya plastik qapağı qırmaq riski ilə üzləşirsiniz.
İndi bütün elektronikanı içəriyə yerləşdirə bilərik. Üçüncü şəkildə göründüyü kimi şarj cihazını və gücləndirici çeviricini iki tərəfli lentlə qapağa bağladım. Sonra bağlayıcılarla əlaqə saxlayaraq heç bir şeyin qısalmamasını təmin etmək üçün iki 3,5 mm krikonun üzərindəki metalın ətrafına bir az elektrik lenti sardım.
Arduino -nu USB portu sağa baxaraq, sol alt küncdə, yan tərəfə qoyaraq uyğunlaşdıra bildim. Batareyanı LCD ekranın altındakı korpusun altına bağlamaq üçün daha çox iki tərəfli lent istifadə etdim.
Nəhayət, hər şey az və ya çox güvənli bir şəkildə qutuya sıxışdırıldıqdan sonra, qapağı daha dörd M3 vida ilə sökmək olar.
Addım 14: Test
Əvvəlcə axın sensorundan 3,5 mm konnektoru bağlayın. Cihaz açılmadan bunu etməyi məsləhət görürəm, çünki fiş daxil edildikdə istenmeyen əlaqə qura bilər.
Sonra, əsas güc açarını yandırın. Su axmasa da, ön panel düyməsi cəmi təmizləmək və ekranı təmizləməkdən başqa heç nə etməməlidir. Varsayılan olaraq cəmi sıfır olacaq, düymə hələ heç bir şey etməyəcək.
Duşu açarsanız, ümumi artmağa başlamalıdır. Varsayılan olaraq, xərc göstərilir. Ön panel düyməsini basarsanız, axın dərəcəsi alt sətirdə göstəriləcək. Ön panel düyməsinə basmaq, duş işləyərkən, axın sürətini və xərcləri göstərmək arasında dəyişəcək. Duş dayandırıldıqda, ön panel düyməsinə basaraq ölçüləri sıfırlayacaq və ekranı təmizləyəcəksiniz.
Montaj
Cihazı necə quracağınızı seçməyiniz duşunuzun düzülüşündən asılıdır. Bəzi duşlarda duş başlığına kifayət qədər yaxın bir çıxıntı ola bilər ki, cihazı sadəcə oraya yerləşdirə biləsiniz. Duşda cihazı içərisinə qoyduğum vantuzlarla bağlanmış bir səbətim var. Bir çıxıntı və ya səbət lüksünüz yoxdursa, cihazı iki tərəfli bir vantuzla divara tutmağa çalışa bilərsiniz. Bu, yalnız hamar bir dayağı olan hazır olmayan bir korpusdan istifadə etdiyiniz və ya xüsusi korpusumu şüşə quruluşlu lövhəli bir printerdə çap etdiyiniz halda işləyəcək. Kassanızın kobud bir dəstəyi varsa (mənimki kimi), cihazı çıxarmağa çalışsanız duş divarınızda bir az qalığa səbəb ola bilsə də, bəzi iki tərəfli lentdən istifadə edə bilərsiniz.
Giderme
Ekran açıqdır, amma arxa işığı söndürülmüşdür - tullananın I ² C modulunun yan tərəfindəki iki sancağa quraşdırıldığından əmin olun.
Ekran boşdur, arxa işığı yanar - I²C skanerini işə salmaqla I ² C ünvanının düzgün olub olmadığını yoxlayın
Ekran açıqdır, lakin dəyərlər sıfır olaraq qalır - pin 2 üzərindəki gərginliyi ölçərək sensordan gələn bir siqnalın olub olmadığını yoxlayın. Siqnal yoxdursa, sensorun düzgün bağlandığını yoxlayın.
Arxa işıq söndürüldükdə ekran boşdur - Arduino -dakı güc LEDinin yandığını və ekranın gücə malik olduğunu yoxlayın.
Ekran qısa müddətdə açılır, sonra hər şey dayanır - ehtimal ki, gücləndirici çeviricidən gərginliyi çox yüksək qoyursunuz (komponentlər 5V -dən artıq işləyə bilməz)
Cihaz işləyir, amma dəyərlər səhvdir - istifadə etdiyiniz axın sensörünün litr başına 450 paxl eyni dönüşüm faktoruna malik olduğundan əmin olun. Fərqli sensorlar fərqli dəyərlərə sahib ola bilər.
Addım 15: İndi Su qənaət etməyə başlayın
Təkmilləşdirmələr
Proqramın hazırkı versiyası kifayət qədər yaxşı işləyir, amma nəticədə fərqli istifadəçilərə sahib olmaq qabiliyyətini əlavə etmək istərdim (ailə üzvləri, ev yoldaşları və s.) Cihaz hər bir insanın statistikasını (ümumi su və ümumi duş sayını) hər bir adam üçün orta su istifadəsini göstərin. Bu, insanları ən az sudan istifadə etmək üçün rəqabətə təşviq edə bilər.
Bir elektron tabloda baxılacaq məlumatları ixrac etmək üçün bir yolun olması da yaxşı olardı ki, bu da qrafikə salınsın. Sonra insanların ilin hansı vaxtlarında daha tez -tez və daha uzun müddət duş aldıqlarını görə bilərsiniz.
Bu xüsusiyyətlərin hamısı EEPROM-Arduinonun quraşdırılmış yaddaş yaddaşının istifadəsini tələb edir. Bu, cihaz söndürüldükdən sonra da məlumatların saxlanmasına imkan verəcəkdir.
Başqa bir faydalı xüsusiyyət batareya göstəricisi olacaq. Hal -hazırda, cihazın yenidən doldurulmasının lazım olduğunu göstərən yeganə göstərici, batareya idarəetmə lövhəsinin gücü kəsdiyi vaxtdır. Batareyanın gərginliyini ölçmək üçün əlavə bir analog giriş bağlamaq asan olardı. Batareya gərginliyi həmişə 5V -dən aşağı olduğu üçün bir gərginlik bölücüsünə belə ehtiyac olmayacaq.
Bu fikirlərdən bəziləri xüsusiyyət süründürməçiliyi ilə həmsərhəddir, buna görə də proqramı daha da inkişaf etdirmədim.
Qalan işlər sizə aiddir!
Sensorlar yarışmasında birinci mükafat
Tövsiyə:
Əlaqədar İstilik Termostatını özünüz edin və İstiliklə qənaət edin: 53 addım (şəkillərlə)
Bağlı İstilik Termostatını özünüz edin və İstiliklə qənaət edin: Məqsəd nədir? İstədiyiniz kimi evinizi istiləşdirərək rahatlığı artırın Evinizi yalnız ehtiyac duyduğunuz zaman istiləşdirərək qənaət edin və istixana qazı emissiyalarını azaldın İstədiyiniz yerdə istiliyinizi idarə edin
Yağış zamanı Suya qənaət: 6 addım
Yağış zamanı Suya qənaət: Son yağışla birlikdə, bağçada kifayət qədər su olsa belə, çiləyici sistemimin işini davam etdirdiyini gördüm. Yağış yağanda çiləyicini niyə avtomatik deaktiv etməyək
Öz Peşəkar Rekord Təmizləmə Maşınınızı 80 $ -dan Aza Edin və 3000 $ və Daha Çoxuna Qənaət Edin: 6 Addım (Şəkillərlə)
Öz $ 80 -dan Az Pul üçün Öz Peşəkar Rekord Təmizləmə Maşınınızı düzəldin və 3000 $ və daha çoxuna qənaət edin: İngilis dilimi bağışlayın. Yaxşı köhnə vinilin səsinə qayıtdıqdan sonra hər rekord sevənlərin problemi var idi. Qeydləri necə düzgün təmizləmək olar!? İnternetdə bir çox yol var. Knosti və ya Discofilm kimi daha ucuz yollar, həm də
Təxminən 8 ABŞ dolları (və Redmaloo -dan satın almaq əvəzinə 91 dollar qənaət edin) üçün EeePC / Netbook Çantanızı Özünüzə Etdirin: 5 Addım (Şəkillərlə)
Təxminən 8 ABŞ dolları (və Redmaloo -dan satın almaq əvəzinə 91 dollar qənaət edin) EeePC / Netbook Çantanızı Özünüzə Etdirin: Bu təlimatlı, öz əlinizlə çox gözəl və yaxşı görünən bir dizüstü kompüterinizi və ya daha yaxşı bir netbuk çantasını necə edəcəyinizi göstərəcəkdir. Netbukunuzu saxlayacaq, sizə mousepad, bənzərsiz, gözəl və əl istehsalı bir şey istifadə etmək hissi və goos hissi verəcək
Daha yaxşı duş oxumaq üçün suya davamlı dinamik: 12 addım (şəkillərlə)
Daha Yaxşı Duş Mahnısı üçün Suya Dayanan Dinamik: Əgər mənim kimiyəmsə-və sənin olduğunu bilirəmsə-duşda oxumağı SEVİRSİNİZ və ona nanə vurursunuz! Dəhşətli bir mahnı səsləndirmək üçün edə biləcəyim bir şey yoxdur, amma həqiqətən məni və bəlkə də səslərim daxilində olan hər kəsi narahat edən şey