Byly prozkoumány 2 jednoduché obvody měřiče teploty Arduino

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto článku zkonstruujeme několik jednoduchých obvodů měřiče teploty Arduino, které lze také použít jako LED obvod pokojového teploměru .

Obvod je navržen tak, aby zobrazoval naměřené hodnoty v bodových / sloupcových LED. Tento projekt lze implementovat pro aplikace, kde hraje zásadní roli okolní teplota, nebo jej lze postavit jako další zábavný projekt pro váš domov.



1) Použití DTH11 jako teplotního senzoru

Srdcem a mozkem prvního projektu měřiče teploty je senzor DTH11 a Arduino. Vyjmeme ze senzoru pouze údaje o teplotě.

Arduino každých pár sekund odvodí data a obnoví zobrazenou teplotu.



Budeme přijímat 12 rozlišení teplotní senzor jinými slovy, vezmeme teplotní rozsah, kde se obvykle mění okolní teplota.

Pokud chcete přidat více rozlišení / LED, budete potřebovat arduino mega, abyste mohli využívat celé teplotní spektrum senzoru s upraveným programem.

DTH11 jako teplotní senzor

Výše uvedené rozložení může být použito pro nejlepší hledání vašeho nastavení.

Uživatel musí pouze zadat minimální teplotní rozsah místnosti. Může to být hrubá hodnota, kterou lze později změnit po dokončení úplného nastavení hardwaru.

Pokud teplotní rozsah klesne pod prahovou hodnotu, kterou zadal uživatel, žádná LED nebude svítit a pokud teplota překročí maximální rozsah (minimálně + 11), rozsvítí se všechny LED.

Pokud dojde k problémům s připojením senzorů, všechny LED budou blikat každou sekundu současně.

Design:

Zapojení obvodu měřiče teploty Arduino LED je velmi jednoduché, řada LED připojených k pinům GPIO v rozsahu od 2 do 13 s rezistory omezujícími proud a snímač DHT11 je zapojen do analogových I / O pinů, které jsou naprogramovány tak, aby napájely senzor stejně jako čtení dat.

Obvod prostorového teploměru LED

Nastavení vašeho obvodu teploměru LED je tedy dokončeno a připraveno k nahrání kódu. Před provedením trvalého obvodu se vždy doporučuje otestovat obvod na desce s chlebem.

Tip: Použijte různé barevné LED pro indikaci různých teplotních rozsahů. Můžete použít modré LED pro nižší teplotní rozsah, zelené nebo žluté pro střední teplotní rozsah a červené LED pro vyšší teplotu. To bude atraktivnější.

Autorův prototyp:

funkční prototyp obvodu LED prostorového teploměru

POZNÁMKA: Následující program je kompatibilní pouze se senzorem DHT11.

Než budete pokračovat, nezapomeňte si stáhnout soubor knihovny z následujícího odkazu:

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

Programový kód:

//-------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------//

POZNÁMKA 1:

V programu:

int temp = 25 // nastavený teplotní rozsah.
Nahraďte „25“ svou minimální teplotou okolí, se kterou jste se v minulosti setkali, jinými teploměry nebo předpovídejte hrubou hodnotu.
POZNÁMKA 2: Zkontrolujte hodnoty teploty ze sériového monitoru a nastavení LED.

2) Měřič teploty Arduino pomocí DS18B20

V tomto druhém designu se učíme další jednoduchý, ale extrémně přesný teplotní senzor Arduino s obvodem indikátoru, využívající pokročilý odečítací modul digitálního LCD displeje.

čtecí modul digitálního LCD displeje.

Ve skutečnosti není v této konfiguraci nic příliš vysvětlitelného, ​​protože vše je založeno na modulech a jednoduše vyžaduje vzájemné zapojení nebo zapojení prostřednictvím nabízených zástrček a konektorů.

Je vyžadován hardware

Pro konstrukci tohoto přesného obvodu teploměru Arduino LCD jsou zapotřebí čtyři základní materiály, které lze studovat, jak je uvedeno pod:

1) Deska Arduino UNO

2) A Kompatibilní LCD modul

3) Analogový čip teplotního senzoru, například DS18B20 nebo náš vlastní LM35 IC .

Specifikace digitálního teploměru DS18B20

DS18B20 digitální teploměr zajišťuje teplotní specifikace 9-bit až 12-bit Celsia a nese funkci alarmu s energeticky nezávislými spotřebiteli programovatelnými vyššími a nižšími aktivačními prvky. DS18B20 komunikuje přes jedinou sběrnici Wire, která podle popisu vyžaduje jednu datovou linku (a zem) pro připojení k hlavnímu mikroprocesoru.

Zahrnuje rozsah pracovních teplot -55 ° C až + 125 ° C, což je přesnost ± 0,5 ° C v sortimentu -10 ° C až + 85 ° C.

Spolu s tím je DS18B20 umožněno získávat energii přímo z datové linky („síla parazita“), což eliminuje nutnost
rel = ' nofollow „vnější zdroj napájení.

Každý z nich DS18B20 nese charakteristický 64bitový sériový kód, který umožňuje pracovat více DS18B20 na stejné 1 drátové sběrnici. V důsledku toho je uživatelsky přívětivý a nekomplikovaný pouze jeden mikroprocesor pro správu zátěží spojených s DS18B20 spuštěnými na rozšířeném místě.

Programy, které lze snadno využít výhod tohoto atributu, zahrnují ekologické konfigurace HVAC, zařízení pro sledování teploty uvnitř zařízení, přístrojů nebo nástrojů a systémy dohledu a regulace procesů.

Podrobnosti o zapojení

Specifikace digitálního teploměru DS18B20

4) Adaptérová jednotka 9 V, 1 ampér AC na DC

Nyní jde jen o vzájemné zasunutí konektorů, trochu nastavení pomocí tlačítek LCD a máte k dispozici plnohodnotný a přesný digitální měřič teploty LCD.

Pomocí tohoto nastavení můžete měřit pokojovou teplotu nebo vhodně sevřít senzor jakýmkoli zařízením emitujícím teplo, které je třeba monitorovat, jako je automobilový motor, komora inkubátoru vajec, gejzír, nebo jednoduše zkontrolovat odvod tepla ze zařízení zesilovače výkonu.

Jak připojit měřič teploty Arduino

Následující obrázek ukazuje nastavení připojení, kde je deska Arduino dole, s připojeným LCD monitorem a teplotním senzorem připojeným k desce LCD.

Ale než implementujete výše uvedené nastavení, budete muset naprogramovat desku Arduino s následujícím ukázkovým kódem.

Zdvořilost : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Předchozí: Zapnutí / vypnutí dvou alternativních zatížení pomocí IC 555 Další: Spínací obvod relé SPDT pomocí triaku