Sisukord:
- Samm 1:
- Samm: vooluahela skeem
- 3. samm: programmeerimine
- Samm: selgitage koodi
- Samm: saate kogu projekti alla laadida
- 6. samm: video
Video: Temperatuuriandur (LM35) liidesega ATmega32 ja LCD -ekraaniga - Ventilaatori automaatika: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Temperatuuriandur (LM35) liidesega ATmega32 ja LCD -ekraaniga
Samm 1:
Selles projektis saate teada, kuidas liita temperatuuriandur (LM35) AVR ATmega32 mikrokontrolleri ja LCD -ekraaniga.
Enne seda projekti peate tutvuma järgmiste artiklitega
kuidas lisada LCD raamatukogu avr stuudiosse | avr mikrokontrolleri õpetus
sissejuhatus AVC mikrokontrolleri ADC -sse | algajatele
Temperatuuriandur (LM35) on populaarne ja madala hinnaga temperatuuriandur. Vcc võib olla 4V kuni 20V, nagu on näidatud andmelehel. Anduri kasutamiseks ühendage lihtsalt Vcc 5V, GND maandusega ja väljund ühe ADC -ga (analoog -digitaalmuunduri kanal).
Väljund on 10Millivolt kraadi Celsiuse kohta. Seega, kui väljund on 310 mV, on temperatuur 31 kraadi C. Selle projekti tegemiseks peaksite olema tuttav AVR -ide ADC -ga ja kasutama ka LCD -d. Nii et AVR -ide ADC eraldusvõime on 10 bitti ja võrdluspinge puhul kasutate 5 V pinge poolest on
5/1024 = ligikaudu 5,1 mV
Nii et kui ADC tulemus vastab 5,1 mV, st kui ADC näit on
10 x 5,1 mV = 51 mV
Funktsiooni adc_result (ch) abil saate lugeda mis tahes ADC kanali väärtust;
Kus ch on kanali number (0–5) ATmega8 korral. Kui olete ühendanud LM35 väljundi ADC kanaliga 0, helistage
adc_result0 = adc_read (0);
see salvestab praeguse ADC näidu muutuja adc_value. Andmetüüp adc_value peaks olema int, kuna ADC väärtus võib olla vahemikus 0–1023.
Nagu nägime, on ADC tulemused 5,1 mV ja 1 kraadi C korral on LM35 väljund 10 mV, seega 2 ühikut ADC = 1 kraad.
Nii et temperatuuri saamiseks jagame adc_value kahega
temperatuur = adc_result0 /2;
Lõpuks kuvab mikrokontroller 16X2 tähtnumbrilisel LCD -ekraanil temperatuuri Celsiuse kraadides.
Samm: vooluahela skeem
3. samm: programmeerimine
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#kaasake
#kaasake
#include "LCD/lcd.h"
tühine adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC lubamine ja eelseadistamine 128
ADCSRA = (1 <
}
// lugeda adc väärtust
uint16_t adc_read (uint8_t ch)
{
// valige vastav kanal 0 ~ 7
ch & = 0b00000111; // JA operatsioon 7 -ga
ADMUX = (ADMUX & 0xF8) | ch;
// alusta ühe konversiooni
// kirjutage ADSC -le „1”
ADCSRA | = (1 <
// oodake konversiooni lõpuleviimist
// ADSC muutub uuesti '0'
samas (ADCSRA & (1 <
tagasipöördumine (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int kaugel;
söe puhver [10];
// initsialiseerida adc ja lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // KURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_viivitus_ms (50);
samas (1)
{
adc_result0 = adc_read (0); // loe ADC väärtust PA0 -l
temp = adc_result0/2.01; // temperatuuri leidmine
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, puhver, 10); // kuvab ADC väärtuse
// lcd_puts (puhver);
lcd_gotoxy (0, 0);
itoa (temp, puhver, 10);
lcd_puts ("Temp ="); // kuvab temperatuuri
lcd_puts (puhver);
lcd_gotoxy (7, 0);
lcd_puts ("C");
kauge = (1,8*temp) +32;
lcd_gotoxy (9, 0);
itoa (kauge, puhver, 10);
lcd_puts (puhver);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_ viivitus_ms (1000);
kui (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
kui (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Samm: selgitage koodi
Loodan, et teate, et teate, kuidas selles koodis lubada ADC ja kuidas liidestada LCD -d Avr -mikrokontrolleriga, kui temperatuur on üle 30 kraadi, siis ventilaator on sisse lülitatud ja LED -ekraanil on näha ventilaator sisse lülitatud ja kui temperatuur on alla 30, siis ventilaator on välja lülitatud ja näete FAN OFF
Samm: saate kogu projekti alla laadida
Kliki siia
Soovitan:
Jutukas automaatika -- Arduino heli -- Hääljuhtimisega automaatika -- HC -05 Bluetooth -moodul: 9 sammu (piltidega)
Jutukas automaatika || Arduino heli || Hääljuhtimisega automaatika || HC -05 Bluetooth -moodul: …………………………. Palun TELLI minu YouTube'i kanalile, et saada rohkem videoid …. …. selles videos oleme loonud jutuka automaatika. Kui saadate mobiiltelefoni kaudu häälkäskluse, lülitab see sisse koduseadmed ja saadab tagasisidet
I2C anduri liidesega alustamine ?? - Liidestage oma MMA8451 liidesega ESP32 -de abil: 8 sammu
I2C anduri liidesega alustamine ?? - MMA8451 liides ESP32 -de abil: sellest õpetusest saate teada, kuidas käivitada, ühendada ja hankida I2C -seade (kiirendusmõõtur), mis töötab kontrolleriga (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
ESP8266 NodeMCU + LM35 + Blynk (IOT ilmajaam/ digitaalne temperatuuriandur): 4 sammu
ESP8266 NodeMCU + LM35 + Blynk (IOT ilmajaam/ digitaalne temperatuuriandur): Tere poisid! Selles juhendis õpime, kuidas ühendada LM35 andur NodeMCU -ga ja kuvada selle temperatuuri teave Interneti kaudu nutitelefonis koos Blynk -rakendusega. (Ka selles projektis kasutame BlC -vidinat SuperChart
Arduino LCD 16x2 õpetus - Liidesega 1602 LCD -ekraan Arduino Unoga: 5 sammu
Arduino LCD 16x2 õpetus | 1602 LCD -ekraani liidestamine Arduino Unoga: Tere kutid, kuna paljud projektid vajavad andmete kuvamiseks ekraani, olgu see siis mõni diy -meeter või YouTube'i tellimuste loend, kalkulaator või ekraaniga klahvilukk ja kui kõik sellised projektid on tehtud arduino nad määratlevad
Arduino temperatuuriandur (LM35): 4 sammu
Arduino temperatuuriandur (LM35): Selles projektis näitan teile, kuidas temperatuuri mõõta LM35 ja Arduino liidese abil. Alustame