Obsah:
- Krok 1:
- Krok 2: Schéma zapojenia
- Krok 3: Program
- Krok 4: Vysvetlenie kódu
- Krok 5: Môžete si stiahnuť celý projekt
- Krok 6: Video
Video: Rozhranie snímača teploty (LM35) s ATmega32 a LCD displejom - Automatické ovládanie ventilátora: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Rozhranie snímača teploty (LM35) s ATmega32 a LCD displejom
Krok 1:
V tomto projekte sa naučíte prepojiť teplotný snímač (LM35) s mikrokontrolérom AVR ATmega32 a LCD displejom.
Pred týmto projektom musíte vedieť Prečítajte si o nasledujúcich článkoch
ako pridať knižnicu lcd v avr štúdiu | návod na mikrokontrolér avr
úvod do ADC v mikrokontroléri AVR | pre začiatočníkov
Snímač teploty (LM35) je populárny a lacný snímač teploty. Vcc môže byť od 4 V do 20 V, ako je uvedené v technickom liste. Ak chcete použiť senzor, jednoducho pripojte Vcc na 5V, GND k zemi a výstup k jednému z ADC (kanál analógovo -digitálneho prevodníka).
Výstup je 10 miliónov voltov na stupeň Celzia. Ak je teda výstup 310 mV, potom je teplota 31 stupňov C. Aby ste urobili tento projekt, mali by ste byť oboznámení s ADC AVR a tiež pomocou LCD. Rozlíšenie AVR ADC je 10 bitov a pre referenčné napätie používate 5 V, takže rozlíšenie z hľadiska napätia je
5/1024 = približne 5,1 mV
Ak teda výsledok ADC zodpovedá 5,1 mV, tj. Ak je čítanie ADC
10 x 5,1 mV = 51 mV
Môžete prečítať hodnotu akéhokoľvek kanála ADC pomocou funkcie adc_result (ch);
Kde ch je číslo kanála (0-5) v prípade ATmega8. Ak ste zapojili výstupy LM35 do kanála ADC 0, zavolajte
adc_result0 = adc_read (0);
toto uloží aktuálne čítanie ADC do premennej adc_value. Dátový typ adc_value by mal byť int, pretože hodnota ADC sa môže pohybovať od 0 do 1023.
Ako sme videli, výsledky ADC sú faktorom 5,1 mV a pre 1 stupeň C je výkon LM35 10 mV, teda 2 jednotky ADC = 1 stupeň.
Aby sme dostali teplotu, vydelíme hodnotu adc_value dvoma
teplota = adc_result0 /2;
Nakoniec mikrokontrolér zobrazí teplotu v stupňoch Celzia na alfanumerickom LCD displeji 16X2.
Krok 2: Schéma zapojenia
Krok 3: Program
#ifndef F_CPU
#define F_CPU 1600000UL
#koniec Ak
#zahrnúť
#zahrnúť
#include "LCD/lcd.h"
neplatné adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// Povolenie ADC a predzobrazovač 128
ADCSRA = (1 <
}
// prečítajte hodnotu adc
uint16_t adc_read (uint8_t ch)
{
// vyberte príslušný kanál 0 ~ 7
ch & = 0b00000111; // A operácia so 7
ADMUX = (ADMUX & 0xF8) | ch;
// spustenie jednoduchej konverzie
// napíšte '1' do ADSC
ADCSRA | = (1 <
// počkajte na dokončenie konverzie
// ADSC sa opäť zmení na „0“
zatiaľ čo (ADCSRA & (1 <
návrat (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int far;
char buffer [10];
// inicializácia adc a lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // KURZOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
zatiaľ čo (1)
{
adc_result0 = adc_read (0); // prečítajte hodnotu adc na PA0
temp = adc_result0/2,01; // zistenie teploty
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffer, 10); // zobrazenie hodnoty ADC
// lcd_puts (buffer);
lcd_gotoxy (0, 0);
itoa (teplota, nárazník, 10);
lcd_puts ("Teplota ="); // zobrazenie teploty
lcd_puts (vyrovnávacia pamäť);
lcd_gotoxy (7, 0);
lcd_puts ("C");
ďaleko = (1,8*teplota) +32;
lcd_gotoxy (9, 0);
itoa (far, buffer, 10);
lcd_puts (vyrovnávacia pamäť);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
ak (teplota> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON ON");
PORTB = (1 <
}
ak (teplota <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("VENTILÁTOR VYPNUTÝ");
PORTB = (0 <
}
}
}
Krok 4: Vysvetlenie kódu
Dúfam, že budete vedieť, ako budete v tomto kóde povoliť ADC a ako prepojiť LCD s mikrokontrolérom Avr, keď je teplota viac ako 30 stupňov, potom je ventilátor zapnutý a na LED displeji môžete vidieť ZAPNUTÝ VENTILÁTOR a keď je teplota nižšia ako 30, potom bude ventilátor je vypnuté a môžete vidieť VENTILÁTOR VYPNUTÝ
Krok 5: Môžete si stiahnuť celý projekt
Kliknite tu
Odporúča:
Rozhranie kapacitného snímača odtlačkov prstov s Arduino UNO: 7 krokov
Rozhranie kapacitného snímača odtlačkov prstov s Arduino UNO: Hej, čo sa deje, chlapci! Akarsh tu od CETech. Dnes do našich projektov pridáme ochrannú vrstvu. Nebojte sa, nebudeme menovať žiadnych osobných strážcov za to isté. Bude to roztomilý, dobre vyzerajúci snímač odtlačkov prstov od DFRobot. Takže
Rozhranie s LCD displejom M4 Zahrnutie: 5 krokov
Rozhranie s LCD displejom M4 Zahrnutie: Tento tutoriál nám umožní ovládať LCD displej prostredníctvom Wi-Fi z nášho smartfónu. Ak nemáme drivermall, môžeme použiť arduino, ale pod odkazom na vývoj Drivemall. uprednostňovať Drivemall pred klanom
Rozhranie snímača teploty a vlhkosti (dht11) s Arduino: 4 kroky
Rozhranie snímača teploty a vlhkosti (dht11) s Arduino: Teplotný snímač má široké spektrum aplikácií, používa sa na mnohých miestach, niekde funguje ako systém spätnej väzby. Na trhu je k dispozícii niekoľko typov snímačov teploty s rôznymi špecifikáciami, pričom niektoré snímače teploty sa používajú
Meranie teploty pomocou snímača teploty LM35 s Arduino Uno: 4 kroky
Čítanie teploty pomocou snímača teploty LM35 s Arduino Uno: Ahoj chlapci, v tomto návode sa naučíme používať LM35 s Arduino. Lm35 je teplotný senzor, ktorý dokáže čítať hodnoty teploty od -55 ° C do 150 ° C. Jedná sa o 3-terminálne zariadenie, ktoré poskytuje analógové napätie úmerné teplote. Hig
Arduino pre začiatočníkov: Rozhranie Arduino s displejom LCD 16 x 2: 5 krokov
Arduino pre začiatočníkov: Rozhranie Arduino s displejom LCD 16x2 Vysvetlené: Ahoj všetci, v dnešnej dobe sa Arduino stalo veľmi populárnym a každý ho akceptuje aj kvôli jednoduchosti kódovania. Vytvoril som sériu základov Arduino, ktoré pomáhajú začiatočníkom, nováčikom a dokonca aj vývojári, aby modul fungoval. Toto je