Мазмуну:
- 1 кадам:
- 2 -кадам: Райондук диаграмма
- 3 -кадам: Программа
- 4 -кадам: Кодду түшүндүрүңүз
- 5 -кадам: Толук долбоорду жүктөп алсаңыз болот
- 6 -кадам: Видео
Video: Температура сенсору (LM35) ATmega32 жана ЖК дисплейи менен интерфейс - Automatics Fan Control: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Температура сенсору (LM35) ATmega32 жана ЖК дисплейи менен интерфейс
1 кадам:
Бул долбоордо сиз температура сенсорун (LM35) AVR ATmega32 микроконтроллери жана ЖК дисплейи менен кантип байланыштырууну үйрөнөсүз.
Бул долбоорго чейин төмөнкү макалалар жөнүндө билишиңиз керек
avr студиясында LCD китепканасын кантип кошуу керек | avr микроконтроллер үйрөткүчү
AVR микроконтроллеринде ADCге киришүү | баштагандар үчүн
Температура сенсору (LM35) - популярдуу жана арзан баадагы температура сенсору. Vcc маалымат барагында көрсөтүлгөндөй 4Vдан 20Vга чейин болушу мүмкүн. Сенсорду колдонуу үчүн жөн гана Vccти 5Vга, GNDди жерге жана ADCдин бирине (санариптик конвертер каналына аналог) туташтырыңыз.
Продукт бир градуска 10 МиллиВольт. Демек, эгерде чыгым 310 мВ болсо, анда температура 31 градус C. Бул долбоорду ишке ашыруу үчүн сиз AVRs ADC менен тааныш болушуңуз керек, ошондой эле LCDди колдонушуңуз керек. чыңалуу боюнча
5/1024 = 5.1мВ болжол менен
Ошентип, эгерде ADCдин натыйжасы 5.1mVге туура келсе, б.а. эгерде ADC окуу болсо
10 x 5.1mV = 51mV
Сиз adc_result (ch) функциясын колдонуп, каалаган ADC каналынын маанисин окуй аласыз;
Бул жерде ch-ATmega8 учурда каналдын номери (0-5). Эгерде сиз LM35ти ADC каналына 0 туташтырсаңыз, анда чалыңыз
adc_result0 = adc_read (0);
бул учурдагы ADC окуусун adc_value өзгөрмөсүндө сактайт. ADC_value маалыматтын түрү int болушу керек, анткени ADC мааниси 0-1023 чейин өзгөрүшү мүмкүн.
Биз көргөндөй, ADC жыйынтыктары 5.1мВ фактордо жана 1 градус С үчүн LM35тин чыгышы 10мВ, ошондуктан ADCдин 2 бирдиги = 1 даража.
Ошентип, температураны алуу үчүн adc_value'ны экиге бөлөбүз
температура = adc_result0 /2;
Акырында микроконтроллер температураны 16X2 тамга -сандык ЖКда градус даражасында көрсөтөт.
2 -кадам: Райондук диаграмма
3 -кадам: Программа
#ifndef F_CPU
#define F_CPU 1600000UL
#endif
#кошуу
#кошуу
#"LCD/lcd.h" кошуу
жараксыз adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC 128ди иштетүү жана алдын ала эсептөө
ADCSRA = (1 <
}
// adc маанисин окуу
uint16_t adc_read (uint8_t ch)
{
// тиешелүү каналды тандаңыз 0 ~ 7
ch & = 0b00000111; // ЖАНА 7 менен операция
ADMUX = (ADMUX & 0xF8) | ч;
// жалгыз өзгөртүүнү баштоо
// ADSCке '1' деп жазыңыз
ADCSRA | = (1 <
// конверсиянын бүтүшүн күтө туруңуз
// ADSC кайра '0' болуп калат
жатканда (ADCSRA & (1 <
кайтуу (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int far;
char буфер [10];
// adc жана lcd баштоо
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); // КУРСОР
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
учурда (1)
{
adc_result0 = adc_read (0); // PA0да adc маанисин окуңуз
темп = adc_result0/2.01; // температураны табуу
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, буфер, 10); // ADC маанисин көрсөтүү
// lcd_puts (буфер);
lcd_gotoxy (0, 0);
itoa (темп, буфер, 10);
lcd_puts ("Temp ="); // дисплей температурасы
lcd_puts (буфер);
lcd_gotoxy (7, 0);
lcd_puts ("C");
far = (1.8*temp) +32;
lcd_gotoxy (9, 0);
itoa (алыс, буфер, 10);
lcd_puts (буфер);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
эгер (темп> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("FAN ON");
PORTB = (1 <
}
эгер (темп <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("FAN OFF");
PORTB = (0 <
}
}
}
4 -кадам: Кодду түшүндүрүңүз
Мен билем деп үмүттөнөм, сиз билесиз, бул коддо ADCди кантип иштетүү керектигин жана Avr Microcontroller менен кантип интерфейс кылууну, эгерде температура 30 градустан ашса, желдеткич күйгүзүлгөндө жана сиз дисплейде FAN ON күйгүзүлгөндө жана температура 30дан азыраак болгондо көрө аласыз өчүк жана сиз FAN OFF көрө аласыз
5 -кадам: Толук долбоорду жүктөп алсаңыз болот
Бул жерди басыңыз
Сунушталууда:
Барбекю температурасы жана эт сенсору ESP8266 дисплейи менен: 5 кадам (сүрөттөр менен)
Барбекюдагы температура жана эт сенсору ESP8266 дисплейи менен: Бул нускамада мен сизге барбекюңуздун учурдагы температурасын өлчөгөн жана керек болсо күйгүзүү үчүн желдеткичти күйгүзүүчү барбекю куралынын өз версиясын кантип жасоону көрсөтөм. Мындан тышкары, эттин негизги температурасы сенсору бар
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: 7 кадам
TMP36 температура сенсору жана LCD дисплейи Arduino (Tinkercad) аркылуу: Баарына салам! Биз Тун Хусейн Онн Малайзия Университетинин студенттерибиз (UTHM) UQD0801 (Robocon 1) окуу программабыздын бир бөлүгү катары Tinkercad аркылуу температура сенсорун, LCD жана Arduino моделдештирүү боюнча долбоорду ишке ашырууда
Arduino Күн энергиясындагы температура жана нымдуулук сенсору 433mhz Орегон сенсору катары: 6 кадам
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: Бул күн менен иштеген температура жана нымдуулук сенсорунун курулушу. Сенсор 433mhz Oregon сенсорун туурайт жана Telldus Net шлюзунда көрүнөт. Эмне керек: 1x " 10-LED Күн энергиясынын кыймыл датчиги " Ebayден. 3.7В камыр деп жазылганын текшериңиз
Arduino Ultrasonic сенсор жана контактсыз температура сенсору менен интерфейс: 8 кадам
Arduino Ultrasonic сенсор жана контактсыз температура сенсору менен интерфейс: Бүгүнкү күндө, Жаратуучулар, Иштеп чыгуучулар долбоорлордун прототиптештирүүсүн тез өнүктүрүү үчүн Arduinoго артыкчылык беришүүдө. Arduino-ачык булак электроника платформасы, колдонууга оңой аппараттык жана программалык камсыздоого негизделген. Arduino абдан жакшы колдонуучу коомчулугуна ээ. Бул долбоордо
Температура жана нымдуулук сенсору Arduino жана Lcd дисплейи менен: 4 кадам
Температура жана нымдуулук сенсору Arduino жана Lcd дисплейи менен: Саламатсыздарбы балдар, Артуиного кайра кош келиңиздер. Сиз көргөндөй, мен InstructableToday программасын баштадым, биз температураны & DHT11 модулу менен нымдуулук өлчөгүч. Келгиле, баштайлы PS. Жазылууну жана видеону жактырууну карап көрүңүз