תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
חיישן טמפרטורה (LM35) ממשק עם ATmega32 ותצוגת LCD
שלב 1:
בפרויקט זה, תלמד כיצד ממשק חיישן טמפרטורה (LM35) עם מיקרו -בקר AVm ATmega32 ותצוגת LCD.
לפני פרויקט זה עליך ללמוד על המאמרים הבאים
כיצד להוסיף ספריית lcd ב avr studio | הדרכה של מיקרו בקר avr
היכרות עם ADC במיקרו -בקר AVR | למתחילים
חיישן טמפרטורה (LM35) הוא חיישן טמפרטורה פופולרי בעלות נמוכה. ה- Vcc יכול להיות בין 4V ל 20V כפי שצוין בגליון הנתונים. כדי להשתמש בחיישן פשוט חבר את ה- Vcc ל- 5V, GND to Ground and the Out לאחד מערוצי ה- ADC (ערוץ ממיר אנלוגי לדיגיטלי).
התפוקה היא 10 מילי -וולט לכל מעלות צלזיוס. אז אם הפלט הוא 310 mV אז הטמפרטורה היא 31 מעלות צלזיוס. כדי לבצע את הפרויקט הזה אתה צריך להכיר את ה- ADC של AVR וגם להשתמש ב- LCD אז הרזולוציה של AVRs ADC היא 10bit ולמתח התייחסות אתה משתמש ב- 5V כך שהרזולוציה מבחינת המתח הוא
5/1024 = 5.1mV בערך
אז אם התוצאה של ADC תואמת 5.1mV כלומר אם קריאת ADC היא
10 x 5.1mV = 51mV
אתה יכול לקרוא את הערך של כל ערוץ ADC באמצעות הפונקציה adc_result (ch);
כאשר ch הוא מספר הערוץ (0-5) במקרה של ATmega8. אם חיברת את ה- LM35 של out put ל- ערוץ ADC 0, התקשר
adc_result0 = adc_read (0);
זה יאחסן את קריאת ה- ADC הנוכחית במשתנה adc_value. סוג הנתונים של adc_value צריך להיות int מכיוון שערך ADC יכול לנוע בין 0-1023.
כפי שראינו תוצאות ה- ADC הן בגורם של 5.1mV ועבור מעלה אחת C התפוקה של LM35 היא 10mV, אז 2 יחידות ADC = מעלה אחת.
אז כדי לקבל את הטמפרטורה נחלק את הערך adc_value לשניים
טמפרטורה = adc_result0 /2;
לבסוף המיקרו -בקר יציג את הטמפרטורה ברמה -צלזיוס ב- LCD האלפאנומרי 16X2.
שלב 2: תרשים מעגלים
שלב 3: תכנית
#ifndef F_CPU
#הגדר F_CPU 1600000UL
#endif
#לִכלוֹל
#לִכלוֹל
#כלול "LCD/lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC הפעלה ומעריכה מראש של 128
ADCSRA = (1 <
}
// קרא ערך adc
uint16_t adc_read (uint8_t ch)
{
// בחר את הערוץ המתאים 0 ~ 7
ch & = 0b00000111; // AND פעולה עם 7
ADMUX = (ADMUX & 0xF8) | ch;
// התחל המרה בודדת
// כתוב '1' ל- ADSC
ADCSRA | = (1 <
// המתן להשלמת ההמרה
// ADSC הופך שוב ל -0
בעוד (ADCSRA & (1 <
החזרה (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int רחוק;
חיץ חרוך [10];
// אתחול adc ו- lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); //סַמָן
lcd_clrscr ();
lcd_gotoxy (0, 0);
_ עיכוב_מס (50);
בעוד (1)
{
adc_result0 = adc_read (0); // קרא ערך ADC ב- PA0
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");
_ 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 וכיצד להתממשק LCD עם מיקרו בקר Avr בקוד זה כשהטמפרטורה גבוהה מ -30 מעלות ואז המאוורר דולק ותוכל לראות ב- FAN Display FAN ON וכאשר הטמפרטורה פחות מ -30 ואז המאוורר כבוי ותוכל לראות FAN OFF
שלב 5: אתה יכול להוריד את הפרויקט המלא
לחץ כאן
מוּמלָץ:
חיישן טמפרטורה LM35 ממשק עם ארדואינו: 4 שלבים
ממשק חיישן טמפרטורה LM35 עם Arduino: מדחומים הם מכשירים שימושיים המשמשים זמן רב למדידת טמפרטורה. בפרויקט זה, יצרנו מדחום דיגיטלי מבוסס Arduino כדי להציג את שינויי הטמפרטורה והסביבה הנוכחיים על LCD. זה יכול להיות דל
חיישן טמפרטורה TMP36 ותצוגת LCD באמצעות Arduino (Tinkercad): 7 שלבים
חיישן טמפרטורה TMP36 ותצוגת LCD באמצעות Arduino (Tinkercad): שלום לכולם! אנו סטודנטים מאוניברסיטת טון חוסיין און מלזיה (UTHM) המבצעים פרויקט להדגמה כיצד אנו יכולים לדמות חיישן טמפרטורה, LCD וארדואינו באמצעות Tinkercad כחלק מתכנית הלימודים שלנו עבור UQD0801 (רובוקון 1) (
תחילת העבודה עם ממשק חיישן I2C ?? - ממשק MMA8451 שלך באמצעות ESP32s: 8 שלבים
תחילת העבודה עם ממשק חיישן I2C ?? - ממשק ה- MMA8451 שלך באמצעות ESP32s: במדריך זה, תלמד הכל על איך להתחיל, להתחבר ולהשיג מכשיר I2C (מאיץ) שעובד עם בקר (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: 4 שלבים
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: היי חברים במדריך זה נלמד כיצד להשתמש ב- LM35 עם Arduino. Lm35 הוא חיישן טמפרטורה שיכול לקרוא ערכי טמפרטורה מ -55 ° C עד 150 ° C. זהו מכשיר בעל 3 מסופים המספק מתח אנלוגי ביחס לטמפרטורה. היג
הפוך מאוורר לאוטומטי באמצעות חיישן טמפרטורה MESH: 4 שלבים (עם תמונות)
הפוך מאוורר אוטומטי באמצעות חיישן טמפרטורה MESH: נמאס לך להדליק את המאוורר שלך " להפעיל " ו " כבוי "? מה אם המאוורר שלך היה אוטומטי וניתן להתאמה אישית על סמך הגדרות הטמפרטורה המועדפות עליך? בנינו מאוורר אוטומטי באמצעות טמפרטורת MESH & לחות, וומו ו