Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom
Korak 1:
U ovom projektu naučit ćete kako spojiti temperaturni osjetnik (LM35) s AVR ATmega32 mikrokontrolerom i LCD zaslonom.
Prije ovog projekta morate znati Saznajte više o sljedećim člancima
kako dodati lcd biblioteku u avr studio | avr mikrokontroler vodič
uvod u ADC u mikrokontroleru AVR | za početnike
Senzor temperature (LM35) popularan je i jeftin senzor temperature. Vcc može biti od 4V do 20V prema specifikaciji. Za korištenje senzora jednostavno spojite Vcc na 5V, GND na uzemljenje i izlaz na jedan od ADC -a (analogno -digitalni kanal pretvarača).
Izlaz je 10 milivolta po stupnju Celzijusa. Dakle, ako je izlaz 310 mV, tada je temperatura 31 stupanj C. Da biste napravili ovaj projekt, trebali biste biti upoznati s ADC -om AVR -a i također koristiti LCD. Dakle, razlučivost AVR -ova ADC -a je 10 bita, a za referentni napon koristite 5 V pa rezolucija u pogledu napona je
5/1024 = približno 5,1 mV
Dakle, ako rezultat ADC -a odgovara 5,1 mV, tj. Ako je očitanje ADC -a
10 x 5,1 mV = 51 mV
Vrijednost bilo kojeg ADC kanala možete pročitati pomoću funkcije adc_result (ch);
Gdje je ch broj kanala (0-5) u slučaju ATmega8. Ako ste priključili izlaz LM35 na ADC kanal 0, nazovite
adc_result0 = adc_read (0);
ovo će pohraniti trenutno očitanje ADC -a u varijablu adc_value. Tip podataka adc_value trebao bi biti int jer vrijednost ADC-a može biti u rasponu od 0-1023.
Kao što smo vidjeli, rezultati ADC -a su faktor 5.1mV i za 1 stupanj C izlaz LM35 je 10mV, tako da su 2 jedinice ADC -a = 1 stupanj.
Dakle, za dobivanje temperature dijelimo adc_value na dva
temperatura = adc_result0 /2;
Konačno, mikrokontroler će prikazati temperaturu u stupnjevima Celzijevih na 16X2 alfanumeričkom LCD -u.
Korak 2: Dijagram kruga
Korak 3: Program
#ifndef F_CPU
#define F_CPU 1600000UL
#završi ako
#uključi
#uključi
#include "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// Omogućivanje ADC -a i predskaler 128
ADCSRA = (1 <
}
// očitavanje adc vrijednosti
uint16_t adc_read (uint8_t ch)
{
// odabir odgovarajućeg kanala 0 ~ 7
ch & = 0b00000111; // AND operacija sa 7
ADMUX = (ADMUX & 0xF8) | ch;
// pokretanje pojedinačne pretvorbe
// upisuje '1' u ADSC
ADCSRA | = (1 <
// čekati da se konverzija dovrši
// ADSC ponovno postaje "0"
dok (ADCSRA & (1 <
povrat (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int daleko;
me uspremnik [10];
// inicijalizacija adc i lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // POKAZATELJ
lcd_clrscr ();
lcd_gotoksi (0, 0);
_kašnjenje_ms (50);
dok (1)
{
adc_result0 = adc_read (0); // očitavanje adc vrijednosti na PA0
temp = adc_result0/2.01; // pronalaženje temperature
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, međuspremnik, 10); // prikazuje vrijednost ADC -a
// lcd_puts (međuspremnik);
lcd_gotoksi (0, 0);
itoa (temp, tampon, 10);
lcd_puts ("Temp ="); // temperatura prikaza
lcd_puts (međuspremnik);
lcd_gotoksi (7, 0);
lcd_puts ("C");
daleko = (1,8*temp) +32;
lcd_gotoksi (9, 0);
itoa (daleko, tampon, 10);
lcd_puts (međuspremnik);
lcd_gotoksi (12, 0);
lcd_puts ("F");
_kašnjenje_ms (1000);
ako (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoksi (0,1);
lcd_puts ("VENTILATOR UKLJUČEN");
PORTB = (1 <
}
ako (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoksi (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Korak 4: Objasnite kôd
Nadam se da znate da ćete znati Kako omogućiti ADC i Kako spojiti LCD s Avr mikrokontrolerom u ovom kodu kada je temperatura veća od 30 stupnjeva, onda je ventilator uključen i možete vidjeti na LED zaslonu VENTILATOR UKLJUČEN, a kada je temperatura manja od 30, tada ventilator je isključen i možete vidjeti opciju VENTILATOR ISKLJUČEN
Korak 5: Možete preuzeti cijeli projekt
Kliknite ovdje
Preporučeni:
Senzor temperature i roštilja na ESP8266 s zaslonom: 5 koraka (sa slikama)
Senzor temperature i roštilja na ESP8266 s zaslonom: U ovom uputstvu pokazat ću vam kako napraviti vlastitu verziju alata za roštilj koji mjeri trenutnu temperaturu u vašem roštilju i uključuje ventilator kako bi ga po potrebi upalio. Osim toga, postoji i senzor za temperaturu jezgre mesa koji je priključen
Pametno upravljanje ventilatorom Raspberry Pi pomoću programa Python & Thingspeak: 7 koraka
Pametno upravljanje Raspberry Pi ventilatorom pomoću Pythona i Thingspeak -a: Kratak pregled Prema zadanim postavkama, ventilator je izravno spojen na GPIO - to podrazumijeva njegov stalni rad. Unatoč relativno tihom radu ventilatora, njegov kontinuirani rad nije učinkovita uporaba aktivnog rashladnog sustava. U isto vrijeme
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: 4 koraka
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: Bok dečki, u ovim uputama naučit ćemo kako koristiti LM35 s Arduinom. Lm35 je temperaturni senzor koji može očitati vrijednosti temperature od -55 ° C do 150 ° C. To je 3-terminalni uređaj koji daje analogni napon proporcionalan temperaturi. Najviše
Senzor temperature i vlage s Arduino i LCD zaslonom: 4 koraka
Senzor temperature i vlažnosti s Arduinom i LCD zaslonom: Pozdrav momci, dobrodošli natrag u Artuino. Kao što ste vidjeli, započeo sam InstructableToday ćemo napraviti Temperature & Mjerač vlage s modulom DHT11. PočnimoP.S. Pretplatite se i lajkujte video
Korištenje dioda za upravljanje ventilatorom .: 7 koraka
Korištenje dioda za kontrolu ventilatora. Ovo je alternativa korištenju reostata i čipova za kontrolu brzine ventilatora. Ideja za ovo došla je s http://www.cpemma.co.uk/sdiodes.html SADA http: //www.pcsilencioso.com/cpemma/sdiodes.html i htio sam to još malo objasniti i izgraditi