جدول المحتويات:

مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD - التحكم الآلي في المروحة: 6 خطوات
مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD - التحكم الآلي في المروحة: 6 خطوات

فيديو: مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD - التحكم الآلي في المروحة: 6 خطوات

فيديو: مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD - التحكم الآلي في المروحة: 6 خطوات
فيديو: الدرس الواحد والعشرون - lm35 حساس الحرارة 2024, شهر نوفمبر
Anonim
مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD | التحكم الآلي في المروحة
مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD | التحكم الآلي في المروحة

مستشعر درجة الحرارة (LM35) يتفاعل مع ATmega32 وشاشة LCD

الخطوة 1:

في هذا المشروع ، سوف تتعلم كيفية توصيل مستشعر درجة الحرارة (LM35) مع متحكم AVR ATmega32 وشاشة LCD.

قبل هذا المشروع ، يجب عليك التعرف على المقالات التالية

كيفية إضافة مكتبة LCD في avr studio | AVR ميكروكنترولر تعليمي

مقدمة إلى ADC في متحكم AVR | للمبتدئين

مستشعر درجة الحرارة (LM35) هو مستشعر درجة حرارة مشهور ومنخفض التكلفة. يمكن أن يكون Vcc من 4V إلى 20V كما هو محدد في ورقة البيانات. لاستخدام المستشعر ، قم ببساطة بتوصيل Vcc بـ 5V و GND بالأرضي والخرج بأحد ADC (قناة المحول التناظري إلى الرقمي).

الناتج هو 10MilliVolts لكل درجة مئوية. لذلك إذا كان الناتج 310 مللي فولت ، فإن درجة الحرارة هي 31 درجة مئوية.لجعل هذا المشروع ، يجب أن تكون على دراية بـ ADC لـ AVRs وأيضًا باستخدام شاشة LCD ، لذا فإن دقة AVRs ADC هي 10 بت وللجهد المرجعي تستخدم 5 فولت لذا فإن الدقة من حيث الجهد

5/1024 = 5.1 مللي فولت تقريبًا

لذلك إذا كانت نتيجة ADC تتوافق مع 5.1mV ، أي إذا كانت قراءة ADC

10 × 5.1 مللي فولت = 51 مللي فولت

يمكنك قراءة قيمة أي قناة ADC باستخدام الوظيفة adc_result (ch) ؛

حيث ch هو رقم القناة (0-5) في حالة ATmega8. إذا قمت بتوصيل مخرج LM35 بقناة ADC 0 ، فاتصل

adc_result0 = adc_read (0) ،

سيؤدي هذا إلى تخزين قراءة ADC الحالية في adc_value المتغير. يجب أن يكون نوع بيانات adc_value صحيحًا حيث يمكن أن تتراوح قيمة ADC من 0-1023.

كما رأينا ، فإن نتائج ADC هي في عامل 5.1mV وبالنسبة إلى درجة 1 C يكون ناتج LM35 هو 10mV ، لذا فإن وحدتين من ADC = 1 درجة.

للحصول على درجة الحرارة ، نقسم adc_value على اثنين

درجة الحرارة = adc_result0 / 2 ؛

أخيرًا ، سيعرض المتحكم الدقيق درجة الحرارة بالدرجة المئوية في شاشة LCD الأبجدية الرقمية مقاس 16 × 2.

الخطوة 2: مخطط الدائرة

مخطط الرسم البياني
مخطط الرسم البياني

الخطوة الثالثة: البرنامج

#ifndef F_CPU

#define F_CPU 1600000UL

#إنهاء إذا

#يشمل

#يشمل

# تضمين "LCD / lcd.h"

adc_init باطل ()

{

// AREF = AVcc

ADMUX = (1 <

// ADC Enable and prescaler of 128

ADCSRA = (1 <

}

// قراءة قيمة adc

uint16_t adc_read (uint8_t ch)

{

// حدد القناة المقابلة 0 ~ 7

الفصل & = 0b00000111 ؛ // والتشغيل مع 7

ADMUX = (ADMUX & 0xF8) | الفصل ؛

// بدء تحويل واحد

// اكتب '1' إلى ADSC

ADCSRA | = (1 <

// انتظر حتى يكتمل التحويل

// ADSC يصبح "0" مرة أخرى

بينما (ADCSRA & (1 <

العودة (ADC) ؛

}

انت مين()

{

DDRB = 0xff ؛

uint16_t adc_result0 ؛

درجة الحرارة int

كثافة العمليات بعيدة

شار عازلة [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) ، // قراءة قيمة adc في PA0

درجة الحرارة = adc_result0 / 2.01 ؛ // إيجاد درجة الحرارة

// lcd_gotoxy (0 ، 0) ؛

// lcd_puts ("Adc =") ؛

// itoa (adc_result0، buffer، 10) ؛ // عرض قيمة ADC

// lcd_puts (المخزن المؤقت) ؛

lcd_gotoxy (0 ، 0) ؛

إيتوا (درجة الحرارة ، المخزن المؤقت ، 10) ؛

lcd_puts ("درجة الحرارة =") ؛ // عرض درجة الحرارة

lcd_puts (المخزن المؤقت) ؛

lcd_gotoxy (7 ، 0) ؛

lcd_puts ("C") ؛

بعيد = (1.8 * درجة حرارة) +32 ؛

lcd_gotoxy (9 ، 0) ؛

إيتوا (بعيد ، عازلة ، 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 Microcontroller في هذا الرمز عندما تكون درجة الحرارة أكثر من 30 درجة ثم تكون المروحة قيد التشغيل ويمكنك أن ترى على شاشة العرض LED FAN وعندما تكون درجة الحرارة أقل من 30 ثم مروحة تم إيقاف تشغيل FAN ويمكنك رؤية FAN OFF

الخطوة 5: يمكنك تنزيل المشروع الكامل

انقر هنا

موصى به: