İçindekiler:

Duş Suyu Monitörü ile Su ve Paradan Tasarruf Edin: 15 Adım (Resimlerle)
Duş Suyu Monitörü ile Su ve Paradan Tasarruf Edin: 15 Adım (Resimlerle)

Video: Duş Suyu Monitörü ile Su ve Paradan Tasarruf Edin: 15 Adım (Resimlerle)

Video: Duş Suyu Monitörü ile Su ve Paradan Tasarruf Edin: 15 Adım (Resimlerle)
Video: Semih Varol | Tahterevalli’deki çocukları kurtarıyor ve kahraman oluyor | #semihvarol #shorts 2024, Kasım
Anonim
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin
Duş Su Monitörü ile Su ve Paradan Tasarruf Edin

Hangisi daha fazla su kullanır - banyo mu duş mu?

Geçenlerde bu soruyu düşünüyordum ve duş aldığımda aslında ne kadar su kullanıldığını bilmediğimi fark ettim. Biliyorum, duştayken bazen aklım başımda geziniyor, harika bir yeni proje fikri düşünüyor ya da kahvaltıda ne yiyeceğime karar vermeye çalışırken, su boşalmış gibi akıyor. Her seferinde kaç litre kullandığımı bilseydim, su tüketimimi azaltmak çok daha kolay olurdu!

Biraz araştırma yaptım ve bir akış kısıtlayıcınız varsa, farklı duş başlıklarının dakikada 9,5 litreden (2,5 galon) dakikada 6 litreden (1,6 galon) daha azına kadar kullanabileceğini gördüm. Çok eski bir duş daha fazla su kullanabilir.

Duş başına kullanılan toplam su hacmini, suyun maliyetini ve akış hızını gösterecek bir cihaz tasarlamaya ve yapmaya karar verdim. Bu cihazı birkaç haftalığına kurdum ve kullanılan su miktarının canlı olarak okunması gerçekten çok kullanışlı.

Bu Eğitilebilir Kitapta, bunu nasıl kurduğumu açıklayacağım. Tabii ki benim adımlarımı tam olarak takip etmek zorunda değilsin! Etrafta yatan parçalardan yararlanmak her zaman iyidir. Kullandığım tüm parçalara veya çalışacak eşdeğer bir parçaya bağlantılar ekledim.

Gereçler

(Tüm Fiyatlar USD cinsinden)

  • Akış Sensörü - 3,87 $
  • LCD Ekran - 2,29 $
  • Arduino Nano - 1,59 $
  • Boost Dönüştürücü - 1,88 $
  • LiPo Şarj Cihazı - 1,89 $
  • Su Geçirmez Geçiş Anahtarı - 0,93 ABD doları (Tam olarak kullandığımdan değil ama çalışması gerekiyor)
  • Su Geçirmez Buton - 1,64 Dolar
  • Uçlar, M3 Vidalar ve Somunlar - 6,99 $
  • 2X Dişi 3,5 mm Jak - 2,86 $ ad.
  • Erkek 3,5 mm Fiş - 1,48 $
  • 3.5mm 3' Kablo Düzeneği - 3.57 Dolar
  • USB Kablo Düzeneği - 1,74 $
  • 1/2" NPS Dişi-Dişi Bağlantı - 1,88 $
  • 500mAh 3.7V LiPo Pil - 3,91 Dolar

Araçlar ve Ortak Malzemeler

  • Havya ve Lehim
  • Tel
  • Tel kesiciler
  • Tel Sıyırıcılar
  • Çift taraflı bant
  • Yıldız tornavida
  • 3D Yazıcı (Opsiyonel)

Adım 1: Su Yalıtımı

su yalıtımı
su yalıtımı

Bu projenin en zor yanı, her şeyi su geçirmez hale getirmektir. Duşta kalacağı için aşırı neme ve ara sıra su sıçramasına dayanabilmesi gerekir. Bu projeye harcanan toplam zamanın yaklaşık %75'i bu kısmı çözmek içindi.

Gördüğüm kadarıyla iki seçenek var: özel bir 3D baskılı kasa tasarlayın veya kullanıma hazır bir kasayla çalışmasını sağlayın. Yakın zamanda kendi 3D yazıcımı aldığım için ilk seçeneği kullanmaya karar verdim.

Bir 3D yazıcıya erişiminiz yoksa, su geçirmez olduğunu iddia ettiğim ve muhtemelen işe yarayacağını düşündüğüm, kullanıma hazır bazı muhafazalar. Lütfen bu muhafazalardan hiçbirini satın almadığımı unutmayın, bu nedenle tüm bileşenlerin içine sığacağını garanti etmiyorum!

Banggood - Şeffaf Kapaklı 100x68x50mm Kutu - 5,35$

Digikey - 130x80x70mm Şeffaf Kapaklı Kutu - 11,65 $

Bu noktadan sonra, kasaya atıfta bulunduğumda, 3D baskılı olanımdan bahsediyorum.

Adım 2: Özel 3D Baskılı Muhafazam

Özel 3D Baskılı Muhafazam!
Özel 3D Baskılı Muhafazam!
Özel 3D Baskılı Muhafazam!
Özel 3D Baskılı Muhafazam!
Özel 3D Baskılı Muhafazam!
Özel 3D Baskılı Muhafazam!

Fusion 360'ta birkaç saat çalıştıktan sonra bu kasayı buldum. İki adet 3,5 mm dişi jak ve bir geçiş anahtarına uyacak şekilde üç dairesel oyuğa sahiptir. Kapak, anlık basma düğmesi için 16 mm'lik bir deliğe ve ekran için dikdörtgen bir oyuğa ve ayrıca ekranı yerinde tutmak için dört montaj deliğine sahiptir. Kapak ayrı bir parçadır ve dikişten nem girmesini önlemeye yardımcı olan bir dudağa sahiptir. Kutunun köşelerindeki dört delik, kapağı 30 mm'lik çıkıntılarla tutmak içindir. Tüm vida delikleri, M3 vidaya uyan 3 mm çapındadır.

STL dosyalarını Thingiverse sayfamdan indirebilirsiniz. Herhangi bir sal veya destek olmadan basılabilir, ancak sadece güvende olmak için destekleri kullandım. Ben de %100 dolgu kullandım. Duvarlar çok ince olduğu için dolgu yüzdesini azaltmak toplam baskı süresini veya toplam malzemeyi gerçekten değiştirmiyor, bu yüzden sadece %100'de tuttum.

Ekranı görünür kılmak için, kasanın kapağındaki bir oyuktan dışarı taşabilir veya şeffaf bir pencerenin arkasına yerleştirilebilir. Ekranın neme maruz kalmaması gerektiği için ikinci seçeneğe takılıyoruz. Ne yazık ki şeffaf filamanlı 3D baskı henüz emekleme aşamasında, bu yüzden biraz yaratıcı olmamız gerekecek.

Benim çözümüm, kapakta dikdörtgen bir kesik oluşturmak ve sebze ambalajlarından bir parça şeffaf plastik yapıştırmaktı. Bu teknik, benim özel kasamı kullanmasanız bile kullanılabilir; maket bıçağı veya Dremel ile bir dikdörtgeni kolayca kesin. Tabii ki şeffaf kapaklı bir kasa kullanıyorsanız buna hiç gerek yok.

Bulduğum şeffaf plastik için en iyi kaynak ambalaj üretmek. Genellikle ıspanak veya diğer yapraklı sebzeler büyük şeffaf plastik kaplarda gelir. Benim durumumda, ambalajı "biber karışımından" kullandım.

Yapıştırma için bol miktarda yüzey alanı sağlamak için 5 mm'lik bir çıkıntı istedim, bu yüzden 27x77 mm'lik bir şeffaf plastik dikdörtgen kestim. Vidaların oturması için köşeleri biraz kırpmak zorunda kaldım. Kesiğin çevresine bir çizgi süper yapıştırıcı püskürttüm ve ardından şeffaf plastiği üzerine yerleştirdim. Kapatıldığından emin olmak için kenarlarına biraz daha süper yapıştırıcı ekledim.

Pro-İpucu: Tutkal kururken parçayı küçük bir fanın önüne yerleştirin. Süper yapıştırıcı kurudukça, şeffaf penceremizde kesinlikle istemediğimiz aşağılık beyaz bir kalıntı bırakma eğilimindedir. Bilgisayar güç kaynağından eski bir 12V fan kullandım. Tamamen kuru olduğundan emin olmak için yapıştırıcının 12 saat oturmasına izin verdim.

Adım 3: LCD Ekranı Monte Etme

LCD Ekranın Montajı
LCD Ekranın Montajı
LCD Ekranın Montajı
LCD Ekranın Montajı
LCD Ekranın Montajı
LCD Ekranın Montajı

Şeffaf pencere kuruduktan sonra LCD monte edilebilir. LCD, arkaya önceden lehimlenmiş I²C "sırt çantası" ile süper popüler bir 16x2 karakter ekranıdır. Bu ekranı I²C arayüzü ile almanızı şiddetle tavsiye ederim. Tüm paralel hatları kablolamak oldukça can sıkıcıdır ve daha fazla hata potansiyeli sunar - I²C versiyonunda güç için yalnızca iki kablo ve sinyal için iki kablo bulunur.

Ekranı monte etmek için dört adet 10 mm'lik ayırıcı kullandım. Ayraçların her birinin bir ucunda bir erkek diş ve diğer ucunda bir dişi diş bulunur. Erkek ipliği LCD'deki deliklerden geçirdim ve her birine bir M3 somunu sıktım. Ardından, ayırıcıların dişi uçlarını muhafaza kapağından sabitlemek için dört M3 vida kullandım. LCD'yi monte etmek için 10 mm'lik ve kapağı tabana tutturmak için daha uzun olan bu zıtlıklar paketini aldım. Ayrıca, M3 vidalar ve somunlar vardır, bu nedenle herhangi bir ek donanım satın almanıza gerek yoktur.

Somunların çok sıkı olduğundan emin olun, böylece vidaları sıktığınızda zıtlıklar dönmez. Ayrıca vidaları aşırı sıkmadığınızdan emin olun, aksi takdirde plastik kapak deforme olabilir ve düzgün kapanmayabilir.

LCD'deki 16 başlık pimi sırası en üstte olmalıdır - LCD'yi baş aşağı monte etmediğinizden emin olun!

Adım 4: Anlık Düğmeyi Takma

Anlık Düğmeyi Takma
Anlık Düğmeyi Takma
Anlık Düğmeyi Takma
Anlık Düğmeyi Takma
Anlık Düğmeyi Takma
Anlık Düğmeyi Takma

Bu hasta görünümlü krom düğmeyi ön panelde kullanmaya karar verdim. Onları önceki projelerde kullandım ve görünüşlerini gerçekten beğendim. Su geçirmez olmaları gerekiyordu ve nemin dişlerden muhafazaya girmesini önlemek için kauçuk bir halka ile birlikte geliyorlar.

Bu adım oldukça basittir. Somunu gevşetin, ancak lastik halkayı açık tutun. Düğmeyi kapaktaki delikten geçirin ve arka taraftaki somunu sıkın. Somunu aşırı sıkmaktan kaçının, aksi takdirde kauçuk halka ezilir ve amacına hizmet etmez.

Adım 5: Güç ve Şarj Devresi

Güç ve Şarj Devresi
Güç ve Şarj Devresi
Güç ve Şarj Devresi
Güç ve Şarj Devresi
Güç ve Şarj Devresi
Güç ve Şarj Devresi

Şimdi pil gücü bileşenlerini bir araya getireceğiz. Buna pil, ana şalter, pil izleme/şarj kartı ve güçlendirici dönüştürücü dahildir.

Kullandığım pil 3.7V 1500 mAh tek hücreli lityum iyon pil. Özellikle kullandığım, bozuk bir Playstation denetleyicisinden alındı. Herhangi bir tek hücreli Li-Ion veya LiPo pil, kasanıza sığdığı sürece çalışacaktır. Bu pil türü çok ince ve düz olma eğilimindedir, bu nedenle muhtemelen benimkinin iki katı büyüklüğünde bir pili sorunsuz bir şekilde kullanabilirsiniz. Bir 18650 hücre işe yarayabilir, ancak benim özel kasama sığmayacağından, kendinizinkini tasarlamanız veya kullanıma hazır bir kasa kullanmanız gerekecek. Mümkünse, kurtarılmış bir pil kullanmanızı öneririm (benim yaptığım gibi) çünkü pillerin nakliyesi genellikle pahalıdır!

Batarya önce TP4056 şarj kartına lehimlenmelidir. İsterseniz bataryaya ve şarj cihazına bir JST RCY konektörü lehimleyebilirsiniz (bunu yaptım), ancak gerekli değildir. Kart, ters pil polaritesine karşı korunmadığından, şarj panosundaki işaretlerde gösterildiği gibi doğru polariteye dikkat ettiğinizden emin olun!

Ardından, şarj cihazının pozitif çıkışından (pozitif akü kablosunun yanında bulunur) bir kabloyu boost dönüştürücü üzerindeki pozitif girişe lehimleyin. Ardından negatif çıkıştan (negatif akü kablosunun yanında bulunur) bir kabloyu ana geçiş anahtarının ortak (orta) pimine lehimleyin. Son olarak, anahtarın normalde açık olan pininden boost dönüştürücünün negatif girişine bir kablo lehimleyin. Yükseltici dönüştürücünün çıkışına bir multimetre bağlarsanız ve ana anahtarı açarsanız, bir voltaj görüntülenmelidir.

Arduino, LCD ekran ve akış sensörümüzün tümü 5V'ye ihtiyaç duyduğundan, boost dönüştürücünün çıkışını 5V'a ayarlamalıyız. Bu, potansiyometre üzerindeki düğmeyi küçük bir tornavidayla çevirerek elde edilir. Ana şalter açık, pil bağlı ve güçlendirici dönüştürücünün çıkışına bağlı multimetre ile, çıkış 5V okuyana kadar potansiyometreyi yavaşça çevirin. Tam olarak 5.000V'luk bir okuma elde etmek zor olacak, ancak 4.9V ile 5.1V arasında bir voltajı hedefleyin.

Özel kasam birkaç vidayla kapalı tutulduğundan, her şarj edilmesi gerektiğinde kasayı açmak zorunda kalmak istemiyoruz. Bunun için 3,5 mm kulaklık jakı kullandım. Kullandığım tam konektör Digikey'den (kasamdaki kesikler bunun için boyutlandırılmıştır), ancak Banggood'dan gelen bu konektör de çalışmalıdır.

İlk olarak, konektörü muhafazadaki en alttaki deliğe yerleştirdim. Bu çoğu zaman fişten çekileceğinden ve bu nedenle nem girişine karşı hassas olacağından, içine su damlamasını önlemek için en iyisi alt kısma monte etmektir. Kilit rondelasını taktıktan ve somunu sıktıktan sonra, konektördeki "uç" ve "manşon" tırnaklarına iki kablo lehimledim. Konektörün pin çıkışı, açıklamalı resimlerimden birinde gösterilmektedir. "Manşonlu" kablonun diğer ucunu, mikro USB bağlantı noktasının yanındaki şarj cihazının negatif girişine lehimledim. Son olarak, "uç" kablosunu USB bağlantı noktasının diğer tarafındaki +5V pedine lehimledim. Şarj cihazındaki USB bağlantı noktası kullanılmayacaktır, çünkü USB bağlantı noktasının neme izin vermeden muhafazaya girmesi zor olacaktır.

Adım 6: Şarj Kablosu

Şarj kablosu
Şarj kablosu
Şarj kablosu
Şarj kablosu
Şarj kablosu
Şarj kablosu

Şarj bağlantı noktamız olarak 3,5 mm ses jakı kullandığımız için, bir ucunda 3,5 mm erkek fiş, diğer ucunda USB A fişi bulunan bir adaptör kablosu yapmamız gerekiyor. Bu, bu cihazı şarj etmek için herhangi bir genel mobil cihaz şarj cihazını (bir iPhone şarj cihazı gibi) kullanmamıza izin verecektir.

Bir ucunda USB A konektörü ve diğer ucunda kalaylı teller bulunan bir USB kablo takımı satın alabilirsiniz, ancak benim gibiyseniz, muhtemelen ihtiyacınız olmayan bir düzine rastgele USB kablonuz vardır. Bir USB kablo düzeneği satın almak yerine, ihtiyacım olmayan bir mikro USB - USB A kablosu aldım ve mikro USB konektörünü çıkardım.

Daha sonra, kablonun üzerindeki beyaz ceketi çıkardım ve içerideki sadece iki kabloyu ortaya çıkardım: bir kırmızı ve bir siyah kablo. Bazı USB kablolarında dört kablo bulunur: kırmızı, siyah, yeşil ve beyaz. Yeşil ve beyaz, veri aktarımı içindir ve göz ardı edilebilir. İzolasyonu yalnızca kırmızı ve siyah kablolardan soyun.

Daha sonra bir erkek 3,5 mm fişe ihtiyacınız olacak. Bunu Banggood'dan kullandım. USB kablosundaki kırmızı kabloyu orta tırnağa (konektörün ucu olan) ve siyah kabloyu uzun kollu tırnağa lehimleyin. Açıklama için fotoğraflarıma bakın.

Kabloyu takma işlemi fişin metal yuvada kısa devre yapmasına neden olabileceğinden, her zaman 3,5 mm fişi USB fişinden önce takmanızı öneririm.

7. Adım: Akış Sensörü Hakkında

Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında
Akış Sensörü Hakkında

Bu akış sensörünü Banggood'dan 3,87 dolara aldım. Kullanmadan önce nasıl çalıştığını araştırmaya karar verdim.

Tasarım şaşırtıcı derecede basit ve ustaca. Elektronikler sudan tamamen yalıtılmıştır. Akış hızına bağlı olarak daha yavaş veya daha hızlı dönen serbest dönen bir pervane vardır. Pervanenin bir noktasında bir mıknatıs vardır. Sensörün dışında, iki bileşenli küçük bir PCB içeren küçük bir bölme bulunur: bir direnç ve bir salon etkisi sensörü. Mıknatıs, hall etkisi sensöründen her geçtiğinde, yüksek ve düşük arasında geçiş yapar. Yani pervane her döndüğünde 5V ile 0V arasında geçiş yapar.

Sensörü okumak için kırmızı kabloya +5V, siyah kabloya negatif uygularız ve sarı kablodan dijital sinyali okuruz. Osiloskopumun fotoğrafında, akış açıldığında sinyalin nasıl değiştiğini görebilirsiniz. İlk başta, sinyal sürekli olarak sıfır volttur. Akış başladığında, darbelerin frekansı hızla hızlanır ve sabit bir duruma gelir.

Veri sayfasına göre, sensör litre başına 450 darbe verir. Bu daha sonra yazılımı yazarken önemli olacaktır.

Adım 8: Akış Sensörü Kablolaması

Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması
Akış Sensörü Kablolaması

Akış sensörü, 3 pimli JST-XH konektörü ile birlikte gelir. Bu ideal değildir, çünkü teller çok kısadır ve konektör, başıboş su damlacıkları tarafından kolayca kısa devre yaptırılabilen açık kontaklara sahiptir. Bu 3,5 mm ses fişi kablo tertibatını Digikey'den sipariş ettim. Mükemmel uzunluk olan 3' uzunluğundadır ve lehimlemeyi kolaylaştıran kalaylı tellere sahiptir. Lehimlenmesi neredeyse imkansız olan çok ince emaye tellere sahip olma eğiliminde olduklarından eski bir kulaklık kablosu kullanmayı denemenizi önermiyorum.

Akış sensörünün iki adet Phillips vidayla tutulan plastik bir kapağı vardır. Basitçe bu vidaları çıkarın ve devre kartını çıkarın. Herhangi bir yapıştırıcı ile tutulmuyor, sadece plastik kapak ile yerinde tutuluyor. Ardından, bir havya ile ısıtarak ve birer birer kaldırarak üç kabloyu lehimleyin.

Ardından, 3,5 mm ses kablosunu pedlere lehimleyin. Renkleri benim yaptığım gibi eşleştirmenizi öneririm. Bu konfigürasyonun ucunda +5V, halkada sinyal ve manşonda toprak vardır. Bu, 6. adımdan itibaren şarj portu için kullanılan konfigürasyonun aynısıdır. Şarj cihazını yanlışlıkla sensör portuna takarsanız veya tam tersi olursa, cihazda herhangi bir hasar olmaz.

9. Adım: Akış Sensörünün Kurulumu

Akış Sensörünü Takma
Akış Sensörünü Takma
Akış Sensörünü Takma
Akış Sensörünü Takma
Akış Sensörünü Takma
Akış Sensörünü Takma

Bu noktaya kadar tüm çalışmalarımız atölyede gerçekleşti. Ama şimdi banyoya gitme zamanı!

Önce duş başlığını çıkardım. Bu, 1/2 NPS erkek diş ile duvardan çıkıntı yapan kısa bir boru parçasını ortaya çıkardı. Elverişli bir şekilde, akış sensörümüz tam olarak aynı diş boyutuna sahiptir! Tek sorun, sensörün her iki ucunda da erkek dişe sahip olmasıdır, bu nedenle dişi-dişi bir bağlantıya ihtiyaç duyar.

Yerel hırdavat mağazamda pirinç, demir ve PVC'den yapılmış 1/2 kaplinler vardı. PVC olan en ucuzuydu, ben de onu aldım. Gerçi sonradan bakıldığında, pirinç veya çelik olanlar daha güzel görünürdü.

Kaplini aldıktan sonra, akış sensörünü kaplinin içine vidalayın ve ardından kaplinin diğer ucunu boruya vidalayın. Akış sensöründe, istenen akış yönünü gösteren bir ok bulunur. Geri yüklemediğinizden emin olun, aksi takdirde ölçümler yanlış olabilir. Son olarak duş başlığını akış sensörünün ucuna vidalayın.

Tabii ki, duşunuzun benimki gibi 1/2 NPS diş kullandığını varsayıyorum. Durum böyle değilse, ekstra adaptör almanız gerekecek.

Pro-İpucu: Sızıntıları önlemek için parçaları birbirine vidalamadan önce tüm dişlere biraz Teflon tesisatçı bandı ekleyin. Elimde yoktu ama yakın zamanda eklemeyi düşünüyorum.

Adım 10: Arduino ve Perfboard

Arduino ve Perfboard
Arduino ve Perfboard
Arduino ve Perfboard
Arduino ve Perfboard
Arduino ve Perfboard
Arduino ve Perfboard

Çok fazla kablolama yapmamız gerekeceğinden, işleri biraz daha düzenli hale getirmek için bir parça perfboard almak iyi bir fikirdir. Yaklaşık 1 "x 2" boyutunda bir perfboard dikdörtgeni kestim. Ardından Arduino Nano'yu tahtanın ortasına yerleştirdim ve başlık pinlerinin geçtiği yerleri işaretledim. Sonra, her biri 15 iğne uzunluğunda iki uzunlukta dişi başlık kestim. Bunları daha önce işaretlediğim perfboard üzerine lehimledim. Bu, programlama için Arduino'yu kaldırmamıza izin verecektir.

Pro-İpucu: Arduino'nun USB bağlantı noktasının yönünü işaretleyin, böylece onu her zaman aynı şekilde perfboard'a takabilirsiniz.

Adım 11: Her Şeyi Kablolama

Herşeyi Kablolama
Herşeyi Kablolama
Herşeyi Kablolama
Herşeyi Kablolama
Herşeyi Kablolama
Herşeyi Kablolama

Şimdi her şeyi birlikte lehimleme zamanı! Daha kılavuzlu bir yaklaşımı tercih ederseniz, takip edebileceğiniz veya aşağıdaki yazılı adımlarımı görebileceğiniz eksiksiz bir bağlantı şeması ekledim.

İlk olarak, bazı erkek başlık pimlerini kestim ve bunları + 5V ve toprak raylarındaki perfboard üzerine lehimledim. Ardından Arduino'daki A4 ve A5 pinlerine bağlı iki başlık pini daha lehimledim. Bu başlıklar, dişi-dişi jumperlar kullanarak LCD ekranı bağlamamıza izin verecek.

Ardından, yükseltici dönüştürücünün çıkışından +5V ve toprak raylarına bir çift kablo lehimledim. Bu Arduino'ya, LCD'ye ve akış sensörüne güç sağlayacaktır.

Ondan sonra iki kabloyu kesip buton terminallerine bağladım. Bir kabloyu toprak rayına, diğerini dijital pim 3'e lehimledim.

Lehimlenecek son kısım akış sensörüdür. Sensöre zaten 3,5 mm'lik bir fiş taktığımız için, sadece 3,5 mm dişi jakı lehimlememiz gerekiyor. İlk önce üç kablo lehimledim - jaktaki tırnakların her birine bir tane. Sonra krikoyu muhafazanın içinden geçirdim ve bir somunla yerine sabitledim. Son olarak, manşonu toprağa, ucu +5V'a ve halkayı dijital pin 2'ye lehimledim.

Buton ve akış sensörü için 2 ve 3 numaralı dijital pinleri donanım kesme pinleri oldukları için kullanmayı seçtim. Bu, kodu yazmayı çok daha kolay hale getirecektir.

Şimdi lehimlemeyi bitirdik, ancak yine de LCD'yi bağlamamız gerekiyor. Başlıkları lehimlediğimiz için, sadece dört dişi-dişi jumper'a ihtiyacımız var. "Vcc" pinini +5V'a, "Gnd" pinini toprağa, "SCL" pinini A5'e ve "SDA" pinini A4'e bağlayın. LCD ekranın kasaya sığması için başlık pimlerini geriye doğru bükmemiz gerekecek. Pimleri birkaç kez ileri geri bükmek metali yorar ve pimlerin kırılmasına neden olur, bu yüzden sadece bir kez bükmenizi ve dikkatli yapmanızı öneririm.

Şimdi kablolama tamamlandı!

Adım 12: Programlama

Programlama
Programlama

Artık tüm donanım bağlı olduğuna göre Arduino'yu programlayabiliriz.

Programın aşağıdaki özelliklere sahip olmasını istiyorum:

  • İlk satırda, hızla güncellenen toplam litre sayısını görüntüleyin
  • İkinci satırda, suyun toplam maliyetini veya akış hızını görüntüleyin
  • Duş çalışırken, basma düğmesi maliyeti veya akış hızını gösterme arasında geçiş yapar
  • Duş çalışmıyorken, buton tüm verileri temizlemeli ve ekranı sıfırlamalıdır.
  • Brüt yoklama yöntemlerinden kaçınmak için sensör bir kesme rutini kullanılarak okunmalıdır.
  • Ekranı güncellerken, her seferinde tüm ekranın üzerine yazmak yerine sadece değişen değerleri güncellemeliyiz (bu, gözle görülür bir titremeye neden olur)

Program basit bir yapı izler. millis() işlevini kullanarak, programın yürütülmesini fiilen durdurmayan gecikmeler yaratabiliriz. Delay() işlevini kullanmadan bir LED'in yanıp sönmesine ilişkin bir örnek için bu eğiticiye bakın.

millis() işlevi, Arduino açıldığından beri geçen milisaniye sayısını döndürür. Bir "öncekiMillis" değişkeni yaratıp Millis() - öncekiMillis()'i çıkararak, öncekiMillis'in güncellenmesinden bu yana geçen süreyi görebiliriz.

Bir şeyin saniyede bir olmasını istiyorsak aşağıdaki kod bloğunu kullanabiliriz:

if((millis() - öncekiMillis) >= 1000){

öncekiMillis = millis(); toggleLED(); }

Bu, millis() (şimdiki zaman) ve öncekiMillis (son zaman) arasındaki farkın 1000 milisaniyeden büyük veya ona eşit olup olmadığını kontrol eder. Eğer öyleyse, yaptığımız ilk şey öncekiMillis'i şimdiki zamana eşitlemektir. Daha sonra istediğimiz ek adımları uygularız. Bu örnekte, bir LED'i değiştiriyoruz. Sonra bu kod bloğundan çıkıyoruz ve başlangıca geri dönmeden ve baştan tekrar etmeden önce loop() fonksiyonunun geri kalanını bitiriyoruz.

Bu yöntemi basit delay() işlevine göre kullanmanın yararı, delay()'in talimatlar arasına bir zaman aralığı koyması, ancak loop() işlevindeki diğer talimatların yürütülmesi için gereken süreyi hesaba katmamasıdır. LCD ekranı güncellemek gibi bir LED'i yanıp sönmekten daha uzun süren bir şey yapıyorsanız, geçen süre ihmal edilebilir değildir ve birkaç döngüden sonra eklenecektir. LCD ekranı bir saatte güncelliyorsanız, hızlı bir şekilde yanlış olur ve geride kalır.

Artık programın genel yapısını anladığımıza göre, talimatları eklemenin zamanı geldi. Burada her bir kod satırını açıklamak yerine, programın ne yaptığına dair üst düzey bir genel bakış sunan ekteki akış şemasını okumanızı öneririm.

Akış şemasını gördükten sonra, ekteki Arduino koduna bir göz atın. Her satırın ne yaptığını netleştirmek için hemen hemen her satırı yorumladım.

Kodda değiştirmek isteyebileceğiniz birkaç bölüm var. En önemlisi litre fiyatıdır. Benim şehrimde suyun litresi 0,2523 sent. Aşağıdaki satırı bulun ve bu değeri, yaşadığınız yerdeki maliyetle eşleşecek şekilde değiştirin:

const kayan nokta COST_PER_LITRE = 0.2523; // şehir web sitesinden sent olarak litre başına maliyet

Litre yerine galon kullanmayı tercih ederseniz, "L" veya "L/s"ye atıfta bulunan tüm "LCD.print()" satırlarını "G" veya "G/s" olarak değiştirin. Ardından aşağıdaki satırı silin:

const kayan nokta DÖNÜŞÜM = 450.0; // bunu litre için yorumsuz tut

…ve bu satırın yorumunu kaldırın:

const kayan nokta DÖNÜŞÜM = 1703.0; // bunun yorumunu kaldırın ve galonlar için yukarıdaki satırı silin

Kodumda fark etmiş olabileceğiniz bir tuhaflık daha var. Varsayılan karakter seti "¢" karakterini içermiyor ve dolar kullanmak istemedim, çünkü maliyet çoğu zaman "0.01$" veya daha az olarak görünecek. Bu nedenle, özel bir karakter oluşturmak zorunda kaldım. Bu sembolü temsil etmek için aşağıdaki bayt dizisi kullanılır:

bayt cent_sign = { B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100 };

Bu diziyi oluşturduktan sonra, özel karakter "oluşturulmalı" ve saklanmalıdır.

lcd.createChar(0, cent_sign);

Bu yapıldıktan sonra, özel karakteri yazdırmak için aşağıdaki satırı kullanırız:

lcd.write(bayt(0)); // sent işareti yazdır (¢)

LCD'de en fazla 8 özel karakter bulunabilir. Bununla ilgili daha fazla bilgi burada. Ayrıca, grafiksel bir arayüz kullanarak özel karakter çizmenize izin veren bu yararlı çevrimiçi araçla da karşılaştım ve otomatik olarak özel bayt dizisini oluşturacaktır.

Adım 13: Kapağı Kapatma

Kapağı Kapatmak
Kapağı Kapatmak
Kapağı Kapatmak
Kapağı Kapatmak
Kapağı Kapatmak
Kapağı Kapatmak

Sonunda, neredeyse bitirdik!

Tüm elektronik aksamları kasaya doldurmanın ve kapağın kapanmasını ummanın zamanı geldi. Ama önce 30 mm'lik çıkıntıları eklememiz gerekiyor. Satın aldığım zıtlıklar paketi o kadar uzun olanı içermiyor, ancak birbirine eklenebilen 20 mm ve 10 mm'lik olanlarla birlikte geliyor. Dört adet ayırıcıyı dört adet M3 vidayla muhafazanın altındaki deliklere vidaladım (bkz. Resim 1 ve 2). Bunları sağlam bir şekilde sıktığınızdan emin olun, ancak çok sıkı değil, aksi takdirde plastik muhafazayı kırma riskiyle karşı karşıya kalırsınız.

Artık tüm elektroniği içeri sığdırabiliriz. Üçüncü resimde görüldüğü gibi şarj aletini ve güç çeviriciyi çift taraflı bantla kapağa bağladım. Ardından, konektörlere temas ederek hiçbir şeyin kısa devre yapmamasını sağlamak için iki 3,5 mm jak üzerindeki açıkta kalan metalin etrafına bir miktar elektrik bandı sardım.

Arduino'yu USB bağlantı noktası sağa bakacak şekilde yan tarafına, sol alt köşeye yerleştirerek sığdırabildim. Pili LCD ekranın altındaki muhafazanın altına sabitlemek için daha fazla çift taraflı bant kullandım.

Son olarak, her şey kutuya az ya da çok güvenli bir şekilde sıkıştığında, kapak dört M3 vidayla daha vidalanabilir.

Adım 14: Test Etme

Test yapmak
Test yapmak
Test yapmak
Test yapmak
Test yapmak
Test yapmak
Test yapmak
Test yapmak

Önce akış sensöründen gelen 3,5 mm konektörü takın. Bunu, cihaz açılmadan önce yapmanızı öneririm, çünkü fiş takılıyken istenmeyen bağlantılara neden olabilir.

Ardından, ana güç anahtarını açın. Akan su yokken ön panel butonu toplamı silmek ve ekranı temizlemekten başka bir şey yapmamalıdır. Toplam varsayılan olarak sıfır olacağından, düğme henüz bir şey yapmıyor gibi görünmeyecektir.

Duşu açarsanız, toplam artmaya başlamalıdır. Varsayılan olarak, maliyet gösterilir. Ön panel düğmesine basarsanız, alt satırda akış hızı görüntülenecektir. Ön panel düğmesine basmak, duş çalıştığı sürece akış hızının gösterilmesi ile maliyetin gösterilmesi arasında geçiş yapacaktır. Duş durduğunda, ön paneldeki düğmeye basmak ölçümleri sıfırlayacak ve ekranı temizleyecektir.

Montaj

Cihazı nasıl monte etmeyi seçtiğiniz, duşunuzun düzenine bağlıdır. Bazı duşlarda, cihazı oraya yerleştirebileceğiniz duş başlığına yeterince yakın bir çıkıntı olabilir. Duşumda, cihazı içine yerleştirdiğim vantuzlu bir sepet var. Bir çıkıntı veya sepet lüksüne sahip değilseniz, cihazı çift taraflı bir vantuzla duvara tutmayı deneyebilirsiniz. Bu, yalnızca arkası düzgün olan, kullanıma hazır bir kasa kullanıyorsanız veya özel kasamı cam baskı plakalı bir yazıcıda yazdırdıysanız işe yarar. Muhafazanızın sert bir desteği varsa (benimki gibi), çift taraflı bant kullanmayı deneyebilirsiniz, ancak bu, cihazı çıkarmaya çalışırsanız duş duvarınızda bir miktar kalıntı bırakabilir.

Sorun giderme

Ekran açık, ancak arka ışık kapalı - atlama telinin I ² C modülünün yan tarafındaki iki pime takıldığından emin olun

Ekran boş, arka aydınlatma açık - I²C tarayıcıyı çalıştırarak I ² C adresinin doğru olduğunu kontrol edin

Ekran açık, ancak değerler sıfır kalıyor - pin 2'deki voltajı ölçerek sensörden sinyal gelip gelmediğini kontrol edin. Sinyal yoksa sensörün doğru bağlandığını kontrol edin.

Arka ışık kapalıyken ekran boş - Arduino'daki güç LED'inin açık olduğunu kontrol edin ve ekranın gücünün olup olmadığını kontrol edin

Ekran kısaca açılır, sonra her şey durur - muhtemelen yükseltici dönüştürücüden gelen voltajı çok yükseğe ayarladınız (bileşenler 5V'den fazlasını kaldıramaz)

Cihaz çalışıyor, ancak değerler yanlış - kullandığınız akış sensörünün litre başına 450 darbe ile aynı dönüştürme faktörüne sahip olduğundan emin olun. Farklı sensörler farklı değerlere sahip olabilir.

Adım 15: Şimdi Su Tasarrufuna Başlayın

İyileştirmeler

Yazılımın mevcut sürümü yeterince iyi çalışıyor, ancak sonunda farklı kullanıcılara (aile üyeleri, ev arkadaşları, vb.) sahip olma özelliğini eklemek istiyorum. Cihaz, her kişinin istatistiklerini (toplam su ve toplam duş sayısı) her kişi için ortalama su kullanımını gösterir. Bu, insanları en az miktarda su kullanmak için rekabet etmeye teşvik edebilir.

Bir elektronik tabloda görüntülenecek verileri dışa aktarmanın bir yolunun olması da harika olurdu, böylece grafikler çizilebilirdi. O zaman insanların yılın hangi zamanlarında daha sık ve daha uzun duş aldıklarını görebilirdiniz.

Bu özelliklerin tümü, Arduino'nun yerleşik kalıcı belleği olan EEPROM'un kullanılmasını gerektirir. Bu, cihaz kapatıldıktan sonra bile verilerin saklanmasına izin verir.

Bir başka kullanışlı özellik de pil göstergesi olacaktır. Şu anda, cihazın yeniden şarj edilmesi gerektiğinin tek göstergesi, pil yönetim panosunun gücü kesmesidir. Akü voltajını ölçmek için ekstra bir analog giriş bağlamak kolay olurdu. Akü voltajı her zaman 5V'un altında olduğu için voltaj bölücüye bile ihtiyaç duyulmaz.

Bu fikirlerin bazıları özellik kayması sınırında, bu yüzden yazılımı daha fazla geliştirmedim.

Gerisi size kalmış!

Sensörler Yarışması
Sensörler Yarışması
Sensörler Yarışması
Sensörler Yarışması

Sensörler Yarışmasında Birincilik Ödülü

Önerilen: