Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
Temperatursensor (LM35) Gränssnitt med ATmega32 och LCD -skärm
Steg 1:
I det här projektet kommer du att lära dig hur du kopplar en temperatursensor (LM35) till AVR ATmega32 mikrokontroller och LCD -display.
Innan detta projekt behöver du Lär dig mer om följande artiklar
hur man lägger till lcd -bibliotek i avr studio | avr mikrokontroller handledning
introduktion till ADC i AVR Microcontroller | för nybörjare
Temperatursensor (LM35) är en populär och billig temperatursensor. Vcc kan vara från 4V till 20V enligt specifikationen i databladet. För att använda sensorn ansluter du bara Vcc till 5V, GND till Ground och Out till en av ADC (analog till digital omvandlarkanal).
Utgången är 10MilliVolts per grad Celsius. Så om utgången är 310 mV så är temperaturen 31 grader C. För att göra detta projekt bör du vara bekant med ADC för AVR och även använda LCD Så Upplösningen för AVR ADC är 10bit och för referensspänning använder du 5V så upplösningen när det gäller spänning är
5/1024 = 5,1 mV ungefär
Så om ADC: s resultat motsvarar 5,1 mV, dvs. om ADC -avläsning är
10 x 5,1 mV = 51 mV
Du kan läsa värdet på valfri ADC -kanal med funktionen adc_result (ch);
Där ch är kanalnummer (0-5) vid ATmega8. Om du har anslutit LM35 -utgången till ADC -kanal 0, ring sedan
adc_result0 = adc_read (0);
detta kommer att lagra den aktuella ADC -avläsningen i variabeln adc_value. Datatypen adc_value bör vara int eftersom ADC-värdet kan variera från 0-1023.
Som vi såg är ADC -resultaten i faktor 5,1 mV och för 1 grad C är utsignalen för LM35 10 mV, så 2 enheter ADC = 1 grad.
Så för att få temperaturen delar vi adc_value med två
temperatur = adc_result0 /2;
Slutligen visar mikrokontrollern temperaturen i grader Celsius i 16X2 alfanumeriska LCD.
Steg 2: Kretsdiagram
Steg 3: Programmera
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#omfatta
#omfatta
#inkludera "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Aktivera och förkalkning av 128
ADCSRA = (1 <
}
// läs adc -värde
uint16_t adc_read (uint8_t ch)
{
// välj motsvarande kanal 0 ~ 7
ch & = 0b00000111; // OCH drift med 7
ADMUX = (ADMUX & 0xF8) | ch;
// starta enkel konvertering
// skriv '1' till ADSC
ADCSRA | = (1 <
// vänta på att konverteringen är klar
// ADSC blir "0" igen
medan (ADCSRA & (1 <
retur (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int långt;
rödingbuffert [10];
// initiera adc och lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // CURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_fördröjning_ms (50);
medan (1)
{
adc_result0 = adc_read (0); // läs adc -värde vid PA0
temp = adc_result0/2.01; // hitta temperaturen
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffert, 10); // visa ADC -värde
// lcd_puts (buffert);
lcd_gotoxy (0, 0);
itoa (temp, buffert, 10);
lcd_puts ("Temp ="); // visningstemperatur
lcd_puts (buffert);
lcd_gotoxy (7, 0);
lcd_puts ("C");
långt = (1,8*temp) +32;
lcd_gotoxy (9, 0);
itoa (långt, buffert, 10);
lcd_puts (buffert);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_fördröjning_ms (1000);
om (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
om (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
Steg 4: Kod Förklara
Jag hoppas att du vet att du kommer att veta hur du aktiverar ADC och hur du kopplar ihop LCD med Avr Microcontroller i den här koden när temperaturen är mer än 30 grader då fläkten är på och du kan se på LED Display FAN ON och när temperaturen är mindre än 30 sedan fläkten är avstängd och du kan se FAN OFF
Steg 5: Du kan ladda ner hela projektet
Klicka här
Rekommenderad:
Gränssnitt LM35 temperatursensor med Arduino: 4 steg
Gränssnitt LM35 temperatursensor med Arduino: Termometrar är användbara apparater som används under lång tid för temperaturmätning. I detta projekt har vi gjort en Arduino -baserad digital termometer för att visa den aktuella omgivningstemperaturen och temperaturförändringar på en LCD. Det kan vara tråkigt
Gränssnitt DS18B20 temperatursensor med Arduino och ESP8266: 8 steg
Gränssnitt DS18B20 temperatursensor med Arduino och ESP8266: Hej, vad händer, killar! Akarsh här från CETech. Idag kommer vi att lägga till en ny sensor till vår arsenal som kallas DS18B20 Temperatursensor. Det är en temperatursensor som liknar DHT11 men har en annan uppsättning applikationer. Vi kommer att jämföra det med
CPU- och GPU -driven fläktkontroll: 6 steg (med bilder)
CPU & GPU Driven Fan Controller: Jag har nyligen uppgraderat mitt grafikkort. Ny GPU -modell har högre TDP än min CPU och en gammal GPU, så jag ville också installera ytterligare fläktar. Tyvärr har min MOBO bara tre fläktkontakter med hastighetskontroll, och de kan bara kopplas till
Arduino -gränssnitt med ultraljudssensor och kontaktlös temperatursensor: 8 steg
Arduino -gränssnitt med ultraljudssensor och kontaktlös temperatursensor: Numera föredrar tillverkare, utvecklare Arduino för snabb utveckling av prototyper av projekt. Arduino är en elektronisk plattform med öppen källkod baserad på lättanvänd maskinvara och programvara. Arduino har ett mycket bra användargemenskap. I detta projekt
SENSOR SUHU DENGAN LCD DAN LED (gör temperatursensor med LCD och LED): 6 steg (med bilder)
SENSOR SUHU DENGAN LCD DAN LED (Making Temperature Sensor With LCD and LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino den Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda