2 proste obwody miernika temperatury Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym artykule zamierzamy zbudować kilka prostych obwodów miernika temperatury Arduino, które mogą być również używane jako dioda LED obwód termometru pokojowego .

Obwód jest przeznaczony do wyświetlania odczytów za pomocą kropkowanych / kreskowych diod LED. Ten projekt można wdrożyć do zastosowań, w których temperatura otoczenia odgrywa kluczową rolę lub można go zbudować jako kolejny zabawny projekt dla Twojego domu.



1) Używanie DTH11 jako czujnika temperatury

Sercem i mózgiem pierwszego projektu miernika temperatury jest czujnik DTH11 i Arduino. Zamierzamy wydobyć tylko dane temperatury z czujnika.

Arduino wywnioskuje dane i odświeża wyświetlaną temperaturę co kilka sekund.



Podejmiemy 12 uchwał z dnia czujnik temperatury innymi słowy, weźmiemy zakres temperatur, w którym temperatura otoczenia zwykle się zmienia.

Jeśli chcesz dodać więcej rozdzielczości / diod LED, będziesz potrzebować arduino mega, aby wykorzystać całe spektrum temperatur czujnika ze zmodyfikowanym programem.

DTH11 jako czujnik temperatury

Powyższy zilustrowany układ może zostać przyjęty, aby najlepiej wyglądać dla Twojej konfiguracji.

Wystarczy, że użytkownik wprowadzi minimalny zakres temperatur w pomieszczeniu. Może to być przybliżona wartość, którą można później zmienić po zakończeniu pełnej konfiguracji sprzętu.

Jeśli zakres temperatury spadnie poniżej wartości progowej wprowadzonej przez użytkownika, żadna dioda LED nie będzie się świecić, a jeśli temperatura przekroczy maksymalny zakres (minimum + 11), wszystkie diody LED będą się świecić.

Jeśli wystąpią jakiekolwiek problemy z połączeniem czujnika, wszystkie diody LED będą migać jednocześnie co sekundę.

Projektowanie:

Okablowanie obwodu miernika temperatury Arduino LED jest bardzo proste, szereg diod LED podłączonych do pinów GPIO w zakresie od 2 do 13 z rezystorami ograniczającymi prąd, a czujnik DHT11 jest wpinany do analogowych pinów I / O, który jest zaprogramowany do zasilania czujnika a także czytać dane.

Obwód termometru pokojowego LED

W ten sposób konfiguracja obwodu termometru LED jest zakończona i gotowa do przesłania kodu. Zawsze zaleca się przetestowanie obwodu na płytce chlebowej przed wykonaniem go na stałe.

Wskazówka: użyj różnych kolorów diod LED do wskazywania różnych zakresów temperatur. Możesz użyć niebieskich diod LED dla niższego zakresu temperatur, zielonej lub żółtej dla średniego zakresu i czerwonych diod dla wyższej temperatury. To uczyni bardziej atrakcyjnym.

Prototyp autora:

działający prototyp obwodu termometru pokojowego LED

UWAGA: Poniższy program jest kompatybilny tylko z czujnikiem DHT11.

Przed kontynuowaniem należy pobrać plik biblioteki z następującego łącza:

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

Kod programu:

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

NOTATKA 1:

W programie:

int temp = 25 // ustaw zakres temperatur.
Zastąp „25” swoją minimalną temperaturą otoczenia, którą napotkałeś w przeszłości w przypadku innych termometrów lub oszacuj przybliżoną wartość.
UWAGA 2: Sprawdź odczyty temperatury z monitora szeregowego i ustawienia diody LED.

2) miernik temperatury Arduino za pomocą DS18B20

W tym drugim projekcie uczymy się innego prostego, ale niezwykle dokładnego czujnika temperatury Arduino z obwodem wskaźnika, wykorzystującego zaawansowany moduł odczytu cyfrowego wyświetlacza LCD.

moduł odczytu cyfrowego wyświetlacza LCD.

Właściwie nie ma nic zbyt wiele do wytłumaczenia w tej konfiguracji, ponieważ wszystko jest oparte na modułach i po prostu wymaga połączenia lub podłączenia ze sobą za pomocą oferowanych męskich gniazd i złączy.

Wymagany sprzęt

Do skonstruowania tego dokładnego obwodu miernika temperatury Arduino LCD potrzebne są cztery podstawowe materiały, które można zbadać zgodnie z:

1) Płyta Arduino UNO

2) A. Kompatybilny moduł LCD

3) Układ analogowego czujnika temperatury, taki jak DS18B20 lub nasz własny LM35 IC .

Dane techniczne termometru cyfrowego DS18B20

DS18B20 termometr cyfrowy zapewnia specyfikację temperatury od 9 do 12 bitów Celsjusza i posiada funkcję alarmu z nieulotnymi, programowalnymi przez użytkownika wyższymi i niższymi elementami aktywacyjnymi. DS18B20 komunikuje się przez magistralę Single Wire, która z opisu wymaga pojedynczej linii danych (i masy) do połączenia z głównym mikroprocesorem.

Obejmuje zakres temperatur roboczych od -55 ° C do + 125 ° C, z dokładnością do ± 0,5 ° C w asortymencie od -10 ° C do + 85 ° C.

Oprócz tego DS18B20 może pobierać energię bezpośrednio z linii danych („moc pasożytnicza”), eliminując konieczność
rel = ' nofollow 'zewnętrzny zasilacz.

Każdy DS18B20 ma charakterystyczny 64-bitowy kod szeregowy, umożliwiając wielu DS18B20 pracę na tej samej magistrali 1 Wire. W rezultacie jest przyjazny dla użytkownika i nieskomplikowany, wystarczy jeden mikroprocesor do zarządzania obciążeniami związanymi z DS18B20 uruchomionymi w rozległych lokalizacjach.

Programy, które mogą łatwo skorzystać z tego atrybutu, obejmują konfiguracje ekologiczne HVAC, urządzenia do nadzoru temperatury w zakładach, urządzenia lub narzędzia oraz systemy nadzoru i regulacji procesu.

Szczegóły pinów

Dane techniczne termometru cyfrowego DS18B20

4) Zasilacz 9 V, 1 A AC do DC

Teraz wystarczy tylko wepchnąć złącza ze sobą, zrobić trochę ustawień za pomocą przycisków LCD, a otrzymasz do dyspozycji pełnoprawny, dokładny cyfrowy miernik temperatury LCD.

Za pomocą tej konfiguracji można zmierzyć temperaturę w pomieszczeniu lub odpowiednio zamocować czujnik za pomocą dowolnego urządzenia emitującego ciepło, które musi być monitorowane, takiego jak silnik samochodowy, komora inkubatora jaj, gejzer lub po prostu sprawdzić rozpraszanie ciepła z urządzeń wzmacniających moc.

Jak podłączyć miernik temperatury Arduino

Poniższy rysunek przedstawia zestawienie połączenia, w którym płytka Arduino znajduje się na dole, z podłączonym monitorem LCD, a czujnik temperatury podłączony do płytki LCD.

Ale zanim zaimplementujesz powyższą konfigurację, musisz zaprogramować płytkę Arduino za pomocą następującego przykładowego kodu.

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




Poprzedni: Włączanie / wyłączanie dwóch alternatywnych obciążeń za pomocą IC 555 Dalej: Obwód przełącznika przekaźnika SPDT za pomocą triaka