Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
Temperatursensor (LM35) Grensesnitt med ATmega32 og LCD -skjerm
Trinn 1:
I dette prosjektet lærer du hvordan du kobler til en temperatursensor (LM35) med AVR ATmega32 mikrokontroller og LCD -skjerm.
Før dette prosjektet må du Lær om følgende artikler
hvordan legge til lcd -bibliotek i avr studio | avr mikrokontrolleropplæring
introduksjon til ADC i AVR Microcontroller | for nybegynnere
Temperatursensor (LM35) er en populær og rimelig temperatursensor. Vcc kan være fra 4V til 20V som spesifisert av databladet. For å bruke sensoren kobler du bare Vcc til 5V, GND til Ground og Out til en av ADC (analog til digital omformer kanal).
Utgangen er 10MilliVolts per grader celsius. Så hvis utgangen er 310 mV så er temperaturen 31 grader C. For å lage dette prosjektet bør du være kjent med ADC for AVR og også bruke LCD Så Oppløsningen til AVR ADC er 10bit og for referansespenning bruker du 5V så oppløsningen når det gjelder spenning er
5/1024 = 5,1 mV omtrent
Så hvis ADCs resultat tilsvarer 5,1 mV, dvs. hvis ADC -lesing er
10 x 5,1 mV = 51 mV
Du kan lese verdien av en hvilken som helst ADC -kanal ved å bruke funksjonen adc_result (ch);
Hvor ch er kanalnummer (0-5) i tilfelle av ATmega8. Hvis du har koblet LM35 -utgangen til ADC -kanal 0, ring
adc_result0 = adc_read (0);
dette vil lagre den nåværende ADC -avlesningen i variabelen adc_value. Datatypen for adc_value bør være int ettersom ADC-verdien kan variere fra 0-1023.
Som vi så er ADC -resultatene i faktor 5,1mV, og for 1 grad C er utgangen til LM35 10mV, så 2 enheter ADC = 1 grad.
Så for å få temperaturen deler vi adc_value med to
temperatur = adc_result0 /2;
Til slutt vil mikrokontrolleren vise temperaturen i grader Celsius i det 16X2 alfanumeriske LCD -displayet.
Trinn 2: Kretsdiagram
Trinn 3: Program
#ifndef F_CPU
#define F_CPU 1600000UL
#slutt om
#inkludere
#inkludere
#include "LCD/lcd.h"
ugid adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Aktiver og forhåndskalkulator på 128
ADCSRA = (1 <
}
// les adc -verdi
uint16_t adc_read (uint8_t ch)
{
// velg den tilsvarende kanalen 0 ~ 7
ch & = 0b00000111; // OG drift med 7
ADMUX = (ADMUX & 0xF8) | ch;
// start enkelt konvertering
// skriv '1' til ADSC
ADCSRA | = (1 <
// vent på at konverteringen er fullført
// ADSC blir '0' igjen
mens (ADCSRA & (1 <
retur (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int langt;
røyebuffer [10];
// initialiser adc og lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // CURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_forsinkelse_ms (50);
mens (1)
{
adc_result0 = adc_read (0); // les adc -verdi ved PA0
temp = adc_result0/2.01; // finne temperaturen
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffer, 10); // vis ADC -verdi
// lcd_puts (buffer);
lcd_gotoxy (0, 0);
itoa (temp, buffer, 10);
lcd_puts ("Temp ="); // visningstemperatur
lcd_puts (buffer);
lcd_gotoxy (7, 0);
lcd_puts ("C");
langt = (1,8*temp) +32;
lcd_gotoxy (9, 0);
itoa (langt, buffer, 10);
lcd_puts (buffer);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_forsinkelse_ms (1000);
hvis (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("VIFT PÅ");
PORTB = (1 <
}
hvis (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("VIFTE AV");
PORTB = (0 <
}
}
}
Trinn 4: Kode Forklar
Jeg håper du vet at du vil vite hvordan du aktiverer ADC og hvordan du grensesnitter LCD med Avr Microcontroller i denne koden når temperaturen er mer enn 30 grader, så er viften på og du kan se på LED Display FAN ON og når temperaturen er mindre enn 30 deretter viften er slått av, og du kan se VIFTE AV
Trinn 5: Du kan laste ned hele prosjektet
Klikk her
Anbefalt:
Grensesnitt LM35 temperatursensor med Arduino: 4 trinn
Grensesnitt LM35 temperatursensor med Arduino: Termometre er nyttige apparater som brukes i lang tid for temperaturmåling. I dette prosjektet har vi laget et Arduino -basert digitalt termometer for å vise gjeldende omgivelsestemperatur og temperaturendringer på en LCD. Det kan være forringet
Grensesnitt DS18B20 temperatursensor med Arduino og ESP8266: 8 trinn
Grensesnitt DS18B20 temperatursensor med Arduino og ESP8266: Hei, hva skjer, gutter! Akarsh her fra CETech. I dag skal vi legge til en ny sensor i vårt arsenal kjent som DS18B20 temperatursensor. Det er en temperatursensor som ligner på DHT11, men har et annet sett med applikasjoner. Vi vil sammenligne det med
Arduino -grensesnitt med ultralydsensor og kontaktløs temperatursensor: 8 trinn
Arduino -grensesnitt med ultralydsensor og kontaktløs temperatursensor: I dag foretrekker produsenter og utviklere Arduino for rask utvikling av prototyping av prosjekter. Arduino er en elektronisk plattform med åpen kildekode basert på brukervennlig maskinvare og programvare. Arduino har et veldig godt brukerfellesskap. I dette prosjektet
Avlesningstemperatur ved bruk av LM35 temperatursensor med Arduino Uno: 4 trinn
Lesing av temperatur ved bruk av LM35 temperatursensor med Arduino Uno: Hei folkens i denne instruksen, vi lærer hvordan du bruker LM35 med Arduino. Lm35 er en temperatursensor som kan lese temperaturverdier fra -55 ° C til 150 ° C. Det er en 3-terminal enhet som gir analog spenning proporsjonal med temperaturen. Høy
SENSOR SUHU DENGAN LCD DAN LED (lager temperatursensor med LCD og LED): 6 trinn (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