Turinys:
- 1 žingsnis:
- 2 žingsnis: grandinės schema
- 3 žingsnis: programa
- 4 žingsnis: paaiškinkite kodą
- 5 veiksmas: galite atsisiųsti visą projektą
- 6 žingsnis: vaizdo įrašas
Video: Temperatūros jutiklis (LM35) su ATmega32 ir LCD ekranu - Automatikos ventiliatoriaus valdymas: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Temperatūros jutiklis (LM35) su ATmega32 ir LCD ekranu
1 žingsnis:
Šiame projekte jūs sužinosite, kaip sujungti temperatūros jutiklį (LM35) su AVR ATmega32 mikrovaldikliu ir LCD ekranu.
Prieš pradėdami šį projektą, turite sužinoti apie šiuos straipsnius
kaip pridėti LCD biblioteką avr studijoje | avr mikrovaldiklio pamoka
įvadas į AVC mikrovaldiklio ADC | pradedantiesiems
Temperatūros jutiklis (LM35) yra populiarus ir nebrangus temperatūros jutiklis. Vcc gali būti nuo 4V iki 20V, kaip nurodyta duomenų lape. Norėdami naudoti jutiklį, tiesiog prijunkite Vcc prie 5 V, GND prie įžeminimo ir išvesties prie vieno iš ADC (analoginio -skaitmeninio keitiklio kanalo).
Išvestis yra 10 milivoltų vienam laipsniui Celsijaus. Taigi, jei išvestis yra 310 mV, temperatūra yra 31 laipsnis C. Norėdami atlikti šį projektą, turėtumėte būti susipažinę su AVR ADC, taip pat naudodami skystųjų kristalų ekraną. įtampos atžvilgiu yra
5/1024 = maždaug 5,1 mV
Taigi, jei ADC rezultatas atitinka 5,1 mV, ty jei ADC rodmuo yra
10 x 5,1 mV = 51 mV
Galite perskaityti bet kurio ADC kanalo vertę naudodami funkciją adc_result (ch);
Kur ch yra kanalo numeris (0–5) ATmega8 atveju. Jei prijungėte LM35 išvestį prie ADC 0 kanalo, paskambinkite
adc_result0 = adc_read (0);
tai išsaugos dabartinį ADC rodmenį kintamajame adc_value. „Adc_value“duomenų tipas turėtų būti int, nes ADC vertė gali svyruoti nuo 0 iki 1023.
Kaip matėme, ADC rezultatai yra 5,1 mV koeficiento, o 1 laipsnio C atveju LM35 išėjimas yra 10 mV, taigi 2 vienetai ADC = 1 laipsnis.
Taigi, norėdami gauti temperatūrą, mes padalijame adc_value iš dviejų
temperatūra = adc_result0 /2;
Galiausiai mikrovaldiklis 16X2 raidžių ir skaitmenų skystųjų kristalų ekrane parodys temperatūrą laipsniais.
2 žingsnis: grandinės schema
3 žingsnis: programa
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#įtraukti
#įtraukti
#include "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC įjungti ir iš anksto pakeisti 128
ADCSRA = (1 <
}
// skaityti adc reikšmę
uint16_t adc_read (uint8_t ch)
{
// pasirinkite atitinkamą kanalą 0 ~ 7
ch & = 0b00000111; // IR operacija su 7
ADMUX = (ADMUX & 0xF8) | ch;
// pradėti vieną konversiją
// ADSC parašykite „1“
ADCSRA | = (1 <
// laukti, kol konversija bus baigta
// ADSC vėl tampa „0“
tuo tarpu (ADCSRA & (1 <
grąžinimas (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
toli;
anglies buferis [10];
// inicijuoti adc ir lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // ŽEMYNĖ
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
kol (1)
{
adc_result0 = adc_read (0); // skaityti adc reikšmę PA0
temp = adc_result0/2.01; // rasti temperatūrą
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buferis, 10); // rodyti ADC reikšmę
// lcd_puts (buferis);
lcd_gotoxy (0, 0);
itoa (temp, buferis, 10);
lcd_puts ("Temp ="); // rodyti temperatūrą
lcd_puts (buferis);
lcd_gotoxy (7, 0);
lcd_puts ("C");
toli = (1,8*temperatūra) +32;
lcd_gotoxy (9, 0);
itoa (toli, buferis, 10);
lcd_puts (buferis);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
jei (temperatūra> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
jei (temperatūra <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
4 žingsnis: paaiškinkite kodą
Tikiuosi, kad žinote, kad žinosite, kaip įjungti ADC ir kaip sujungti LCD su „Avr“mikrovaldikliu šiame kode, kai temperatūra yra aukštesnė nei 30 laipsnių, tada įjungtas ventiliatorius, o LED ekrane galite matyti VENTILIATORIUS ir kai temperatūra žemesnė nei 30, tada ventiliatorius yra išjungtas ir galite matyti FAN OFF
5 veiksmas: galite atsisiųsti visą projektą
Paspauskite čia
Rekomenduojamas:
BBQ temperatūros ir mėsos jutiklis ESP8266 su ekranu: 5 žingsniai (su nuotraukomis)
Kepsninės temperatūros ir mėsos jutiklis prie ESP8266 su ekranu: šioje instrukcijoje aš jums parodysiu, kaip pasidaryti savo kepsninės įrankio versiją, kuri matuoja esamą kepsninės temperatūrą ir įjungia ventiliatorių, kad prireikus jį užsidegtų. Be to, yra mėsos šerdies temperatūros jutiklis
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: 6 žingsniai
„Arduino“saulės energijos temperatūros ir drėgmės jutiklis kaip 433 MHz „Oregon“jutiklis: tai saulės energija varomo temperatūros ir drėgmės jutiklio konstrukcija. Jutiklis imituoja 433 MHz „Oregon“jutiklį ir matomas „Telldus Net“šliuzuose. Ko jums reikia: 1x „10-LED“Saulės energijos judesio jutiklis " iš Ebay. Įsitikinkite, kad parašyta 3,7 V tešla
Temperatūros skaitymas naudojant LM35 temperatūros jutiklį su „Arduino Uno“: 4 žingsniai
Temperatūros skaitymas naudojant LM35 temperatūros jutiklį su „Arduino Uno“: Sveiki, vaikinai, šioje instrukcijoje mes išmoksime naudoti LM35 su „Arduino“. Lm35 yra temperatūros jutiklis, galintis nuskaityti temperatūros reikšmes nuo -55 ° C iki 150 ° C. Tai 3 gnybtų įrenginys, kuris tiekia analoginę įtampą, proporcingą temperatūrai. Hig
Temperatūros ir drėgmės jutiklis su „Arduino“ir LCD ekranu: 4 žingsniai
Temperatūros ir drėgmės jutiklis su „Arduino“ir LCD ekranu: Sveiki, vaikinai, sveiki sugrįžę į „Artuino“. Kaip jau matėte, aš pradėjau „InstructableToday“ketiname sukurti temperatūros & Drėgmės matuoklis su DHT11 moduliu. Pradėkime. Apsvarstykite galimybę užsiprenumeruoti ir pamėgti vaizdo įrašą
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su LCD ir LED): 6 žingsniai (su nuotraukomis)
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su skystųjų kristalų ekranu ir šviesos diodu): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Išvestis LCD ir LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini and