Termometri so uporabna naprava, ki se že dolgo uporablja za merjenje temperature. V tem projektu smo izdelali digitalni termometer na osnovi Arduina, ki v realnem času prikazuje trenutno temperaturo okolice na LCD-enoti 16x2. Lahko ga namestite v hiše, pisarne, industrijo itd. Za merjenje temperature. Ta termometer, ki temelji na Arduinu, lahko razdelimo na tri odseke - prvi odsek zazna temperaturo s pomočjo temperaturnega senzorja LM35, drugi odsek pretvori vrednost temperature v primerna števila v Celzijevi lestvici, kar opravi Arduino, zadnji del sistema pa prikaže temperaturo na 16x2 LCD. Enako je prikazano v spodnjem blokovnem diagramu.
V tem digitalnem temperaturnem senzorju z Arduinom se Arduino Uno uporablja za nadzor celotnega procesa. Temperaturni senzor LM35 se uporablja za zaznavanje temperature okolja, ki daje 1 stopinjo temperature pri vsaki spremembi 10 mV na svojem izhodnem zatiču. To lahko enostavno preverite z voltmetrom, tako da priključite Vcc na zatiču 1 in ozemljitev na zatiču 3 in izhodno napetost na zatiču 2 senzorja LM35. Na primer, če je izhodna napetost senzorja LM35 250 m voltov, to pomeni, da je temperatura okoli 25 stopinj Celzija.
Arduino odčita izhodno napetost temperaturnega senzorja z uporabo analognega zatiča A0 in izvede izračun za pretvorbo te analogne vrednosti v digitalno vrednost trenutne temperature. Po izračunih arduino te izračune ali temperaturo pošlje na enoto LCD 16x2 z uporabo ustreznih ukazov LCD. Z uporabo DHT11, DS18B20 in drugih temperaturnih senzorjev smo zgradili tudi druge projekte digitalnih termometrov.
Komponente vezja
Arduino
V tem projektu smo uporabili Arduino za nadzor celotnega procesa sistema. Arduino je krmilnik, ki deluje na krmilniku ATmega AVR. Arduino je odprtokodna strojna platforma in zelo koristna za razvoj projektov. Na trgu je na voljo veliko vrst plošč Arduino, kot so Arduino UNO, arduino mega, arduino pro mini, Lilypad itd., Arduino pa lahko izdelate tudi sami.
LM35 Temperaturni senzor
LM35 je 3-polni temperaturni senzor, ki daje 1 stopinjo Celzija na vsakih 10 mV voltov. Ta senzor lahko zazna do 150 stopinj Celzija. 1 številčni zatič senzorja lm35 je Vcc, drugi je izhod in tretji je Ground. LM35 je najpreprostejši temperaturni senzor in ga je mogoče enostavno povezati s katerim koli mikrokrmilnikom. Tu lahko preverite različne meritve temperature s pomočjo projektov, ki temeljijo na LM35.
Pin št |
Funkcija |
Ime |
1. |
Napajalna napetost; 5V (+ 35V do -2V) |
Vcc |
2. |
Izhodna napetost (+ 6V do -1V) |
Izhod |
3. |
Tla (0V) |
Tla |
LM35 je mogoče enostavno povezati z Raspberry Pi, NodeMCU, mikrokrmilnikom PIC itd. Za merjenje temperature, uporablja pa se lahko tudi samostojno z Op-amp za prikaz ravni temperature.
LCD
Enota LCD 16x2 se pogosto uporablja pri vgrajenih sistemskih projektih, ker je poceni, lahko dostopna, majhna in enostavna za vmesnike. 16x2 ima dve vrstici in 16 stolpcev, kar pomeni, da je sestavljen iz 16 blokov s 5x8 pikami. 16-polni za povezave, v katerih je 8 podatkovnih bitov D0-D7 in 3 krmilnih bitov, in sicer RS, RW in EN. Preostali zatiči se uporabljajo za napajanje, nadzor svetlosti in za osvetlitev ozadja.
Napajanje
Arduino Board že ima vgrajen odsek za napajanje. Tu moramo na ploščo priključiti le 9 voltne ali 12 voltne adapterje.
Shema vezja in razlaga
Circuit digram za digitalni termometer s pomočjo Arduino in LM35 senzorja temperature, ki je prikazan na zgornji sliki. Povezave naredite previdno, kot je prikazano na shemi. Tu je enota LCD 16x2 neposredno priključena na arduino v 4-bitnem načinu. Podatkovni zatiči LCD, in sicer RS, EN, D4, D5, D6, D7, so povezani z arduino digitalno številko 7, 6, 5, 4, 3, 2. Temperaturni senzor LM35 je povezan z analognim pinom A0 arduino, ki generira 1 stopinja Celzija pri vsaki spremembi izhoda 10 mV na izhodnem zatiču.
Če ste nov v Arduinu, se naučite vmesnika 16x2 LCD z Arduinom v naši prejšnji vadnici.
Koda in razlaga Arduino LM35
Koda za merjenje temperature z uporabo LM35 je preprosta in podana na koncu te vadnice. Najprej vključimo knjižnico za LCD enoto, nato pa določimo podatke in krmilne nožice za LCD in temperaturni senzor.
Po pridobitvi analogne vrednosti na analognem zatiču to vrednost preberemo s funkcijo Analog read in to vrednost shranimo v spremenljivko. Nato vrednost pretvorite v temperaturo z uporabo spodnje formule.
float analog_value = analogRead (analog_pin); float Temperature = analog_value * faktor * 100 pri čemer je faktor = 5/1023 analog_value = izhod temperaturnega senzorja
Tu se simbol stopnje ustvari z uporabo metode znakov po meri
Tako lahko na ta način izdelamo preprost digitalni termometer za merjenje temperature z Arduinom. Celotna koda z predstavitvenim videoposnetkom je navedena spodaj.