Tartalomjegyzék:
- 1. lépés:
- 2. lépés: Áramköri diagram
- 3. lépés: Programozás
- 4. lépés: Magyarázza el a kódot
- 5. lépés: Letöltheti a teljes projektet
- 6. lépés: Videó
Videó: Hőmérséklet -érzékelő (LM35) interfész ATmega32 és LCD kijelzővel - Automata ventilátor vezérlés: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Hőmérséklet -érzékelő (LM35) Interfész ATmega32 és LCD kijelzővel
1. lépés:
Ebben a projektben megtanulhatja, hogyan kapcsolhatja össze a hőmérséklet -érzékelőt (LM35) az AVR ATmega32 mikrokontrollerrel és LCD kijelzővel.
A projekt előtt meg kell tanulnia a következő cikkeket
hogyan adjunk hozzá lcd könyvtárat az avr stúdióban | avr mikrokontroller bemutató
bevezetés az ADC -hez az AVR mikrokontrollerben | kezdőknek
A hőmérséklet -érzékelő (LM35) népszerű és olcsó hőmérséklet -érzékelő. A Vcc lehet 4V -tól 20V -ig az adatlap szerint. Az érzékelő használatához egyszerűen csatlakoztassa a Vcc -t 5V -ra, a GND -t a földre és a kimenetet az egyik ADC -re (analóg -digitális átalakító csatorna).
A teljesítmény 10 MilliVolt / Celsius fok. Tehát ha a kimenet 310 mV, akkor a hőmérséklet 31 fok. Ennek a projektnek a megvalósításához ismernie kell az AVR -k ADC -jét és az LCD -t is. Tehát az AVR -ek ADC felbontása 10 bites, és a referenciafeszültséghez 5 V -ot használ, így a felbontás feszültség szempontjából az
5/1024 = körülbelül 5,1 mV
Tehát ha az ADC eredménye megfelel 5,1 mV -nak, azaz ha az ADC leolvasása
10 x 5,1 mV = 51 mV
Bármely ADC csatorna értékét leolvashatja az adc_result (ch) függvénnyel;
Ahol ch a csatorna száma (0-5) ATmega8 esetén. Ha az LM35 kimenetét az ADC 0 csatornához csatlakoztatta, hívjon
adc_result0 = adc_read (0);
ez az ADC aktuális értékét az adc_value változóban tárolja. Az adc_value adattípusnak intnek kell lennie, mivel az ADC értéke 0-1023 között lehet.
Amint láttuk, az ADC eredmények 5,1 mV faktorban vannak, és 1 C fok esetén az LM35 kimenete 10 mV, tehát 2 egység ADC = 1 fok.
Tehát, hogy megkapjuk a hőmérsékletet, elosztjuk az adc_value értéket kettővel
hőmérséklet = adc_result0 /2;
Végül a mikrokontroller a hőmérsékletet Celsius fokban jeleníti meg a 16X2 alfanumerikus LCD -n.
2. lépés: Áramköri diagram
3. lépés: Programozás
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#befoglalni
#befoglalni
#include "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC 128 engedélyezése és előbeállítása
ADCSRA = (1 <
}
// adc érték olvasása
uint16_t adc_read (uint8_t ch)
{
// válassza ki a megfelelő csatornát 0 ~ 7
ch & = 0b00000111; // ÉS művelet 7 -el
ADMUX = (ADMUX & 0xF8) | ch;
// indítsa el az egyetlen konverziót
// írjon 1 -et az ADSC -hez
ADCSRA | = (1 <
// várja meg a konverzió befejezését
// Az ADSC ismét "0" lesz
míg (ADCSRA & (1 <
visszatérés (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int messze;
szénpuffer [10];
// inicializálja az adc -t és az lcd -t
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); //KURZOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_késés_ms (50);
míg (1)
{
adc_result0 = adc_read (0); // olvassa el az adc értéket a PA0 -n
temp = adc_result0/2.01; // a hőmérséklet megtalálása
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffer, 10); // ADC érték megjelenítése
// lcd_puts (puffer);
lcd_gotoxy (0, 0);
itoa (temp, puffer, 10);
lcd_puts ("Temp ="); // hőmérséklet kijelzése
lcd_puts (puffer);
lcd_gotoxy (7, 0);
lcd_puts ("C");
távol = (1,8*hőmérséklet) +32;
lcd_gotoxy (9, 0);
itoa (messze, puffer, 10);
lcd_puts (puffer);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
ha (hőmérséklet> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("VENTILÁTOR BE");
PORTB = (1 <
}
ha (hőmérséklet <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
4. lépés: Magyarázza el a kódot
Remélem, tudja, hogy tudja, hogyan lehet engedélyezni az ADC -t és hogyan kell az LCD -t az Avr mikrokontrollerrel csatlakoztatni ebben a kódban, ha a hőmérséklet meghaladja a 30 fokot, majd a ventilátor be van kapcsolva, és a LED kijelzőn látható a VENTILÁTOR, és amikor a hőmérséklet alacsonyabb, mint 30, akkor a ventilátor ki van kapcsolva, és láthatja, hogy VENTILÁTOR KI
5. lépés: Letöltheti a teljes projektet
Kattints ide
Ajánlott:
ESP8266 RGB LED STRIP WIFI vezérlés - NODEMCU IR távirányítóként a Wifi -n keresztül vezérelt LED szalaghoz - RGB LED STRIP okostelefon -vezérlés: 4 lépés
ESP8266 RGB LED STRIP WIFI vezérlés | NODEMCU IR távirányítóként a Wifi -n keresztül vezérelt LED szalaghoz | RGB LED STRIP okostelefon -vezérlés: Sziasztok, ebben az oktatóanyagban megtanuljuk, hogyan kell használni a nodemcu -t vagy az esp8266 -ot infravörös távirányítóként az RGB LED -szalag vezérléséhez, és a Nodemcu -t okostelefonon keresztül wifi -n keresztül kell irányítani. Tehát alapvetően okostelefonjával vezérelheti az RGB LED STRIP -et
Hőmérséklet- és fényszintmérő LCD kijelzővel NOKIA 5110: 4 lépés
Hőmérséklet- és fényszint -monitor LCD kijelzőn NOKIA 5110: Üdvözlök mindenkit! Ebben a részben egyszerű elektronikus eszközt készítünk a hőmérséklet és a fényszint figyelésére. Ezeknek a paramétereknek a mértékegységei a NOKIA 5110 LCD kijelzőn jelennek meg. A készülék az AVR ATMEGA328P mikrokontrollerre épül. A monitoring
Beépített univerzális interfész kártya - USB/Bluetooth/WIFI vezérlés: 6 lépés
Beépített univerzális interfész kártya - USB/Bluetooth/WIFI vezérlés: Gyakran tapasztalom, hogy könyvtárakat hozok létre az új beágyazott modulokhoz a semmiből az eszköz adatlapja alapján. A könyvtár létrehozásakor azt tapasztalom, hogy elakadok egy kód-, fordítási, programozási és tesztciklusban, amikor biztosítom a dolgok működését és hibamentes vagyok. Gyakran a com
Interfész LCD 20X4 kijelzővel Nodemcu -hoz: 3 lépés
LCD 20X4 kijelző illesztése Nodemcu -hoz: Úgy döntöttem, hogy megosztom ezt, mivel korábban nehézségekkel szembesültem az előző feladattal, megpróbáltam grafikus (128x64) LCD -t csatlakoztatni Nodemcu -val, de hiába. Rájöttem, hogy ennek valami köze lehet a könyvtárhoz (Library for graph
Interfész 8051 mikrokontroller 7 szegmenses kijelzővel: 5 lépés (képekkel)
A 8051 mikrokontroller illesztése 7 szegmenses kijelzővel: Ebben a projektben arról fogunk beszélni, hogyan kapcsolhatjuk össze a 7 szegmenses kijelzőt 8051 mikrokontrollerrel