INHOUDSOPGAWE:
- Stap 1:
- Stap 2: Kringdiagram
- Stap 3: Programmeer
- Stap 4: Kode Verduidelik
- Stap 5: u kan die volledige projek aflaai
- Stap 6: Video
Video: Temperatuursensor (LM35) Interfacing Met ATmega32 en LCD Display - Outomatiese waaierbeheer: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Temperatuursensor (LM35) Koppelvlak met ATmega32 en LCD -skerm
Stap 1:
In hierdie projek leer u hoe u 'n temperatuursensor (LM35) kan koppel met AVR ATmega32 -mikrobeheerder en LCD -skerm.
Voor hierdie projek moet u meer inligting oor die volgende artikels benodig
hoe om 'n lcd -biblioteek by te voeg in avr studio | avr -mikrobeheerder -tutoriaal
inleiding tot ADC in AVR Microcontroller | vir beginners
Temperatuur sensor (LM35) is 'n gewilde en goedkoop temperatuur sensor. Die Vcc kan van 4V tot 20V wees, soos gespesifiseer deur die datablad. Om die sensor te gebruik, koppel die Vcc eenvoudig aan 5V, GND met grond en die uitgang aan een van die ADC (analoog na digitaal omskakelingskanaal).
Die uitset is 10MilliVolts per graad Celsius. As die uitset 310 mV is, dan is die temperatuur 31 grade C. Om hierdie projek te maak, moet u vertroud wees met die ADC van AVR's en ook LCD gebruik. in terme van spanning is
5/1024 = 5.1mV ongeveer
Dus as die resultaat van die ADC ooreenstem met 5.1mV, dit wil sê as die ADC -lesing dit is
10 x 5,1 mV = 51 mV
U kan die waarde van enige ADC -kanaal met die funksie adc_result (ch) lees;
Waar ch die kanaalnommer (0-5) is in die geval van ATmega8. As u die LM35's aan die ADC -kanaal 0 gekoppel het, skakel dan
adc_result0 = adc_read (0);
dit sal die huidige ADC -lesing in die veranderlike adc_value stoor. Die datatipe van adc_value moet int wees, aangesien die ADC-waarde kan wissel van 0-1023.
Soos ons gesien het, is die ADC -resultate in faktor van 5,1mV en vir 1 graad C is die uitset van LM35 10mV, dus 2 eenhede ADC = 1 graad.
Om die temperatuur te kry, deel ons die adc_waarde met twee
temperatuur = adc_result0 /2;
Uiteindelik sal die mikrobeheerder die temperatuur in grade Celsius in die 16X2 alfanumeriese LCD vertoon.
Stap 2: Kringdiagram
Stap 3: Programmeer
#ifndef F_CPU
#defineer F_CPU 1600000UL
#endif
#insluit
#insluit
#sluit "LCD/lcd.h" in
nietig adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Aktiveer en verkalker van 128
ADCSRA = (1 <
}
// lees adc waarde
uint16_t adc_read (uint8_t ch)
{
// kies die ooreenstemmende kanaal 0 ~ 7
ch & = 0b00000111; // EN werking met 7
ADMUX = (ADMUX & 0xF8) | ch;
// begin met 'n enkele omskakeling
// skryf '1' aan ADSC
ADCSRA | = (1 <
// wag totdat die omskakeling voltooi is
// ADSC word weer '0'
terwyl (ADCSRA & (1 <
terugkeer (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int ver;
char buffer [10];
// initialiseer adc en lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // CURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_vertraging_ms (50);
terwyl (1)
{
adc_result0 = adc_read (0); // lees adc waarde by PA0
temp = adc_result0/2.01; // die temperatuur vind
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffer, 10); // vertoon ADC -waarde
// lcd_puts (buffer);
lcd_gotoxy (0, 0);
itoa (temp, buffer, 10);
lcd_puts ("Temp ="); // vertoon temperatuur
lcd_puts (buffer);
lcd_gotoxy (7, 0);
lcd_puts ("C");
ver = (1.8*temp) +32;
lcd_gotoxy (9, 0);
itoa (ver, buffer, 10);
lcd_puts (buffer);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_vertraging_ms (1000);
as (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN AAN");
PORTB = (1 <
}
as (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Stap 4: Kode Verduidelik
Ek hoop dat u weet dat u sal weet hoe u ADC kan aktiveer en hoe u LCD kan koppel met Avr Microcontroller in hierdie kode wanneer die temperatuur meer as 30 grade is, dan waaier aan en u kan sien op LED Display FAN AAN en wanneer temperatuur minder as 30 dan waaier is is af en u kan FAN OFF sien
Stap 5: u kan die volledige projek aflaai
Klik hier
Aanbeveel:
Koppelvlak LM35 -temperatuursensor met Arduino: 4 stappe
Koppelvlak LM35 Temperatuursensor Met Arduino: Termometers is 'n nuttige apparaat wat lank gebruik word om temperatuur te meet. In hierdie projek het ons 'n Arduino -gebaseerde digitale termometer gemaak om die huidige omgewingstemperatuur en temperatuurveranderings op 'n LCD te vertoon. Dit kan verval
Interfacing DS18B20 Temperatuursensor Met Arduino en ESP8266: 8 stappe
Interfacing DS18B20 Temperatuursensor Met Arduino en ESP8266: Hey, wat gaan aan, ouens! Akarsh hier van CETech.Vandag gaan ons 'n nuwe sensor byvoeg by ons arsenaal, bekend as DS18B20 Temperatuursensor. Dit is 'n temperatuursensor soortgelyk aan DHT11, maar het 'n ander stel toepassings. Ons vergelyk dit met
Leestemperatuur met behulp van LM35 -temperatuursensor met Arduino Uno: 4 stappe
Lees temperatuur van LM35 met temperatuursensor met Arduino Uno: Hallo ouens in hierdie instruksies, ons leer hoe om LM35 met Arduino te gebruik. Lm35 is 'n temperatuursensor wat temperatuurwaardes van -55 ° C tot 150 ° C kan aflees. Dit is 'n 3-terminale toestel wat analoog spanning bied wat eweredig is aan die temperatuur. Hoë
SENSOR SUHU DENGAN LCD DAN LED (maak temperatuursensor met LCD en LED): 6 stappe (met foto's)
SENSOR SUHU DENGAN LCD DAN LED (vervaardiging van temperatuursensor met LCD en LED): hier kan u 'n universele ontvanger van die Universiteit en die Verenigde State van Amerika gebruik. Ons kan ook hierdie e -posadres gebruik, en die sensor in
Gebruik diodes vir waaierbeheer: 7 stappe
Die gebruik van diodes vir waaierbeheer: dit in alternatief vir die gebruik van reostate en skyfies om die waaierspoed te beheer. Die idee hiervoor kom van http://www.cpemma.co.uk/sdiodes.html NOU http: //www.pcsilencioso.com/cpemma/sdiodes.html en ek wou dit 'n bietjie meer verduidelik en bou