2 enkle Arduino temperaturmålerkretser utforsket

Prøv Instrumentet Vårt For Å Eliminere Problemer





I denne artikkelen skal vi konstruere et par enkle Arduino temperaturmålerkretser som også kan brukes som en LED romtermometer krets .

Kretsen er designet for å vise avlesningene i prikkede / bar-lysdioder. Dette prosjektet kan implementeres for applikasjoner der omgivelsestemperatur spiller en avgjørende rolle, eller det kan bygges som et annet morsomt prosjekt for ditt hjem.



1) Bruker DTH11 som temperatursensor

Hjertet og hjernen til det første temperaturmålerprosjektet er henholdsvis DTH11-sensor og Arduino. Vi skal bare trekke ut temperaturdataene fra sensoren.

Arduino vil utlede dataene og oppdatere den viste temperaturen med noen sekunders mellomrom.



Vi skal ta 12 resolusjoner av temperatur sensor , med andre ord, vi skal ta temperaturområdet der omgivelsestemperaturen vanligvis varierer.

Hvis du ønsker å legge til mer oppløsning / lysdioder, trenger du arduino mega for å dra nytte av hele temperaturspekteret til sensoren med modifisert program.

DTH11 som temperatursensor

Ovennevnte illustrerte layout kan bli tatt i bruk for å se best mulig etter oppsettet ditt.

Brukeren trenger bare å angi minimumstemperaturområdet til rommet. Det kan være en grov verdi, som senere kan endres når fullstendig maskinvareoppsett er fullført.

Hvis temperaturområdet går under terskelverdien som brukeren har angitt, vil ingen LED lyse, og hvis temperaturen går utover maksimumsområdet (minimum + 11), vil alle LED-lampene lyse.

Hvis det er problemer med sensortilkobling, vil all lysdiode blinke hvert sekund samtidig.

Designet:

Ledningene til Arduino LED-temperaturmåler er veldig enkle, en serie LED koblet til GPIO-pinner fra 2 til 13 med strømbegrensende motstander, og DHT11-sensoren er koblet til analoge I / O-pinner, som er programmert til å gi strømforsyning til sensoren samt lese data.

LED romtermometer krets

Dermed er LED-termometerets kretsoppsett fullført og klart til å laste opp koden. Det anbefales alltid å teste kretsløpet på brødbrettet før du gjør det permanent.

Tips: Bruk forskjellige farger LED for å indikere forskjellige temperaturområder. Du kan bruke blå lysdioder for lavere temperaturområde, grønne eller gule for midtre temperaturområde og røde lysdioder for høyere temperatur. Dette vil gjøre mer attraktivt.

Forfatterens prototype:

fungerende prototype av LED Room Thermometer Circuit

MERKNAD: Følgende program er bare kompatibelt med DHT11-sensoren.

Før du fortsetter, må du sørge for å laste ned biblioteksfilen fra følgende lenke:

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

Programkode:

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

MERKNAD 1:

I programmet:

int temp = 25 // innstilt temperaturområde.
Erstatt “25” med minimum omgivelsestemperaturen du har opplevd tidligere med andre termometre, eller forutsi en grov verdi.
MERKNAD 2: Kontroller temperaturavlesningene fra den serielle skjermen og LED-oppsettet.

2) Arduino temperaturmåler ved bruk av DS18B20

I denne andre designen lærer vi en annen enkel, men ekstremt nøyaktig Arduino temperatursensor med indikatorkrets, ved hjelp av en avansert digital LCD-skjermavlesningsmodul.

digital LCD display avlesningsmodul.

Det er faktisk ikke så mye som kan forklares i denne konfigurasjonen, siden alt er modulbasert og ganske enkelt krever å koble til eller plugge inn med hverandre gjennom de tilbudte kvinnelige stikkontaktene og kontaktene.

Maskinvare kreves

Fire grunnleggende materialer kreves for å konstruere denne nøyaktige Arduino LCD temperaturmålerkretsen, som kan studeres som gitt under:

1) Et Arduino UNO-styre

2) A Kompatibel LCD-modul

3) En analog temperatursensorbrikke, for eksempel en DS18B20 eller vår helt egen LM35 IC .

DS18B20 Spesifikasjoner for digitalt termometer

DS18B20 digitalt termometer forsikrer en 9-biters til 12-biters temperaturspesifikasjoner og har en alarmfunksjon med ikke-flyktige forbrukerprogrammerbare høyere og lavere aktiveringselementer. DS18B20 kommuniserer over en enkelt Wire-buss som etter beskrivelse krever en enkelt datalinje (og jord) for forbindelse med en hovedmikroprosessor.

Den inkluderer et arbeidstemperaturområde fra -55 ° C til + 125 ° C, som er nøyaktig til ± 0,5 ° C over sortimentet fra -10 ° C til + 85 ° C.

Sammen med dette er DS18B20 i stand til å skaffe seg strøm rett fra datalinjen ('parasittkraft'), og disponere nødvendigheten av en
rel = ' ingen følgere utenfor strømforsyningen.

Hver og en av DS18B20 har en særegen 64-bits seriell kode, slik at flere DS18B20-er kan arbeide på den samme 1-ledningsbussen. Derfor er det brukervennlig og ukomplisert bare en mikroprosessor å håndtere belastninger assosiert med DS18B20s lansert over et utbredt sted.

Programmer som lett kan dra nytte av dette attributtet involverer HVAC økologiske konfigurasjoner, temperaturovervåkingsinnretninger inne i virksomheter, apparater eller verktøy, og prosessovervåking og reguleringssystemer.

Pinout-detaljer

DS18B20 Spesifikasjoner for digitalt termometer

4) En 9V, 1 amp AC til DC adapterenhet

Nå handler det bare om å skyve inn kontaktene med hverandre, gjøre litt innstilling gjennom LCD-trykknappene, og du får en fullverdig, nøyaktig digital LCD-temperaturmåler til din disposisjon.

Du kan måle romtemperaturen med dette oppsettet, eller klemme sensoren på riktig måte med en hvilken som helst varmeemitterende enhet som må overvåkes, for eksempel en bilmotor, egginkubasjonskammer, geysir, eller bare for å kontrollere varmespredningen fra en effektforsterkerenhet.

Hvordan koble opp Arduino temperaturmåler

Den følgende figuren viser tilkoblingen som er satt opp, der Arduino-kortet er nederst, med LCD-skjermen koblet til og temperaturføleren koblet til LCD-kortet.

Men før du implementerer ovennevnte oppsett, må du programmere Arduino-kortet med følgende eksempelkode.

Høflighet : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Forrige: Slå på / av to alternative laster med IC 555 Neste: SPDT Relay Switch Circuit ved hjelp av Triac