Cuprins:

Termometru digital bazat pe Arduino: 3 pași
Termometru digital bazat pe Arduino: 3 pași

Video: Termometru digital bazat pe Arduino: 3 pași

Video: Termometru digital bazat pe Arduino: 3 pași
Video: Termostat cu Arduino pentru centrala termica 2024, Iulie
Anonim
Termometru digital bazat pe Arduino
Termometru digital bazat pe Arduino

În acest proiect, este proiectat un termometru digital pe bază de Arduino care poate fi utilizat pentru a analiza temperatura camerei.

Termometrul este utilizat în general ca instrument de măsurare a temperaturii. Există diverse principii care pot fi utilizate pentru a măsura temperatura, cum ar fi expansiunea termică a solidelor sau lichidelor, presiunea gazului, măsurarea energiei în infraroșu etc.

Se conturează termometrul digital pe bază de Arduino care poate fi utilizat pentru a analiza temperatura camerei. LM35 LM35 este un senzor de temperatură. Tensiunea de ieșire a acestui senzor este direct proporțională cu temperatura în grade Celsius. LM35 poate fi utilizat în intervalul -550C până la + 1500C cu precizie de +/- 0,750C.

Provizii

Arduino Uno

LM35 Senzor de temperatură

Afișaj LCD 16x2

Pasul 1: Proiectarea circuitului termometrului digital

Proiectarea circuitului termometrului digital
Proiectarea circuitului termometrului digital

Senzorul de temperatură utilizat în acest proiect este LM35. Ieșirea unui senzor de temperatură este direct proporțională cu temperatura, dar în formă analogică. Prin urmare, ieșirea LM35 înseamnă că pinul 2 este conectat la intrarea analogică A0 a Arduino.

Deoarece este un termometru digital, trebuie să convertim valorile analogice ale temperaturii în digitale și să afișăm rezultatul pe un afișaj precum LCD etc. Se folosește LCD 16X2. Pinul 1 și 2 al ecranului LCD sunt conectate la masă și respectiv la sursă. Pentru a gestiona contrastul afișajului, Pinul 3 al ecranului LCD este atașat la ștergătorul unui POT de 10 KΩ.

Terminalele rămase ale POT sunt atașate la alimentare și la masă. Pinii 15 și 16 ai ecranului LCD sunt folosiți pentru a roti lumina de fundal a ecranului LCD, care este conectat la sursă și respectiv la masă. Pentru a afișa informațiile pe LCD, avem nevoie de 4 pini de date ai LCD-ului. Pinii 11-14 (D4 - D7) sunt atașați pinilor 5-2 din Arduino. Pinii 4, 5 și 6 (RS, RW și E) ai ecranului LCD sunt pini de control. Pinii 4 (RS) ai ecranului LCD sunt conectați la pinul 7 al Arduino. Pinul 5 (RW) este conectat la sol. Pinul 6 (E) este conectat la pinul 6 al Arduino.

Pasul 2: Funcționarea termometrului digital

Funcționarea termometrului digital
Funcționarea termometrului digital

Un termometru digital de înaltă precizie este prezentat în acest proiect. Funcționarea circuitului este așa cum se explică mai jos.

Senzorul de temperatură, adică LM35 analizează constant temperatura camerei și oferă o tensiune analogică identică, care este direct proporțională cu temperatura.

Aceste date sunt date Arduino prin A0. După cum este scris codul, Arduino transformă această valoare de tensiune analogică în citiri digitale de temperatură.

Această valoare este afișată pe ecranul LCD. Ieșirea afișată pe ecranul LCD este o citire exactă a temperaturii camerei în centigradi.

Formarea cursului Internet of Things al hIOTron a dezvoltat diverse soluții IoT pentru o astfel de aplicație pentru a îmbunătăți experiența utilizatorului.

Pasul 3: Rulați un program

#include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2);

const int Senzor = A0;

byte degree_symbol [8] =

{

0b00111, 0b00101, 0b00111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000

};

configurare nulă ()

{

pinMode (senzor, INPUT);

lcd.inceput (16, 2);

lcd.createChar (1, grade_symbol);

lcd.setCursor (0, 0);

lcd.print („Digital”);

lcd.setCursor (0, 1);

lcd.print ("Termometru");

întârziere (4000);

lcd.clear ();

}

bucla nulă ()

{

float temp_reading = analogRead (senzor);

float temperature = temp_reading * (5.0 / 1023.0) * 100;

întârziere (10);

lcd.clear ();

lcd.setCursor (0, 0);

lcd.print ("Temperatura în C");

lcd.setCursor (4, 1);

lcd.print (temperatura);

lcd.write (1);

lcd.print ("C");

întârziere (1000);

}

Recomandat: