آموزش BASCOM AVR – بسکام – جلسه یازدهم
خیلی خب 🌟
حالا میریم سراغ جلسه یازدهم و این بار هم مفصل و کامل مینویسم تا شبیه یک فصل آموزشی باشه.
📘 آموزش BASCOM AVR – بسکام – جلسه یازدهم
سنسورهای آنالوگ (ADC) و ساخت دماسنج دیجیتال
۱. مقدمه
تا اینجا یاد گرفتیم دادههای دیجیتال (۰ و ۱) را بخوانیم و ذخیره کنیم. اما بسیاری از سنسورها خروجی آنالوگ دارند؛ یعنی ولتاژی بین ۰ تا ۵ ولت. برای خواندن این ولتاژ باید از مبدل آنالوگ به دیجیتال (ADC) داخلی میکروکنترلر استفاده کنیم.
کاربردهای ADC:
- خواندن دما از سنسور LM35
- خواندن نور از LDR
- خواندن ولتاژ یا جریان
- کنترل سرعت موتور با پتانسیومتر
۲. معرفی ADC در ATmega32
- تعداد کانالها: ۸ کانال (ADC0 تا ADC7)
- رزولوشن: ۱۰ بیت (۰ تا ۱۰۲۳)
- ولتاژ مرجع: میتواند AVCC یا ولتاژ داخلی باشد.
- سرعت تبدیل: قابل تنظیم با Prescaler
۳. سنسور LM35
- سنسور دما با خروجی آنالوگ.
- هر ۱۰ میلیولت = ۱ درجه سانتیگراد.
- محدوده اندازهگیری: ۰ تا ۱۵۰ درجه سانتیگراد.
- اتصال: پایه خروجی به ADC0، پایه تغذیه به +۵ ولت، پایه زمین به GND.
۴. کدنویسی در BASCOM
مثال: خواندن مقدار ADC
' پروژه خواندن دما از LM35
$regfile = "m32def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Value As Word
Dim Temp As Single
Do
Value = Getadc(0) ' خواندن مقدار از کانال ADC0
Temp = Value * 5 / 1024 * 100 ' تبدیل به درجه سانتیگراد
Locate 1 , 1
Lcd "Temp=" ; Temp ; "C"
Wait 1
Loop
End
۵. توضیح خطبهخط کد
Config Adc = Single→ تنظیم ADC به حالت تککاناله.Prescaler = Auto→ تقسیم کلاک به صورت خودکار.Reference = Avcc→ ولتاژ مرجع = ۵ ولت.Start Adc→ فعالسازی ADC.Getadc(0)→ خواندن مقدار از کانال ۰.- تبدیل مقدار به دما:
- مقدار ADC بین ۰ تا ۱۰۲۳ است.
- ولتاژ = (Value × 5) ÷ 1024
- دما = ولتاژ × 100
۶. پروژه عملی: دماسنج دیجیتال
- سنسور LM35 → پایه ADC0
- نمایش دما روی LCD کاراکتری
- اگر دما بیشتر از ۳۰ درجه شد، LED روشن شود.
کد:
Dim Value As Word
Dim Temp As Single
Do
Value = Getadc(0)
Temp = Value * 5 / 1024 * 100
Locate 1 , 1
Lcd "Temp=" ; Temp ; "C"
If Temp > 30 Then
Set PORTA.0
Else
Reset PORTA.0
End If
Wait 1
Loop
End
۷. نکات عملی
- سیمهای سنسور باید کوتاه باشند تا نویز کمتر شود.
- برای دقت بیشتر میتوان چند بار مقدار ADC را خواند و میانگین گرفت.
- ولتاژ مرجع باید دقیق باشد؛ بهتر است از AVCC با خازن فیلتر استفاده کنید.
۸. تمرینها
- برنامهای بنویسید که دما را بخواند و اگر بیشتر از ۴۰ درجه شد، فن روشن شود.
- مقدار نور را با LDR بخوانید و شدت نور را روی LCD نمایش دهید.
- یک ولتمتر ساده بسازید که ولتاژ ورودی را روی LCD نشان دهد.
نتیجه جلسه یازدهم
در این جلسه یاد گرفتیم:
- مفهوم ADC و کاربرد آن.
- نحوه خواندن داده آنالوگ در BASCOM.
- پروژه عملی دماسنج دیجیتال با سنسور LM35.
🔹 جلسه دوازدهم: کار با ساعت و تقویم دیجیتال (RTC) و نمایش زمان دقیق روی LCD.