2 Basit Arduino Sıcaklık Ölçer Devresi Keşfedildi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, LED olarak da kullanılabilen birkaç kolay Arduino sıcaklık ölçer devresi inşa edeceğiz. oda termometresi devresi .

Devre, okumaları noktalı / çubuk LED'lerde görüntülemek için tasarlanmıştır. Bu proje, ortam sıcaklığının çok önemli bir rol oynadığı uygulamalar için uygulanabilir veya eviniz için başka bir eğlenceli proje olarak inşa edilebilir.



1) Sıcaklık Sensörü olarak DTH11'in kullanılması

İlk sıcaklık ölçer projesinin kalbi ve beyni sırasıyla DTH11 sensörü ve Arduino'dur. Sensörden sadece sıcaklık verilerini alacağız.

Arduino verileri çıkaracak ve görüntülenen sıcaklığı birkaç saniyede bir yenileyecektir.



12 karar alacağız Sıcaklık sensörü başka bir deyişle, ortam sıcaklığının genellikle değiştiği sıcaklık aralığını alacağız.

Daha fazla çözünürlük / LED eklemek isterseniz, değiştirilmiş program ile sensörün tüm sıcaklık spektrumundan yararlanmak için arduino mega'ya ihtiyacınız olacaktır.

Sıcaklık Sensörü olarak DTH11

Yukarıda gösterilen düzen, kurulumunuzu en iyi şekilde aramak için benimsenebilir.

Kullanıcının sadece odanın minimum sıcaklık aralığını girmesi gerekir. Tam donanım kurulumu tamamlandıktan sonra daha sonra değiştirilebilen kaba bir değer olabilir.

Sıcaklık aralığı kullanıcının girdiği eşik değerinin altına düşerse, hiçbir LED yanmaz ve sıcaklık maksimum aralığın (minimum + 11) ötesine geçerse tüm LED yanar.

Herhangi bir sensör bağlantısı sorunu varsa, tüm LED'ler her saniye aynı anda yanıp söner.

Dizayn:

Arduino LED sıcaklık ölçer devre kablolaması çok basittir, GPIO pinlerine 2 ila 13 arasında değişen akım sınırlayıcı dirençlerle bağlı bir dizi LED ve DHT11 sensörü, sensöre güç kaynağı sağlamak için programlanmış analog I / O pinlerine takılır. yanı sıra verileri okuyun.

LED Oda Termometresi Devresi

Böylece LED termometre devre kurulumunuz tamamlanmış ve kodu yüklemeye hazırdır. Kalıcı hale getirmeden önce her zaman ekmek tahtasında devreyi test etmeniz önerilir.

İpucu: Farklı sıcaklık aralıklarını belirtmek için farklı renkli LED'ler kullanın. Daha düşük sıcaklık aralığı için mavi LED'ler, orta sıcaklık aralığı için yeşil veya sarı ve daha yüksek sıcaklık için kırmızı LED'ler kullanabilirsiniz. Bu daha çekici hale getirecek.

Yazarın prototipi:

LED Oda Termometresi Devresinin çalışma prototipi

NOT: Aşağıdaki program yalnızca DHT11 sensörü ile uyumludur.

Devam etmeden önce, lütfen aşağıdaki bağlantıdan kitaplık dosyasını indirdiğinizden emin olun:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Program kodu:

//-------Program developed by R.Girish------//
#include
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int p=A0
int data=A1
int n=A2
int ack
dht DHT
int temp=25 // set temperature range.
void setup()
{
Serial.begin(9600) // may be removed after testing.
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,HIGH)
digitalWrite(n,LOW)
}
void loop()
{
// may be removed after testing.
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
//till here
ack=0
int chk = DHT.read11(data)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if (ack==0)
{
if(DHT.temperature>=temp)digitalWrite(a,HIGH)
if(DHT.temperature>=temp+1)digitalWrite(b,HIGH)
if(DHT.temperature>=temp+2)digitalWrite(c,HIGH)
if(DHT.temperature>=temp+3)digitalWrite(d,HIGH)
if(DHT.temperature>=temp+4)digitalWrite(e,HIGH)
if(DHT.temperature>=temp+5)digitalWrite(f,HIGH)
if(DHT.temperature>=temp+6)digitalWrite(g,HIGH)
if(DHT.temperature>=temp+7)digitalWrite(h,HIGH)
if(DHT.temperature>=temp+8)digitalWrite(i,HIGH)
if(DHT.temperature>=temp+9)digitalWrite(j,HIGH)
if(DHT.temperature>=temp+10)digitalWrite(k,HIGH)
if(DHT.temperature>=temp+11)digitalWrite(l,HIGH)
delay(2000)
goto refresh
}
if (ack==1)
{
// This may be removed after testing.
Serial.print('NO DATA')
Serial.print(' ')
// till here
delay(500)
digitalWrite(a,1)
digitalWrite(b,1)
digitalWrite(c,1)
digitalWrite(d,1)
digitalWrite(e,1)
digitalWrite(f,1)
digitalWrite(g,1)
digitalWrite(h,1)
digitalWrite(i,1)
digitalWrite(j,1)
digitalWrite(k,1)
digitalWrite(l,1)
refresh:
delay(500)
digitalWrite(a,0)
digitalWrite(b,0)
digitalWrite(c,0)
digitalWrite(d,0)
digitalWrite(e,0)
digitalWrite(f,0)
digitalWrite(g,0)
digitalWrite(h,0)
digitalWrite(i,0)
digitalWrite(j,0)
digitalWrite(k,0)
digitalWrite(l,0)
}
}
//-------Program developed by R.Girish------//

NOT 1:

Programda:

int temp = 25 // sıcaklık aralığını ayarla.
Geçmişte karşılaştığınız minimum ortam sıcaklığınız ile '25' i diğer termometrelerle değiştirin veya kabaca bir değer öngörün.
NOT 2: Lütfen seri monitörden ve LED kurulumundan sıcaklık okumalarını doğrulayın.

2) DS18B20 Kullanan Arduino Sıcaklık Ölçer

Bu ikinci tasarımda, gelişmiş bir dijital LCD ekran okuma modülünü kullanarak Gösterge devresine sahip başka bir basit, ancak son derece hassas Arduino sıcaklık sensörünü öğreniyoruz.

dijital LCD ekran okuma modülü.

Aslında bu konfigürasyonda çok fazla açıklanabilecek hiçbir şey yok, çünkü her şey modül tabanlı ve basitçe sunulan erkek dişi soketler ve konektörler aracılığıyla birbirine bağlanmayı veya takmayı gerektiriyor.

Donanım gerekli

Bu doğru Arduino LCD sıcaklık ölçer devresini oluşturmak için aşağıda verildiği gibi çalışılabilecek dört temel malzeme gereklidir:

1) Bir Arduino UNO Kartı

2) bir Uyumlu LCD Modülü

3) DS18B20 veya bizimki gibi analog bir sıcaklık sensörü çipi LM35 IC .

DS18B20 Dijital Termometre Özellikleri

DS18B20 Dijital termometre 9 bit ila 12 bit Santigrat sıcaklık özelliklerini garanti eder ve uçucu olmayan tüketici tarafından programlanabilen daha yüksek ve daha düşük aktivasyon öğeleri ile bir alarm özelliği taşır. DS18B20, bir ana mikroişlemci ile bağlantı için açıklama gereği tek bir veri hattı (ve topraklama) gerektiren tek bir Wire bus üzerinden iletişim kurar.

-10 ° C ile + 85 ° C aralığında ± 0,5 ° C'ye kadar hassas olan -55 ° C ila + 125 ° C çalışma sıcaklığı aralığını içerir.

Bununla birlikte, DS18B20'nin doğrudan veri hattından güç alması ('parazit gücü') sağlanmıştır ve
rel = ' takip etme 'dış güç kaynağı.

Her biri DS18B20, birden fazla DS18B20'nin aynı 1 Wire bus üzerinde çalışmasına izin veren ayırt edici bir 64-bit seri kodu taşır. Sonuç olarak, kullanıcı dostudur ve geniş bir yerde başlatılan DS18B20'lerle ilişkili yükleri yönetmek için tek bir mikroişlemcinin kullanımı karmaşık değildir.

Bu özellikten kolayca yararlanabilen programlar, HVAC ekolojik konfigürasyonlarını, tesisler içindeki sıcaklık gözetim cihazlarını, aparatları veya araçları ve proses denetimi ve düzenleme sistemlerini içerir.

Pinout Ayrıntıları

DS18B20 Dijital Termometre Özellikleri

4) 9V, 1 amper AC'den DC'ye adaptör ünitesi

Şimdi, konektörleri birbirleriyle itmekle ilgili, LCD basmalı düğmelerle biraz ayar yapın ve emrinizde tam teşekküllü, doğru bir dijital LCD sıcaklık ölçer elde edersiniz.

Bu kurulumla oda sıcaklığını ölçebilir veya sensörü, otomobil motoru, yumurta kuluçka odası, şofben gibi izlenmesi gereken herhangi bir ısı yayan cihazla uygun şekilde kelepçeleyebilir veya basitçe bir güç amplifikatörü cihazlarından ısı dağılımını kontrol edebilirsiniz.

Arduino Sıcaklık Ölçer Nasıl Bağlanır

Aşağıdaki şekil, Arduino kartının altta olduğu yerde, üzerine LCD monitör takılı ve sıcaklık sensörünün LCD kartına takılı olduğu bağlantı kurulumunu göstermektedir.

Ancak yukarıdaki kurulumu uygulamadan önce, Arduino kartını aşağıdaki örnek kodla programlamanız gerekir.

Nezaket : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Önceki: IC 555 ile İki Alternatif Yükü AÇMA / KAPATMA Sonraki: Triyak kullanarak SPDT Röle Anahtarı Devresi