Мазмұны:
- 1 -қадам:
- 2 -қадам: схема
- 3 -қадам: Бағдарлама
- 4 -қадам: кодты түсіндіріңіз
- 5 -қадам: Сіз толық жобаны жүктей аласыз
- 6 -қадам: бейне
Бейне: ATmega32 және СКД дисплейі бар температура сенсоры (LM35) - Автоматты желдеткішті басқару: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Температура сенсоры (LM35) ATmega32 және СКД дисплеймен байланыс
1 -қадам:
Бұл жобада сіз температура сенсорымен (LM35) AVR ATmega32 микроконтроллері мен СКД дисплейімен қалай байланысуға болатынын білесіз.
Бұл жобаны бастамас бұрын келесі мақалалар туралы білу қажет
avr студиясында LCD кітапханасын қалай қосуға болады | avr микроконтроллер оқулығы
AVR микроконтроллерінде ADC -ке кіріспе | жаңадан бастаушыларға арналған
Температура сенсоры (LM35) - танымал және арзан температура сенсоры. Деректер кестесінде көрсетілгендей VC 4В -тан 20В -қа дейін болуы мүмкін. Сенсорды қолдану үшін Vcc -ты 5В -қа, GND -ге жерге және шығуды ADC -ге қосыңыз (аналогты цифрлық түрлендіргіш арнасы).
Өнімділік - бір градусқа 10 мильВольт. Егер шығыс 310 мВ болса, онда температура 31 градус. Бұл жобаны жасау үшін сіз AVR ADC -мен таныс болуыңыз керек, сонымен қатар LCD -ді қолданыңыз. кернеу бойынша
Шамамен 5/1024 = 5.1мВ
Егер ADC нәтижесі 5.1 мВ сәйкес болса, яғни егер ADC көрсеткіші болса
10 x 5.1мВ = 51мВ
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мВ, сондықтан 2 бірлік ADC = 1 градус.
Сонымен, температураны алу үшін adc_value мәнін екіге бөлеміз
температура = adc_result0 /2;
Соңында микроконтроллер 16X2 әріптік -сандық СКД -де температураны градуспен көрсетеді.
2 -қадам: схема
3 -қадам: Бағдарлама
#ifndef F_CPU
#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) | ch;
// бір түрлендіруді бастау
// ADSC -ке '1' жазыңыз
ADCSRA | = (1 <
// конверсияның аяқталуын күтіңіз
// ADSC қайтадан '0' болады
while (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);
_кешіктіру (50);
кезінде (1)
{
adc_result0 = adc_read (0); // PA0 кезінде adc мәнін оқу
temp = 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»);
алыс = (1,8*темп) +32;
lcd_gotoxy (9, 0);
itoa (алыс, буфер, 10);
lcd_puts (буфер);
lcd_gotoxy (12, 0);
lcd_puts («F»);
_кешіктіру (1000);
егер (температура> 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts («Желдеткіш қосулы»);
PORTB = (1 <
}
егер (температура <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts («ЖЕЛДЕТКІШ ӨШІРУ»);
PORTB = (0 <
}
}
}
4 -қадам: кодты түсіндіріңіз
Сіз бұл кодта ADC қосуды және Авр микроконтроллерінің көмегімен СКД -мен қалай байланысуға болатынын білесіз деп білемін деп үміттенемін, егер температура 30 градустан жоғары болса, онда желдеткіш қосылады, ал сіз дисплейде FAN ҚОСУЛЫ қосулы, ал температура 30 -дан төмен болғанда желдеткішті көре аласыз. өшірулі және сіз ЖЕЛДЕТКІШТІ өшіруді көре аласыз
5 -қадам: Сіз толық жобаны жүктей аласыз
Мында басыңыз
Ұсынылған:
TMP36 температура сенсоры және LCD дисплейі Arduino (Tinkercad) көмегімен: 7 қадам
TMP36 температура сенсоры және LCD дисплейі Arduino (Tinkercad) көмегімен: Барлығына сәлем! Біз Малайзияның Тун Хусейн Онн университетінің студенттеріміз (UTHM) UQD0801 (Robocon 1) оқу бағдарламамыздың бір бөлігі ретінде Tinkercad көмегімен температура сенсоры, LCD және Arduino модельдеуді қалай көрсету керектігін көрсететін жобаны жүзеге асыруда
MQ135 және сыртқы температура мен ылғалдылық сенсоры бар MQTT бар ауа сапасының мониторы: 4 қадам
MQ135 және MQTT үстіндегі сыртқы температура мен ылғалдылық сенсоры бар ауа сапасының мониторы: бұл сынақ мақсатында
ESP8266 NodeMCU кіру нүктесі (AP) DT11 температура сенсоры бар веб -сервер үшін және шолуда температура мен ылғалдылықты басып шығару: 5 қадам
Браузерде DT11 температура сенсоры мен баспа температурасы мен ылғалдылығы бар веб -серверге арналған ESP8266 NodeMCU кіру нүктесі (AP): Сәлеметсіздер ме, біз ESP8266 пайдаланатын жобалардың көпшілігінде және жобалардың көпшілігінде біз ESP8266 -ды веб -сервер ретінде қолданамыз, осылайша деректерге қол жеткізуге болады. ESP8266 орналастырған веб -серверге кіру арқылы Wi -Fi арқылы кез келген құрылғы, бірақ жалғыз мәселе - бізге жұмыс маршрутизаторы қажет
Arduino және Lcd дисплейі бар температура мен ылғалдылық сенсоры: 4 қадам
Arduino мен Lcd дисплейі бар температура мен ылғалдылық сенсоры: Сәлеметсіздер ме, балалар, Artuino -ға қош келдіңіздер. Сіз көргендей, мен InstructableToday -ді бастадым, біз температураны жасаймыз. Ылғалдылық өлшегіш DHT11 модулімен. Бастайық PS. Жазылуды және бейнені ұнатуды қарастырыңыз
I2c СКД дисплейі бар Arduino және ESP8266: 9 қадам
I2c СКД дисплейі бар Arduino және ESP8266: Біздің негізгі мақсатымыз - 2x16 немесе 20x4 СКД дисплейі үшін сериялық i2c модулінің жұмысын көрсету. Бұл модульдің көмегімен біз тек екі түйреуішті (SDA және SCL) қолдана отырып, жоғарыда көрсетілген дисплейлерді басқара аламыз. Бұл қарым -қатынасты өте қарапайым етеді және