Boli preskúmané 2 jednoduché obvody merača teploty Arduino

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto článku sa chystáme skonštruovať niekoľko jednoduchých obvodov merača teploty Arduino, ktoré je možné použiť aj ako LED obvod izbového teplomeru .

Obvod je navrhnutý tak, aby zobrazoval namerané hodnoty v bodkovaných / stĺpcových LED diódach. Tento projekt je možné implementovať pre aplikácie, kde okolitá teplota hrá rozhodujúcu úlohu, alebo ho možno postaviť ako ďalší zábavný projekt pre váš domov.



1) Použitie DTH11 ako teplotného senzora

Srdcom a mozgom prvého projektu merača teploty je senzor DTH11 a Arduino. Budeme extrahovať iba údaje o teplote zo snímača.

Arduino bude odvodzovať údaje a každých pár sekúnd obnoví zobrazenú teplotu.



Budeme prijímať 12 uznesení z teplotný senzor inými slovami, vezmeme teplotný rozsah, pri ktorom sa teplota okolia zvyčajne líši.

Ak chcete pridať ďalšie rozlíšenie / LED, budete potrebovať arduino mega, aby ste využili celé teplotné spektrum snímača s upraveným programom.

DTH11 ako snímač teploty

Vyššie uvedené rozloženie môže byť použité pre najlepšie hľadanie vášho nastavenia.

Používateľ musí iba zadať minimálny teplotný rozsah miestnosti. Môže to byť približná hodnota, ktorú je možné neskôr zmeniť po dokončení úplného nastavenia hardvéru.

Ak teplotný rozsah klesne pod prahovú hodnotu, ktorú zadal užívateľ, nebude svietiť žiadna LED dióda a ak teplota prekročí maximálny rozsah (minimálne + 11), rozsvieti sa každá LED.

Ak sa vyskytnú problémy s pripojením senzora, všetky LED budú blikať súčasne každú sekundu.

Dizajn:

Zapojenie obvodu merača teploty Arduino LED je veľmi jednoduché, séria LED pripojených k pinom GPIO v rozmedzí od 2 do 13 s rezistormi obmedzujúcimi prúd a snímač DHT11 je zapojený do analógových I / O pinov, ktoré sú naprogramované na napájanie snímača ako aj načítané údaje.

Obvod priestorového teplomeru LED

Vaše nastavenie obvodu LED teplomera je teda úplné a pripravené na načítanie kódu. Pred trvalým nastavením obvodu sa vždy odporúča vyskúšať obvod na doske s chlebom.

Tip: Na indikáciu rôznych rozsahov teplôt použite inú farebnú LED. Môžete použiť modré LED pre nižší teplotný rozsah, zelené alebo žlté pre stredný teplotný rozsah a červené LED pre vyššiu teplotu. To bude atraktívnejšie.

Autorský prototyp:

funkčný prototyp obvodu izbového teplomeru LED

POZNÁMKA: Nasledujúci program je kompatibilný iba so snímačom DHT11.

Než budete pokračovať, nezabudnite si stiahnuť súbor knižnice z nasledujúceho 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 programe:

int temp = 25 // nastaveny teplotny rozsah.
Nahraďte „25“ vašou minimálnou teplotou okolia, s ktorou ste sa v minulosti stretli s inými teplomermi, alebo predpovedajte približnú hodnotu.
POZNÁMKA 2: Skontrolujte hodnoty teploty zo sériového monitora a nastavenia LED.

2) Arduino merač teploty pomocou DS18B20

V tomto druhom dizajne sa učíme ďalší jednoduchý, ale mimoriadne presný snímač teploty Arduino s obvodom indikátora, využívajúci pokročilý čítací modul digitálneho LCD displeja.

čítací modul digitálneho LCD displeja.

V tejto konfigurácii vlastne nie je nič príliš vysvetliteľného, ​​pretože všetko je založené na moduloch a jednoducho si vyžaduje vzájomné zapojenie alebo pripojenie prostredníctvom ponúkaných zásuviek a konektorov.

Vyžaduje sa hardvér

Na zostavenie tohto presného obvodu merača teploty Arduino LCD sú potrebné štyri základné materiály, ktoré je možné študovať podľa:

1) Rada Arduino UNO

2) A Kompatibilný modul LCD

3) Analógový snímač teploty, napríklad DS18B20 alebo náš vlastný LM35 IC .

Špecifikácie digitálneho teplomeru DS18B20

Model DS18B20 digitálny teplomer zaisťuje 9-bitové až 12-bitové teplotné špecifikácie a nesie funkciu alarmu s energeticky nezávislými programovateľnými vyššími a nižšími aktivačnými prvkami pre spotrebiteľa. DS18B20 komunikuje cez jedinú drôtovú zbernicu, ktorá podľa popisu vyžaduje jednu dátovú linku (a zem) na pripojenie k hlavnému mikroprocesoru.

Zahŕňa rozsah pracovných teplôt -55 ° C až + 125 ° C, čo je presnosť ± 0,5 ° C v sortimente -10 ° C až + 85 ° C.

Spolu s tým je DS18B20 umožnené získavať energiu priamo z dátovej linky („sila parazita“), čo eliminuje potrebu
rel = ' nofollow „vonkajšie napájanie.

Každý model DS18B20 nesie charakteristický 64-bitový sériový kód, ktorý umožňuje pracovať viacerým modelom DS18B20 na jednej 1-vodičovej zbernici. Z toho vyplýva, že je to užívateľsky príjemný a nekomplikovaný iba jeden mikroprocesor na správu záťaží spojených s DS18B20s spustených na veľmi rozšírenom mieste.

Programy, ktoré môžu ľahko využívať výhody tohto atribútu, zahŕňajú ekologické konfigurácie HVAC, zariadenia na sledovanie teploty vo vnútri zariadení, prístrojov alebo nástrojov a systémy dohľadu a regulácie procesov.

Podrobnosti o zapojení

Špecifikácie digitálneho teplomeru DS18B20

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

Teraz ide iba o vzájomné vtláčanie konektorov, malé nastavenie pomocou tlačidiel LCD a k dispozícii máte plnohodnotný a presný digitálny teplomer LCD.

Pomocou tohto nastavenia môžete merať teplotu v miestnosti alebo vhodne pripevniť snímač k ľubovoľnému zariadeniu emitujúcemu teplo, ktoré je potrebné monitorovať, ako je napríklad automobilový motor, komora inkubátora vajec, gejzír, alebo jednoducho skontrolovať odvod tepla zo zosilňovača výkonu.

Ako pripojiť merač teploty Arduino

Na nasledujúcom obrázku je znázornené nastavenie pripojenia, kde je doska Arduino dole, so zapojeným monitorom LCD a snímačom teploty pripojeným k doske LCD.

Pred implementáciou vyššie uvedeného nastavenia však budete musieť naprogramovať dosku Arduino s nasledujúcim ukážkovým kódom.

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




Predchádzajúci: Zapnutie / vypnutie dvoch alternatívnych zaťažení pomocou IC 555 Ďalej: Obvod spínacieho relé SPDT pomocou triaku