İçindekiler:

Düşük Güç Arduino Sıcaklık Monitörü: 4 Adım
Düşük Güç Arduino Sıcaklık Monitörü: 4 Adım

Video: Düşük Güç Arduino Sıcaklık Monitörü: 4 Adım

Video: Düşük Güç Arduino Sıcaklık Monitörü: 4 Adım
Video: Kendi Sıcaklık Göstergemizi Yaptık! Kendin Yap #5 2024, Temmuz
Anonim
Image
Image
Parçaları Alın
Parçaları Alın

Bu Eğitilebilir Tabloda, bir DS18B20 sıcaklık sensörü kullanarak başka bir sıcaklık monitörü oluşturuyoruz. Ama bu proje farklı. Pillerle neredeyse 1,5 yıl dayanabilir! Evet! Arduino düşük güç kütüphanesini kullanarak bu projeyi uzun süre çalıştırabiliriz. Daha fazlasını öğrenmek için okumaya devam edin!

Adım 1: Parçaları Alın

Bu projeyi inşa etmek için gereken parçalar şunlardır:

ATMEGA328P ▶

Nokia 5110 LCD ▶

DS18B20 ▶

Fotodirenç ▶

Kondansatörler ▶

16MHz kristal ▶

Dirençler ▶

Multimetre Mastech 8268 ▶

Bu Talimatı yazdığım sırada projenin toplam maliyeti 10 dolardan az

Adım 2: Tüm Parçaları Bağlayın

Tüm Parçaları Bağlayın
Tüm Parçaları Bağlayın
Tüm Parçaları Bağlayın
Tüm Parçaları Bağlayın

Artık tüm parçalara sahip olduğunuza göre, şematik diyagrama göre hepsini birbirine bağlayalım.

Bu projenin düşük güç tüketiminin anahtarı, Arduino Board yerine çıplak bir ATMEGA çipinin kullanılmasıdır. Arduino kartları çok farklı voltaj seviyelerinde çalışabilmek için voltaj regülatörü kullandığından daha fazla güce ihtiyaç duyarlar. Projemizi 3AA pillerle beslediğimiz için bu regülatöre ihtiyacımız yok!

Bu projede harika bir ekran olan ve arka ışık kapalıyken sadece 0,2 mA akıma ihtiyaç duyan Nokia 5110 LCD ekran kullanıyorum. Etkileyici!

Ayrıca ışığı algılamak için bir fotodirenç kullanıyoruz. Bu nedenle, eğer geceyse, gücü korumak için LCD ekranı devre dışı bırakırız.

Bir başka küçük sır da LowPower kitaplığıdır. Sıcaklığı ölçmediğimiz zaman Arduino'yu LowPower kütüphanesini kullanarak uyku moduna alırız. Çıplak bir ATMEGA çipi uyurken sadece 0,06mA akım gerektirir! Bu, 3 AA pille 4 yıldan fazla uyuyan bir ATMEGA çipine sahip olabileceğiniz anlamına gelir!

Böylece akıllı bir yazılım tasarımıyla iyi bir pil ömrü elde ederiz. ATMEGA çipi, uyanıkken yaklaşık 10mA akıma ihtiyaç duyar. Yani amacımız onu çoğu zaman uyutmak. Bu nedenle, her iki dakikada bir sıcaklığı ölçmemiz gerektiğinde onu uyandırırız. ATMEGA çipini uyandırdığımızda her şeyi olabildiğince çabuk yapıyoruz ve hemen tekrar uykuya geçiyoruz.

Algoritma

Proje her iki dakikada bir uyanır. Yaptığı ilk şey, dijital pin 6'ya HIGH yazarak fotorezistörü etkinleştirmektir. Fotodirençten gelen değeri okur ve gece mi gündüz mü olduğunu belirler. Ardından, fotorezistörü devre dışı bırakmak ve porer'ı korumak için dijital pim 6'ya DÜŞÜK yazar. Gece ise, açık ise LCD ekranı devre dışı bırakırız ve sıcaklığı okumadan hemen iki dakika uyuruz. Ekran kapalı olduğu için buna gerek yoktur. Bu şekilde daha da fazla güç tasarrufu sağlıyoruz. Yeterli ışık varsa LCD ekranı devre dışıysa etkinleştirir, sıcaklığı okur, ekranda gösterir ve iki dakika uykuya dalarız. Bu döngü sonsuza kadar devam eder.

Adım 3: Ölçümler

Ölçümler
Ölçümler
Ölçümler
Ölçümler
Ölçümler
Ölçümler
Ölçümler
Ölçümler

Resimlerden de görebileceğiniz gibi, proje uyurken ve ekran açıkken, bir ekranımız olduğu gerçeğini düşünürsek, çok düşük olan 0.26mA akıma ihtiyacı var!

Proje sıcaklığı ölçtüğünde ve güncellediğinde ekranın 11.5mA civarında olması gerekiyor

Son olarak, karanlık olduğunda ve ldr Nokia 5110 LCD ekranını devre dışı bıraktığında, sadece 0,07mA'ya ihtiyacımız var ki bu harika!

Pil ömrü

Projenin pil ömrünü hesaplamak için basit bir Excel dosyası oluşturdum. Ölçümleri multimetreden girdim ve gördüğünüz gibi sıcaklığı 2 dakikada bir ölçersek 500 günden fazla pil ömrü elde ediyoruz! Bu, 2.500mAs kapasiteli 3AA pillerin kullanılmasıyla olur. Tabii ki Li-Ion 3.400 mAh pil gibi daha iyi piller kullanırsanız, projenizi 2 yıldan daha uzun süre çalışır durumda tutabilirsiniz!

Excel dosyasını bu linkten indirebilirsiniz.

Adım 4: Projenin Kodu

Proje Kodu
Proje Kodu
Proje Kodu
Proje Kodu

Projenin kodu çok basit. Bu kod parçasında bazı kütüphaneler kullanıyoruz. Kullandığımız kütüphaneler şunlardır:

  • Düşük Güç Kitaplığı:
  • DS18B20 sıcaklık sensörü kitaplığı:
  • Nokia 5110 LCD kitaplığı:

Proje kodu iki dosyadan oluşmaktadır. İlk dosyada Arduino üzerinde çalışan kod bulunmaktadır. Sonraki dosya, ana programın görüntülediği simgeler için bazı ikili verileri içerir. Kodun doğru bir şekilde derlenmesi için her iki dosyayı da proje klasörüne koymanız gerekir.

Kod çok basit. Aşağıda bulabilirsiniz. Tüm sihir, sleepForTwoMinutes işlevinde gerçekleşir. Bu fonksiyonda Arduino'yu derin uykuya alıyoruz. Sorun, watchdog zamanlayıcısını kullanarak Arduino'yu uyku moduna geçirebileceğimiz maksimum sürenin 8 saniye olmasıdır. Yani, bunu 15 kez bir döngüye sokarız ve istediğimiz iki dakikalık aralığı elde ederiz.

Umarım bu projeden hoşlanmışsınızdır. Yakında görüşürüz!

Önerilen: