2 enkla Arduino temperaturmätarkretsar utforskade

Prova Vårt Instrument För Att Eliminera Problem





I den här artikeln ska vi konstruera ett par enkla Arduino temperaturmätarkretsar som också kan användas som en LED rumstermometerkrets .

Kretsen är utformad för att visa avläsningarna i prickade / bar-lysdioder. Detta projekt kan implementeras för applikationer där omgivningstemperatur spelar en avgörande roll eller det kan byggas precis som ett annat roligt projekt för ditt hem.



1) Använda DTH11 som temperatursensor

Hjärtat och hjärnan i det första temperaturmätarprojektet är DTH11-sensorn respektive Arduino. Vi ska bara extrahera temperaturdata från sensorn.

Arduino kommer att leda data och uppdatera den visade temperaturen med några sekunders mellanrum.



Vi kommer att ta 12 resolutioner av temperatursensor , med andra ord, vi ska ta temperaturintervallet där omgivningstemperaturen vanligtvis varierar.

Om du vill lägga till mer upplösning / lysdioder, behöver du arduino mega för att dra nytta av sensorns hela temperaturspektrum med modifierat program.

DTH11 som temperatursensor

Ovanstående illustrerade layout kan antas för att bäst leta efter din installation.

Användaren behöver bara ange rumets lägsta temperaturintervall. Det kan vara ett grovt värde som senare kan ändras när fullständig hårdvarukonfiguration är klar.

Om temperaturområdet går under tröskelvärdet som användaren angav kommer ingen lysdiod att lysa och om temperaturen går utöver det maximala området (minimum + 11) lyser alla lysdioder.

Om det finns några problem med sensoranslutningen kommer all lysdiod att blinka varje sekund samtidigt.

Designen:

Arduino LED-temperaturmätarkretsledningar är mycket enkla, en serie LED anslutna till GPIO-stift som sträcker sig från 2 till 13 med strömbegränsande motstånd, och DHT11-sensorn är ansluten till analoga I / O-stift, som är programmerad för att ge strömförsörjning till sensorn samt läsa data.

LED-rumstermometerkrets

Således är din LED-termometerkretsinställning komplett och redo att ladda upp koden. Det rekommenderas alltid att testa kretsen på brödbrädet innan du gör den permanent.

Tips: Använd olika färger för att indikera olika temperaturintervall. Du kan använda blå lysdioder för lägre temperaturområde, gröna eller gula för mellantemperaturområde och röda lysdioder för högre temperatur. Detta kommer att göra mer attraktivt.

Författarens prototyp:

fungerande prototyp av LED-rumstermometerkrets

OBS! Följande program är endast kompatibelt med DHT11-sensorn.

Innan du fortsätter, se till att ladda ner biblioteksfilen från följande länk:

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

Programkod:

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

ANTECKNING 1:

I programmet:

int temp = 25 // inställt temperaturintervall.
Byt ut “25” med din lägsta omgivningstemperatur som du tidigare har stött på med andra termometrar eller förutsäga ett grovt värde.
OBS 2: Kontrollera temperaturavläsningarna från den seriella bildskärmen och LED-inställningen.

2) Arduino temperaturmätare med DS18B20

I denna andra design lär vi oss en annan enkel men extremt noggrann Arduino temperatursensor med indikatorkrets med hjälp av en avancerad digital LCD-skärmavläsningsmodul.

avläsningsmodul för digital LCD-skärm.

Det finns faktiskt inget för mycket förklarligt i den här konfigurationen, eftersom allt är modulbaserat och helt enkelt kräver anslutning eller anslutning med varandra genom de erbjudna kvinnliga honuttagen och kontakterna.

Maskinvara krävs

Fyra grundläggande material krävs för att konstruera denna exakta Arduino LCD-temperaturmätarkrets, som kan studeras enligt:

1) En Arduino UNO-styrelse

2) A Kompatibel LCD-modul

3) Ett analogt temperaturgivarchip, till exempel en DS18B20 eller vår egen LM35 IC .

Specifikationer för digital termometer DS18B20

DS18B20 digital termometer försäkrar en 9-bitars till 12-bitars temperaturspecifikationer och har en larmfunktion med icke-flyktiga konsumentprogrammerbara högre och lägre aktiveringselement. DS18B20 kommunicerar via en enda Wire-buss som enligt beskrivningen kräver en enda datalinje (och jord) för anslutning till en huvudmikroprocessor.

Den innehåller ett arbetstemperaturområde från -55 ° C till + 125 ° C, vilket är exakt till ± 0,5 ° C över sortimentet från -10 ° C till + 85 ° C.

Tillsammans med detta är DS18B20 möjliggjort att skaffa kraft direkt från datalinjen ('parasitkraft'), vilket gör det nödvändigt att
rel = ' nofollow 'utanför strömförsörjningen.

Var och en av DS18B20 har en distinkt 64-bitars seriell kod, vilket gör att flera DS18B20-enheter kan arbeta på samma 1-trådbuss. Följaktligen är det användarvänligt och okomplicerat bara en mikroprocessor för att hantera laster associerade med DS18B20-enheter som lanseras över en utbredd plats.

Program som enkelt kan dra nytta av detta attribut involverar ekologiska HVAC-konfigurationer, temperaturövervakningsanordningar i anläggningar, apparater eller verktyg och processövervaknings- och regleringssystem.

Pinout-detaljer

Specifikationer för digital termometer DS18B20

4) En 9V, 1 amp AC till DC adapter enhet

Nu handlar det bara om att trycka in kontakterna med varandra, göra lite inställning genom LCD-knapparna och du får en fullfjädrad, exakt digital LCD-temperaturmätare till ditt förfogande.

Du kan mäta rumstemperatur med denna inställning eller klämma sensorn på lämpligt sätt med vilken värmeavgivande enhet som behöver övervakas, till exempel en bilmotor, ägginkubatorkammare, geysir eller helt enkelt för att kontrollera värmeavledningen från en effektförstärkare.

Hur man kopplar upp Arduino temperaturmätare

Följande bild visar anslutningsuppsättningen, där Arduino-kortet är längst ner, med LCD-skärmen ansluten över den och temperatursensorn ansluten till LCD-kortet.

Men innan du implementerar ovanstående inställningar måste du programmera Arduino-kortet med följande exempelkod.

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




Tidigare: Slå på / av två alternativa laster med IC 555 Nästa: SPDT Reläbrytarkrets med Triac