Satura rādītājs:
- 1. darbība:
- 2. darbība: shēmas shēma
- 3. solis: programma
- 4. darbība: izskaidrojiet kodu
- 5. darbība. Jūs varat lejupielādēt pilnu projektu
- 6. darbība: video
Video: Temperatūras sensors (LM35) ar ATmega32 un LCD displeju - Automātiskā ventilatora vadība: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Temperatūras sensors (LM35), saskarne ar ATmega32 un LCD displeju
1. darbība:
Šajā projektā jūs uzzināsit, kā sasaistīt temperatūras sensoru (LM35) ar AVR ATmega32 mikrokontrolleru un LCD displeju.
Pirms šī projekta jums jāzina Uzziniet par šādiem rakstiem
kā pievienot lcd bibliotēku avr studijā | avr mikrokontrollera apmācība
ievads ADC AVR mikrokontrollerī | iesācējiem
Temperatūras sensors (LM35) ir populārs un lēts temperatūras sensors. Vcc var būt no 4V līdz 20V, kā norādīts datu lapā. Lai izmantotu sensoru, vienkārši pievienojiet Vcc pie 5V, GND ar zemi un izeju pie viena no ADC (analogā digitālā pārveidotāja kanāls).
Izeja ir 10MilliVolts uz vienu grādu pēc Celsija. Tātad, ja izeja ir 310 mV, tad temperatūra ir 31 grāds C. Lai izveidotu šo projektu, jums vajadzētu iepazīties ar AVR ADC un arī izmantot LCD. Tātad AVR izšķirtspēja ADC ir 10 bitu, un atsauces spriegumam jūs izmantojat 5 V, tāpēc izšķirtspēja sprieguma ziņā ir
5/1024 = aptuveni 5,1 mV
Tātad, ja ADC rezultāts atbilst 5,1 mV, ti, ja ADC nolasījums ir
10 x 5,1 mV = 51 mV
Jūs varat nolasīt jebkura ADC kanāla vērtību, izmantojot funkciju adc_result (ch);
Kur ch ir kanāla numurs (0–5) ATmega8 gadījumā. Ja esat pievienojis LM35 izeju ADC 0 kanālam, zvaniet
adc_result0 = adc_read (0);
tas saglabās pašreizējo ADC rādījumu mainīgajā adc_value. Datu tipam adc_value jābūt int, jo ADC vērtība var būt no 0 līdz 1023.
Kā redzējām, ADC rezultāti ir 5,1 mV koeficients, un 1 grādam C LM35 izeja ir 10 mV, tātad 2 ADC vienības = 1 grāds.
Tātad, lai iegūtu temperatūru, mēs adc_value dalām ar diviem
temperatūra = adc_result0 /2;
Visbeidzot mikrokontrolleris 16X2 burtciparu LCD ekrānā parādīs temperatūru grādos pēc Celsija.
2. darbība: shēmas shēma
3. solis: programma
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#iekļaut
#iekļaut
#include "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Iespējot un prescaler no 128
ADCSRA = (1 <
}
// lasīt adc vērtību
uint16_t adc_read (uint8_t ch)
{
// atlasiet atbilstošo kanālu 0 ~ 7
ch & = 0b00000111; // UN operācija ar 7
ADMUX = (ADMUX & 0xF8) | ch;
// sākt vienu reklāmguvumu
// rakstiet “1” uz ADSC
ADCSRA | = (1 <
// pagaidiet, līdz konversija tiks pabeigta
// ADSC atkal kļūst par “0”
kamēr (ADCSRA & (1 <
atgriešanās (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int tālu;
ogļu buferšķīdums [10];
// inicializēt adc un lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // KURSORS
lcd_clrscr ();
lcd_gotoxy (0, 0);
_kavēšanās_ms (50);
kamēr (1)
{
adc_result0 = adc_read (0); // lasīt adc vērtību PA0
temp = adc_result0/2.01; // temperatūras atrašana
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buferis, 10); // parādīt ADC vērtību
// lcd_puts (buferis);
lcd_gotoxy (0, 0);
itoa (temp, buferšķīdums, 10);
lcd_puts ("Temp ="); // displeja temperatūra
lcd_puts (buferis);
lcd_gotoxy (7, 0);
lcd_puts ("C");
tālu = (1,8*temperatūra) +32;
lcd_gotoxy (9, 0);
itoa (tālu, buferis, 10);
lcd_puts (buferis);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_kavēšanās_ms (1000);
ja (temperatūra> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
ja (temperatūra <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
4. darbība: izskaidrojiet kodu
Es ceru, ka jūs zināt, ka zināsit, kā šajā kodā iespējot ADC un kā saslēgt LCD ar Avr mikrokontrolleru, ja temperatūra ir augstāka par 30 grādiem, tad ventilators ir ieslēgts, un uz displeja Ventilators ir redzams un kad temperatūra ir zemāka par 30, tad ventilators ir izslēgts, un jūs varat redzēt FAN OFF
5. darbība. Jūs varat lejupielādēt pilnu projektu
Noklikšķiniet šeit
Ieteicams:
Saskarnes LM35 temperatūras sensors ar Arduino: 4 soļi
Saskarnes LM35 temperatūras sensors ar Arduino: Termometri ir noderīga ierīce, ko ilgstoši izmanto temperatūras mērīšanai. Šajā projektā mēs esam izveidojuši uz Arduino balstītu digitālo termometru, lai LCD parādītu pašreizējo apkārtējās vides temperatūru un temperatūras izmaiņas. To var izskaidrot
BBQ temperatūras un gaļas sensors uz ESP8266 ar displeju: 5 soļi (ar attēliem)
BBQ temperatūras un gaļas sensors uz ESP8266 ar displeju: šajā pamācībā es jums parādīšu, kā izveidot savu BBQ rīka versiju, kas mēra jūsu grila pašreizējo temperatūru un ieslēdz ventilatoru, lai to iedegtu, ja nepieciešams. Papildus tam ir arī gaļas kodola temperatūras sensors
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: 6 soļi
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: tas ir saules enerģijas temperatūras un mitruma sensora konstrukcija. Sensors atdarina 433 MHz Oregon sensoru un ir redzams Telldus Net vārtejā. Kas jums nepieciešams: 1x "10-LED Saules enerģijas kustības sensors " no ebay. Pārliecinieties, ka ir rakstīts 3.7v mīkla
Temperatūras nolasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: 4 soļi
Temperatūras lasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: Sveiki, puiši, šajā pamācībā mēs iemācīsimies izmantot LM35 kopā ar Arduino. Lm35 ir temperatūras sensors, kas var nolasīt temperatūras vērtības no -55 ° C līdz 150 ° C. Tā ir 3 termināļu ierīce, kas nodrošina analogo spriegumu, kas ir proporcionāls temperatūrai. Augstākā
Temperatūras un mitruma sensors ar Arduino un LCD displeju: 4 soļi
Temperatūras un mitruma sensors ar Arduino un LCD displeju: Sveiki puiši, laipni lūdzam atpakaļ Artuino. Kā jūs jau redzējāt, es esmu uzsācis An InstructableToday mēs gatavojamies Temperatūra & Mitruma mērītājs ar DHT11 moduli. Sāksim darbu Apsveriet iespēju abonēt un atzīmēt videoklipu ar Patīk