2 прости вериги за измерване на температурата на Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази статия ще изградим няколко лесни вериги за измерване на температурата на Arduino, които могат да се използват и като LED схема на стаен термометър .

Схемата е предназначена да показва показанията в пунктирани / бар светодиоди. Този проект може да бъде реализиран за приложения, при които температурата на околната среда играе решаваща роля или може да бъде изграден точно като поредния забавен проект за вашия дом.



1) Използване на DTH11 като температурен сензор

Сърцето и мозъкът на първия проект за измерване на температура са съответно сензорът DTH11 и Arduino. Ще извлечем само температурните данни от сензора.

Arduino ще извежда данните и ще опреснява показаната температура на всеки няколко секунди.



Ще вземем 12 резолюции от температурен сензор , с други думи, ще вземем температурния диапазон, където температурата на околната среда обикновено варира.

Ако искате да добавите повече разделителна способност / светодиоди, ще ви е необходим arduino mega, за да се възползвате от целия температурен спектър на сензора с модифицирана програма.

DTH11 като температурен сензор

Горното илюстрирано оформление може да бъде прието за най-добро търсене на вашата настройка.

Потребителят просто трябва да въведе минималния температурен диапазон на стаята. Това може да бъде груба стойност, която по-късно може да бъде променена, след като завърши пълната хардуерна настройка.

Ако температурният диапазон падне под праговата стойност, която потребителят е въвел, нито един светодиод няма да свети и ако температурата надхвърли максималния диапазон (минимум + 11), всички светодиоди ще светят.

Ако има проблеми със свързаността на сензора, всички светодиоди ще мигат всяка секунда едновременно.

Дизайнът:

Окабеляването на веригата на Arduino LED за измерване на температурата е много просто, серия от LED, свързани към GPIO пинове, вариращи от 2 до 13 с резистори за ограничаване на тока, и DHT11 сензорът е включен към аналогови I / O щифтове, който е програмиран да дава захранване на сензора както и прочетени данни.

LED верига за термометър за стая

По този начин настройката на вашата верига за LED термометър е завършена и готова за качване на кода. Винаги се препоръчва да тествате веригата на дъската за хляб, преди да я направите постоянна.

Съвет: Използвайте различен цветен светодиод за индикация на различни температурни диапазони. Можете да използвате сини светодиоди за по-ниски температурни граници, зелени или жълти за средни температурни граници и червени светодиоди за по-висока температура. Това ще направи по-привлекателно.

Прототип на автора:

работещ прототип на LED стаен термометър

ЗАБЕЛЕЖКА: Следващата програма е съвместима само със сензор DHT11.

Преди да продължите, не забравяйте да изтеглите библиотечния файл от следната връзка:

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

Код на програмата:

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

ЗАБЕЛЕЖКА 1:

В програмата:

int temp = 25 // задайте температурен диапазон.
Заменете „25“ с вашата минимална околна температура, която сте срещали в миналото, с други термометри или предсказвайте груба стойност.
ЗАБЕЛЕЖКА 2: Моля, проверете показанията на температурата от серийния монитор и настройката на светодиода.

2) Измервател на температура Arduino с помощта на DS18B20

В този втори дизайн научаваме още един прост, но изключително точен температурен сензор Arduino с индикаторна схема, използващ усъвършенстван модул за отчитане на цифров LCD дисплей.

цифров модул за отчитане на LCD дисплей.

Всъщност няма нищо твърде обяснимо в тази конфигурация, тъй като всичко е базирано на модули и просто изисква свързване или включване помежду си чрез предлаганите мъжки женски контакти и съединители.

Необходим хардуер

За изграждането на тази точна схема за измерване на температурата на LCD Arduino са необходими четири основни материала, които могат да бъдат проучени, както е дадено в:

1) Arduino UNO Board

2) А Съвместим LCD модул

3) Аналогов чип за температурен сензор, като DS18B20 или нашият собствен LM35 IC .

DS18B20 Спецификации на цифровия термометър

DS18B20 цифров термометър осигурява 9-битови до 12-битови температурни спецификации по Целзий и носи алармена функция с енергонезависими потребителски програмируеми по-високи и по-ниски активиращи елементи. DS18B20 комуникира през една жична шина, която по описание изисква една линия за данни (и земя) за връзка с основен микропроцесор.

Той включва работен температурен диапазон от -55 ° C до + 125 ° C, което е точно до ± 0,5 ° C в асортимента от -10 ° C до + 85 ° C.

Заедно с това, DS18B20 има възможност да придобива мощност директно от линията за данни („паразитна мощност“), като отхвърля необходимостта от
отн = ' nofollow 'външно захранване.

Всеки един DS18B20 носи отличителен 64-битов сериен код, позволяващ на множество DS18B20 да работят на една и съща 1-проводна шина. Следователно, лесен за употреба и неусложнен е само един микропроцесор за управление на товари, свързани с DS18B20s, пуснати на широко място.

Програмите, които могат лесно да се възползват от този атрибут, включват HVAC екологични конфигурации, устройства за наблюдение на температурата в заведения, апарати или инструменти и системи за контрол и регулиране на процесите.

Подробности за пиноут

DS18B20 Спецификации на цифровия термометър

4) 9V, 1 ампер AC към DC адаптер

Сега става въпрос само за натискане на съединителите един с друг, направете малко настройка чрез LCD бутоните и получавате пълноценен, точен цифров LCD измервател на температурата на ваше разположение.

Можете да измервате стайната температура с тази настройка или да затегнете сензора по подходящ начин с всяко устройство за излъчване на топлина, което трябва да бъде наблюдавано, като автомобилен двигател, камера за инкубатор на яйца, гейзер или просто да проверите разсейването на топлината от устройствата за усилване на мощността.

Как да закачите измервателя на температурата на Arduino

Следващата фигура показва настроената връзка, където дъното на Arduino е отдолу, с включен LCD монитор и температурният сензор, свързан с LCD платката.

Но преди да приложите горната настройка, ще трябва да програмирате дъската Arduino със следния примерен код.

Учтивост : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Предишен: Включване / изключване на две алтернативни натоварвания с IC 555 Напред: SPDT верига за релеен превключвател, използвайки Triac