Sunteți pe pagina 1din 8

Alexandra David

BIM II GRUPA 1

TERMOMETRU DIGITAL
INTRODUCERE:

Arhitecturile cu microprocesor sunt destinate, in principiu, unor aplicatii


cu caracter general, care au in componenta un microprocesor sau un
microcontroller.

In prezenta lucrare se va vorbi despre construirea unui termometru digital,


cu ajutorul arhitecturilor cu microprocesor sau microcontroller, car si despre
componentele folosite in realizarea acestuia.

Pentru realizarea dispozitivului digital se alege utilizarea unui


micricontroller.

Un microcontroller este un “mic creier” electronic, care daca a primit “


educatia necesara” poate simplifica cu succes mai multe tipuri de circuite
electronice. In acest fel, microcontrollerele ne permit sa obtinem aparate mai
mici, mai ieftine, mai performante.

Un termometru digital poate fi construit cu usurinta folosind un


microcontroller de tip PIC si un senzor de temperatura LM35. Seria LM35 este
un senzor de temperatura integrat cu circuit, cu costuri reduse si de precizie, a
carui tensiune de iesire este proportionala cu scara de temperatura Centigrade.
Astfel LM35 are un avantaj fata de alti senzori de temperatura calibrati in
Kelvin, ca utilizatorul sa nu necesite o scadere de tensiune constanta mare,
pentru a obtine temperatura necesara in Centigrade. Nu necesita calibrare
externa. Este produs de National Semiconductor si poate functiona pe un interval
de temperatura intre -55° si 150°.

Productia sa este liniar proportionala cu scala de temperatura Centigrade


si se modifica cu 10 mV / °C.

Senzorul de temperatura LM35 are tensiune offset 0, ceea ce inseamna ca


iesirea este egala cu 0 V, la temperatura de 0°C. Astfel pentru valoarea maxima
a temperaturii ,adica 150°C, tensiunea maxima de iesire este de 150* 10 mV=
1,5 V. Daca se va folosi tensiunea de alimentare 5 V ca Vref + pentru conversia
analogica si digitala (ADC) , rezolutia va fi slaba, deoarece tensiunea de intrare
va functiona doar pana la 1,5V si variatiile de tensiune la alimentare pot afecta
iesirea ADC.
Alexandra David
BIM II GRUPA 1

Deci pentru o utilizare mai calitativa este indicat sa se foloseasca o


tensiune joasa stabila cum este 1,5 V , Vref+.

LCD:

Un microcontroller PIC poate fi usor facut sa comunice cu un LCD prin


utilizarea bicliotecii MikroC.Interfatarea dintre PIC si LCD poate fi de 6 sau 8
biti. In cadrul acestui proiect interfatarea dintre PIC si LCD este de 6 biti.

In acest modul pentru a scrie un caracter astfel incat sa apara pe ecranul


LCD , datele ASCII sunt transmise prin liniile de date DB0 si DB7 si datele de
Alexandra David
BIM II GRUPA 1

tip strobe sunt transmise prin linia E.

LEGATURI LCD:

In acest proiect a fost folosit un display LCD pentru a afissa


temperatura. Acest LCD este format din 16 coloane si 2 linii, iar fiecare caracter
aparut pe display se incadreaza intr-o matrice de tip 5x7 pixel.

Legaturile realizate cu microcontrollerul:

 VSS – ground;

 VDD –sursa supply voltage 5V(47V-53V);

 VEE –este legat de un rezistor variabil pentru a regla contrastul LCD-ului;

 RS-RB2 –selecteaza registrul de comanda cand e scazut si inregistreaza


datele cand este mare;

 RW –scazut(scrie in registru); mare(citeste din registru);

 E-RB3 –acesta trimite date catre pini atunci cand este dat un puls mare
pana la un puls mic;
Alexandra David
BIM II GRUPA 1

COD:

// LCD module connections


Alexandra David
BIM II GRUPA 1

sbit LCD_RS at RB2_bit;

sbit LCD_EN at RB3_bit;

sbit LCD_D4 at RB4_bit;

sbit LCD_D5 at RB5_bit;

sbit LCD_D6 at RB6_bit;

sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB2_bit;

sbit LCD_EN_Direction at TRISB3_bit;

sbit LCD_D4_Direction at TRISB4_bit;

sbit LCD_D5_Direction at TRISB5_bit;

sbit LCD_D6_Direction at TRISB6_bit;

sbit LCD_D7_Direction at TRISB7_bit;

// End LCD module connections

int t;

char a;

char lcd[] = "000 Degree";

void main()

ADCON1 = 0x04;

Lcd_Init();

Lcd_Cmd(_LCD_CURSOR_OFF);

do

Lcd_Cmd(_LCD_CLEAR);

Lcd_out(1,1, "Temperature:");
Alexandra David
BIM II GRUPA 1

t = ADC_Read(0);

t = t * 0.4887;

a = t%10;

lcd[2] = a + '0';

t = t/10;

a = t%10;

lcd[1] = a + '0';

t = t/10;

a = t%10;

lcd[0] = a + '0';

Lcd_out(2,1,lcd);

Delay_ms(100);

}while(1);

}.

CONVERSIA DIN ANLOG IN DIGITAL AL MICROCONTROLLERULUI


PIC

Modulul ADC al microcontrolerului PIC are


de obicei 5 intrări pentru dispozitive cu 28 de
pini și 8 intrări pentru dispozitive cu 40 de pini.
Conversia semnalului analogic la modulul PIC
ADC are ca rezultat un număr digital
corespunzător de 10 biți.

Modulul PIC ADC are intrare de referință de înaltă și joasă tensiune


selectabilă de software pentru o combinație de VDD, VSS, RA2 și RA3.

În următorul exemplu de proiect, vom converti intrarea analogică în canalul


digital de la 1 la 10 biți cu referință de joasă tensiune (Vref-) 0v și referință de
înaltă tensiune (Vref +) 5V. Ieșirea va fi afișată folosind 10 LED-uri. Puteți
schimba Vref- și Vref + configurând registrul ADCON1.
Alexandra David
BIM II GRUPA 1

0v = 0000000000

5v = 1111111111

Resolution = (Vref+ – Vref-)/(1024-1) (as it is 10 bit ADC)

= 5/1023

= 4.887 mV.

Astfel, înseamnă că pentru o modificare în 4.887mV, ieșirea binară se modifică


cu 1.

DIAGRAMA CIRCUITULUI:

COD CONVERSIE:

unsigned int adc;

void main()

ADCON1 = 0x80;
Alexandra David
BIM II GRUPA 1

TRISA = 0xFF; // PORTA is input

TRISC = 0x3F; // Pins RC7, RC6 are outputs

TRISB = 0; // PORTB is output

do

adc = ADC_Read(1); // Get 10-bit results of AD conversion

//of channel 1

PORTB = adc; // Send lower 8 bits to PORTB

PORTC = adc >> 2; // Send 2 most significant //bits to RC7, RC6

} while(1);

BIOGRAFIE:

1) https://electrosome.com/thermometer-pic-microcontroller-lm35/
2) https://electrosome.com/lcd-pic-interfacing/
3) https://electrosome.com/analog-to-digital-converter-pic/
4) https://www.electronicsforu.com/resources/learn-electronics/16x2-lcd-
pinout-diagram
5) CURSURI ARHITECTURI CU MICROPROCESOR ANUL 2, FAC.
BIOINGINERIE MEDICALA, UNIVERSITATEA DE MEDICINA SI
FARMACIE „ GR. T. POPA” IASI

S-ar putea să vă placă și