Mohammad Reza Bakhtiary
910170237
‫فهرست‬
‫مطالب‬:
‫امواج‬ ‫بر‬ ‫ای‬ ‫مقدمه‬‫التراسونیک‬
‫معرفی‬‫سنسور‬‫التراسونیک‬
‫تاریخچه‬
‫تکنولوژی‬ ‫کاربرد‬‫التراسونیک‬
‫مزیت‬/‫ضعف‬‫سنسور‬‫های‬‫التراسونیک‬
‫برخی‬ ‫معرفی‬‫ماژول‬‫های‬‫التراسونیک‬‫بازار‬ ‫در‬ ‫موجود‬
‫معرفی‬‫سنسور‬HC-SRF04
‫فنی‬ ‫مشخصات‬
‫عملکرد‬ ‫طرز‬‫سنسور‬
‫با‬ ‫سنج‬ ‫مسافت‬ ‫طراحی‬‫سنسور‬HC-SRF04
‫الگوریتم‬‫برنامه‬ ‫اجرای‬
‫سورس‬‫برنامه‬ ‫کد‬
‫امواج‬ ‫ر‬‫التراسونیک‬:
‫کلمه‬‫آلتراسونیک‬Ultrasonic‫معنای‬ ‫به‬‫فراصوت‬‫است‬.
‫انسان‬ ‫شنوایی‬ ‫فرکانس‬ ‫محدوده‬20‫هرتز‬‫تا‬20‫هزار‬
‫هرتز‬‫است‬.‫امواج‬ ‫فرکانسی‬ ‫محدوده‬‫فراصوت‬40‫کیلو‬
‫هرتز‬‫چندین‬ ‫تا‬‫مگاهرتز‬‫می‬‫باشد‬.‫امواج‬‫فراصوت‬،
‫تخلیه‬ ،‫لیزر‬ ‫در‬ ‫جمله‬ ‫از‬ ‫فراوانی‬ ‫کاربردهای‬
‫بار‬ ‫نرخ‬ ‫افزایش‬ ‫و‬ ‫سطحی‬ ‫خواص‬ ‫بهبود‬ ‫برای‬ ‫الکتریکی‬
‫ظروف‬ ‫دقیق‬ ‫شستشوی‬ ،‫مخزن‬ ‫عمق‬ ،‫فاصله‬ ‫سنجش‬ ،‫برداری‬
‫مواد‬ ‫کردن‬ ‫همگن‬ ،‫بیمار‬ ‫خون‬ ‫فشار‬ ‫تعیین‬ ،‫آزمایشگاهی‬
،‫مذاب‬‫جوشکاری‬،‫گری‬ ‫ریخته‬ ،‫جنس‬ ‫هم‬ ‫غیر‬ ‫مواد‬
‫تراشکاری‬،‫فرزکاری‬،‫سوراخکاری‬‫دارند‬ ‫غیره‬ ‫و‬.
‫معرفی‬‫سنسور‬
‫التراسونیک‬:
‫کار‬ ‫اساس‬‫حسگرهای‬‫فراصوت‬‫مشابه‬‫رادار‬‫یا‬‫ردیاب‬
‫بازتاب‬ ‫تحلیل‬ ‫طریق‬ ‫از‬ ‫هدف‬ ‫های‬ ‫ویژگی‬ ‫تشخیص‬ ،‫صوتی‬
‫صوتی‬ ‫یا‬ ‫رادیویی‬ ‫امواج‬‫باشد‬‫می‬.‫حسگرهای‬‫فراصوت‬
‫ایجاد‬ ‫باال‬ ‫فرکانس‬ ‫با‬ ‫صوتی‬ ‫امواج‬‫کنند‬‫می‬‫موج‬ ‫و‬
‫تحلیل‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫شده‬ ‫بازتاب‬‫کنند‬‫می‬.‫این‬‫حسگرها‬
‫گرفتن‬ ‫و‬ ‫سیگنال‬ ‫فرستادن‬ ‫بین‬ ‫زمان‬ ‫محاسبه‬ ‫با‬
‫محاسبه‬ ‫را‬ ‫جسم‬ ‫فاصله‬ ،‫بازتاب‬‫کنند‬‫می‬.
‫فناوری‬ ‫این‬ ‫از‬‫توان‬‫می‬‫در‬‫گیری‬‫اندازه‬‫و‬ ‫سرعت‬‫جهت‬
‫باد‬‫کرد‬ ‫استفاده‬ ‫مخزن‬ ‫یک‬ ‫بودن‬ ‫پر‬ ‫میزان‬ ‫یا‬.‫برای‬
‫گیری‬‫اندازه‬‫چندین‬ ‫از‬ ‫دستگاه‬ ‫یک‬ ،‫جهت‬ ‫و‬ ‫سرعت‬
‫استفاده‬ ‫گیرنده‬‫کند‬‫می‬‫روی‬ ‫از‬ ‫و‬‫فاصله‬‫آنها‬ ‫نسبی‬
‫اندازه‬ ‫را‬ ‫سرعت‬‫گیرد‬‫می‬.‫برای‬‫گیری‬‫اندازه‬‫میزان‬
‫مایع‬ ‫سطح‬ ‫از‬ ‫فاصله‬ ‫کافیست‬ ‫نیز‬ ‫مخزن‬ ‫یک‬ ‫داخل‬ ‫مایع‬
‫شود‬ ‫گرفته‬ ‫اندازه‬.‫شامل‬ ‫دیگر‬ ‫های‬ ‫کاربرد‬‫ردیابهای‬
‫صوتی‬(sonar)،‫بخورها‬((humidifier،‫سونوگرافی‬‫فراصوت‬،
‫سنسور‬‫و‬ ‫پارک‬‫دزدگیرها‬‫شود‬‫می‬.
‫و‬ ‫فرستنده‬ ‫از‬ ‫معمول‬ ‫طور‬ ‫به‬‫هایی‬‫گیرنده‬‫استفاده‬
‫شود‬‫می‬‫امواج‬ ‫صوتی‬ ‫به‬ ‫الکتریکی‬ ‫انرژی‬ ‫تبدیل‬ ‫با‬ ‫که‬
‫از‬ ‫باالتر‬ ‫صوتی‬۲۰‫کیلوهرتز‬‫ایجاد‬‫کنند‬‫می‬‫با‬ ‫و‬
‫انرژی‬ ‫به‬ ‫دیگر‬ ‫بار‬ ‫را‬ ‫صوت‬ ‫امواج‬ ‫بازتاب‬ ‫دریافت‬
‫تبدیل‬ ‫الکتریکی‬‫کنند‬‫می‬‫قابل‬ ‫تا‬‫گیری‬‫اندازه‬‫و‬
‫باشند‬ ‫نمایش‬.‫شکلهای‬ ‫فناوری‬ ‫این‬ ‫عمده‬ ‫مشکالت‬
‫است‬ ‫مواد‬ ‫غلظت‬ ‫یا‬ ‫چگالی‬ ‫و‬ ‫اجسام‬ ‫سطوح‬ ‫گوناگون‬.
‫عمل‬ ‫این‬ ‫مایع‬ ‫یک‬ ‫سطح‬ ‫در‬ ‫کف‬ ‫وجود‬ ‫مثال‬ ‫عنوان‬ ‫به‬
‫مختل‬ ‫را‬‫کند‬‫می‬.
‫تاریخ‬
‫چه‬:‫تاریخچه‬‫این‬‫سنسور‬‫سال‬ ‫به‬1912
‫کشتی‬ ‫شدن‬ ‫غرق‬ ‫از‬ ‫بعد‬ ‫و‬ ‫میالدی‬
‫تایتانیک‬‫گردد‬ ‫می‬ ‫بر‬.
‫شدن‬ ‫غرق‬ ‫از‬ ‫بعد‬‫تایتانیک‬
‫راه‬ ‫دنبال‬ ‫به‬ ‫دانشمندان‬‫حلی‬
‫فاجعه‬ ‫این‬ ‫نشدن‬ ‫تکرار‬ ‫برای‬
‫کشتی‬ ‫کاپیتان‬ ‫اگر‬ ‫که‬ ،‫افتادند‬
‫جلو‬ ‫دیدن‬ ‫به‬ ‫قادر‬ ‫دلیلی‬ ‫هر‬ ‫به‬
‫دهنده‬ ‫هشدار‬ ‫ای‬ ‫وسیله‬ ‫نبود‬ ‫کشتی‬
‫سازد‬ ‫مطلع‬ ‫مانع‬ ‫وجود‬ ‫از‬ ‫را‬ ‫او‬.
‫سال‬ ‫در‬1912‫آقای‬ ‫میالدی‬L F
Richartson‫و‬ ‫طبیعت‬ ‫از‬ ‫الهام‬ ‫با‬
‫از‬ ‫استفاده‬‫مسیریابی‬‫خفاشها‬
‫تکنولوژی‬ ‫کاربرد‬
‫التراسونیک‬:
‫شناسایی‬
‫اندازه‬‫گیری‬
‫تخریب‬
‫شناسایی‬
‫بتن‬ ‫درون‬/‫فلزات‬
‫در‬ ‫موجود‬ ‫خارجی‬ ‫مواد‬
‫غذایی‬ ‫مواد‬
‫پوستی‬ ‫زیر‬ ‫چربی‬ ‫ضخامت‬
/‫عضالت‬
‫ها‬ ‫ارگان‬(‫بافت‬)
‫جنین‬(‫باردار‬ ‫زنان‬)
‫اندازه‬
‫گیری‬
‫مسافت‬
‫جریان‬ ‫سرعت‬/‫نرخ‬
‫چشم‬ ‫محور‬ ‫طول‬
‫تخریب‬
‫ها‬ ‫سلول‬
‫مزیت‬/‫ضعف‬‫سنسور‬‫های‬
‫التراسونیک‬:
‫با‬ ‫تماس‬ ‫بدون‬ ‫تشخیص‬
‫جسم‬
‫پاسخ‬‫سنسور‬‫وابسته‬
‫شفافیت‬ ،‫رنگ‬ ‫به‬
‫اشیاء‬‫انعکاس‬ ‫خواص‬ ،
‫سطح‬ ‫بافت‬ ‫یا‬ ‫و‬ ‫نوری‬
‫نیست‬ ‫جسم‬
‫سنسور‬‫التراسونیک‬‫می‬
‫شرایط‬ ‫در‬ ‫تواند‬
‫و‬ ‫خاک‬ ‫مانند‬ ‫بحرانی‬
‫کند‬ ‫کار‬ ‫غبار‬ ‫و‬ ‫گرد‬
‫کوچک‬ ‫حتی‬ ‫دقیق‬ ‫تشخیص‬
‫اجسام‬ ‫ترین‬
‫مزی‬
‫ت‬
‫این‬‫سنسور‬‫فاصله‬ ‫یک‬ ‫دارای‬
‫که‬ ‫باشد‬ ‫می‬ ‫حداقل‬ ‫سنجش‬
‫انتخاب‬ ‫زمان‬ ‫باید‬‫سنسور‬،
‫شود‬ ‫گرفته‬ ‫نظر‬ ‫در‬
‫می‬ ‫محیط‬ ‫در‬ ‫تغییرات‬ ‫برخی‬
‫پاسخ‬ ‫تواند‬‫حسگر‬‫تحت‬ ‫را‬
‫دهد‬ ‫قرار‬ ‫تاثیر‬(‫مثل‬:
‫و‬ ‫دما‬ ،‫رطوبت‬)...
‫دقیق‬ ‫پاسخ‬ ‫برای‬‫سنسور‬
‫باال‬ ‫چگالی‬ ‫با‬ ‫سطحی‬ ‫باید‬
‫ببیند‬ ‫را‬.‫نرم‬ ‫سطح‬ ‫یک‬
‫مانند‬‫فوم‬‫دارای‬ ‫پارچه‬ ‫و‬
‫جذب‬ ‫قابلیت‬ ‫و‬ ‫کم‬ ‫چگالی‬
‫شده‬ ‫منتشر‬ ‫صوتی‬ ‫امواج‬
‫توسط‬‫سنسور‬‫باشد‬ ‫می‬
‫نادرستی‬ ‫پاسخ‬ ‫تواند‬ ‫می‬
‫بلند‬ ‫صداهای‬ ‫از‬ ‫برخی‬ ‫برای‬
‫باشد‬ ‫داشته‬
‫ضعف‬
‫برخی‬ ‫معرفی‬‫ماژول‬‫های‬
‫التراسونیک‬‫بازار‬ ‫در‬ ‫موجود‬:
SRF02
•‫دارای‬‫الگوریتم‬
‫تنظیم‬ ‫جهت‬ ‫هوشمند‬
‫سنسور‬‫کسب‬ ‫برای‬
‫دقت‬ ‫بهترین‬
•‫به‬ ‫زمان‬ ‫تبدیل‬ ‫قابلیت‬
‫های‬ ‫واحد‬‫مسافت‬
•‫و‬ ‫سلایر‬ ‫اتصال‬I2C
•‫کاربرد‬‫در‬ ‫گسترده‬
‫رباتیک‬‫دقت‬ ‫دلیل‬ ‫به‬
‫اندازه‬ ‫و‬ ‫باال‬
SRF05
•‫آسان‬ ‫کاربرد‬
•‫قیمت‬‫پایین‬
•‫پایه‬ ‫وجود‬out
•‫قابلیت‬‫استفاده‬
‫مد‬ ‫دو‬ ‫در‬‫کاری‬
•‫سیگنال‬ ‫خروجی‬
‫آنالوگ‬‫سینوسی‬
SRF08
•‫دقت‬ ‫تنظیم‬ ‫قابلیت‬
‫گیری‬ ‫اندازه‬
•‫دارای‬‫سنسور‬‫نوری‬
•‫به‬ ‫زمان‬ ‫تبدیل‬ ‫قابلیت‬
‫مسافت‬ ‫های‬ ‫واحد‬
•‫باال‬ ‫برد‬
•‫اتصال‬I2C
•‫در‬ ‫گسترده‬ ‫کاربرد‬
‫رباتیک‬‫دقت‬ ‫دلیل‬ ‫به‬
‫باال‬
‫معرفی‬‫سنسور‬HC-SRF04:
‫سنسور‬‫التراسونیک‬HC-SR04‫مانند‬
‫و‬ ‫ها‬ ‫خفاش‬‫دولفین‬‫امواج‬ ‫از‬ ‫ها‬
‫فراصوت‬‫فاصله‬ ‫گیری‬ ‫اندازه‬ ‫برای‬
‫کند‬ ‫می‬ ‫استفاده‬ ‫اشیا‬ ‫تا‬.‫این‬
‫سنسور‬‫بدون‬ ‫و‬ ‫دقیق‬ ‫سنجی‬ ‫فاصله‬
‫یک‬ ‫در‬ ‫را‬ ‫تماس‬‫پکیج‬‫به‬ ‫ساده‬
‫دهد‬ ‫می‬ ‫ارائه‬ ‫کاربر‬.
‫این‬ ‫دامنه‬‫سنسور‬‫بین‬2‫تا‬400
‫به‬ ‫آن‬ ‫عملکرد‬ ‫و‬ ‫بوده‬ ‫متر‬ ‫سانتی‬
‫اشیا‬ ‫رنگ‬ ‫یا‬ ‫و‬ ‫خورشید‬ ‫نور‬ ‫وسیله‬
‫قرار‬ ‫تاثیر‬ ‫تحت‬‫نمی‬‫گیرد‬.
‫ماژول‬‫این‬‫سنسور‬‫گیرنده‬ ‫همراه‬ ‫به‬
‫فنی‬ ‫مشخصات‬:
‫تغذیه‬ ‫منبع‬:5+‫ولت‬‫مستقیم‬ ‫جریان‬
‫تغذیه‬ ‫جریان‬:15‫آمپر‬ ‫میلی‬
‫برد‬:2-400‫متر‬ ‫سانتی‬
‫دقت‬:0/3‫متر‬ ‫سانتی‬
‫گیری‬ ‫اندازه‬ ‫زاویه‬:30‫درجه‬
‫پالس‬ ‫عرض‬‫تریگر‬‫ورودی‬:10‫میکروثانیه‬
‫خروجی‬:‫سیگنال‬‫سینوسی‬
‫ابعاد‬:15*20*40‫متر‬ ‫میلی‬
‫ها‬ ‫پایه‬:Vcc,trig,echo,gnd
+5VDC GND
Trigger input of sensor
Echo output of sensor
‫عملکرد‬ ‫بهترین‬‫سنسور‬‫زاویه‬ ‫در‬30‫باشد‬ ‫می‬
‫عملکرد‬ ‫طرز‬‫سنسور‬:
‫گیری‬ ‫اندازه‬ ‫شروع‬ ‫برای‬‫پایه‬ ،‫مسافت‬‫تریگر‬SRF04‫پالس‬ ‫یک‬ ‫باید‬
‫دامنه‬ ‫با‬(‫حداکثر‬)5‫و‬ ‫ولت‬‫پ‬‫پالس‬ ‫هنای‬(‫حداقل‬)10
‫میکروثانیه‬‫کند‬ ‫دریافت‬.‫فرستنده‬ ‫آن‬ ‫از‬ ‫پس‬‫سنسور‬‫به‬ ‫شروع‬
‫ارسال‬8‫پالس‬ ‫سیکل‬‫فراصوت‬‫فرکانس‬ ‫با‬40‫کیلو‬‫هرتز‬‫و‬ ‫کند‬ ‫می‬
‫های‬ ‫پالس‬ ‫منتظر‬‫فراصوت‬‫ماند‬ ‫می‬ ‫بازگشتی‬.‫که‬ ‫وقتی‬‫سنسور‬
‫پایه‬ ،‫داد‬ ‫تشخیص‬ ‫گیرنده‬ ‫طریق‬ ‫از‬ ‫را‬ ‫بازگشتی‬ ‫های‬ ‫پالس‬‫اکو‬
set‫دامنه‬ ‫حداکثر‬ ‫با‬ ‫پالس‬ ‫یک‬ ‫و‬ ‫شود‬ ‫می‬(5‫ولت‬)‫می‬ ‫تولید‬
‫کند‬.‫پالس‬ ‫پهنای‬(‫پالس‬ ‫دوره‬)‫بازگشت‬ ‫و‬ ‫ترک‬ ‫زمان‬ ‫مدت‬ ‫به‬
‫پالس‬‫فراصوت‬‫دارد‬ ‫بستگی‬.‫پهنای‬ ‫باید‬ ‫مسافت‬ ‫آوردن‬ ‫بدست‬ ‫برای‬
‫پایه‬ ‫توسط‬ ‫شده‬ ‫تولید‬ ‫پالس‬‫اکو‬‫شود‬ ‫می‬ ‫گیری‬ ‫اندازه‬.
‫با‬ ‫سنج‬ ‫مسافت‬ ‫طراحی‬‫سنسور‬
HC-SRF04:
‫قطعات‬‫نیاز‬ ‫مورد‬ ‫اصلی‬:
Ultrasonic HC-SR04 Sensor
LCD 2*16
ATmega32 AVR
Microcontroller
‫مدار‬ ‫شمای‬‫در‬‫نرم‬‫افزار‬‫پروتئوس‬:
‫مهم‬ ‫نکته‬:‫مدار‬ ‫سازی‬ ‫شبیه‬ ‫امکان‬‫التراسونیک‬
‫در‬‫پروتئوس‬‫ندارد‬ ‫وجود‬.
‫سنج‬ ‫مسافت‬ ‫ساخت‬ ‫پروژه‬ ‫عکس‬‫التراسونیک‬:
‫الگوریتم‬‫برنامه‬ ‫اجرای‬:
.I‫زمان‬ ‫با‬ ‫پالس‬ ‫یک‬ ‫ابتدا‬20‫به‬ ‫ثانیه‬ ‫میکرو‬‫پایه‬‫تریگر‬‫می‬
‫دهیم‬.
PORTC.0=1;delay_us(20);PORTC.0=0;
.I‫سپس‬‫ماژول‬SRF04،8‫پالس‬ ‫سیکل‬‫فراصوت‬‫ارسال‬ ‫محیط‬ ‫سمت‬ ‫به‬
‫کند‬ ‫می‬.
.II‫میکرو‬ ،‫سوم‬ ‫مرحله‬ ‫در‬‫پالسی‬‫از‬‫پایه‬‫اکو‬‫کند‬ ‫می‬ ‫دریافت‬.
‫فاصله‬ ‫ضرب‬ ‫عملیات‬ ‫انجام‬ ‫و‬ ‫پالس‬ ‫این‬ ‫طول‬ ‫محاسبه‬ ‫با‬‫ماژول‬
‫آید‬ ‫می‬ ‫بدست‬ ‫مانع‬ ‫تا‬.
‫نکته‬1:‫بین‬ ‫دریافتی‬ ‫پالس‬ ‫طول‬100‫و‬ ‫ثانیه‬ ‫میکرو‬18‫میلی‬
‫است‬ ‫ثانیه‬.
‫نکته‬2:‫اگر‬‫از‬ ‫دریافتی‬ ‫پالس‬ ‫طول‬36‫ثانیه‬ ‫میلی‬،‫شد‬ ‫بیشتر‬
‫عملیاتی‬ ‫شعاع‬ ‫درون‬ ‫مانعی‬ ‫هیچ‬ ‫که‬ ‫معناست‬ ‫بدین‬‫سنسور‬‫وجود‬
‫ندارد‬.
‫فاصله‬ ‫محاسبه‬ ‫برای‬‫ماژول‬‫کنیم‬ ‫می‬ ‫عمل‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫مانع‬ ‫تا‬:
‫که‬ ‫مادامی‬‫پایه‬‫اکو‬‫شرط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫است‬ ‫صفر‬while‫میکرو‬
‫می‬ ‫دریافتی‬ ‫پالس‬ ‫منتظر‬ ‫و‬ ‫شود‬ ‫می‬ ‫نهایت‬ ‫بی‬ ‫حلقه‬ ‫یک‬ ‫وارد‬
‫ماند‬.while(PINC.1==0){};
‫شدن‬ ‫یک‬ ‫محض‬ ‫به‬‫پایه‬‫اکو‬(‫پالس‬ ‫دریافت‬)‫میکرو‬‫باال‬ ‫حلقه‬ ‫از‬
‫خارج‬‫شمارش‬ ‫حلقه‬ ‫وارد‬ ‫و‬ ‫شود‬ ‫می‬‫تایمر‬‫شده‬‫و‬‫تایمر‬‫به‬ ‫شروع‬
‫کار‬‫کند‬ ‫می‬( .‫مادامی‬‫که‬‫پایه‬‫اکو‬‫می‬ ‫ادامه‬ ‫شمارش‬ ،‫است‬ ‫یک‬
‫یابد‬).
timer=0;TCNT0=0;TCCR0=0x02; //Clock value: 8 MHz,
Mode: Normal, Clock source: System
while(PINC.1==1){};
‫نتیجه‬ ‫در‬‫فاصله‬(∆𝓍 = 𝒱.∆𝓉)‫حسب‬ ‫بر‬‫متر‬ ‫سانتی‬‫شود‬ ‫می‬ ‫برابر‬
‫با‬:
d=0;d=(timer*256+TCNT0)*1.7;
‫دوباره‬ ‫شدن‬ ‫صفر‬ ‫از‬ ‫پس‬ ‫بالفاصله‬ ‫آخر‬ ‫در‬‫پایه‬‫اکو‬،‫از‬ ‫میکرو‬
‫و‬ ‫شده‬ ‫خارج‬ ‫باال‬ ‫حلقه‬‫تایمر‬‫شود‬ ‫می‬ ‫خاموش‬.TCCR0=0X00
‫نکته‬3:timer‫وقفه‬ ‫دادن‬ ‫رخ‬ ‫بار‬ ‫هر‬ ‫با‬ ‫که‬ ‫است‬ ‫متغیری‬
‫شود‬ ‫می‬ ‫افزوده‬ ‫واحد‬ ‫یک‬ ‫آن‬ ‫مقدار‬ ‫به‬ ،‫سرریز‬( .‫یعنی‬
‫سورس‬‫برنامه‬ ‫کد‬:
#include <mega16.h>
#include <delay.h>
#include <stdlib.h>
#asm
.equ __lcd_port=0x1b
#endasm
#include <lcd.h>
int timer;
float d = 0.0;
char str[20];
interrupt [TIM0_OVF] void timer0_ovf_isr(void){TCNT0=0;timer++;}
void main(void)
{
PORTC=0x00;
DDRC=0x01;
TCCR0=0x02;
TCNT0=0;
TIMSK=0x01;
lcd_init(16);
#asm("sei")
while (1)
{
PORTC.0=1;delay_us(20);PORTC.0=0;
while(PINC.1==0){};
timer=0;TCNT0=0;TCCR0=0x02;
while(PINC.1 == 1){};
TCCR0=0x00;
if(timer*256.0+TCNT0>30000.0){lcd_clear();lcd_gotoxy(0,0);lcd_puts(“n
o object");}
else
{
d=0;d=(timer*256.0+TCNT0)*0.17;
//lcd_clear();sprintf(str,"d = %10fmm",d);lcd_puts(str);delay_ms(150);
lcd_clear();
lcd_gotoxy(0,0);lcd_puts("dis=");
lcd_gotoxy(5,0);ftoa(d,2,str);lcd_puts(str);
lcd_gotoxy(13,0);lcd_puts("cm");
lcd_gotoxy(0,1);lcd_puts(“ultrasonic sensor");
delay_ms(200);
}
}
}
SONIC

SONIC

  • 1.
  • 2.
    ‫فهرست‬ ‫مطالب‬: ‫امواج‬ ‫بر‬ ‫ای‬‫مقدمه‬‫التراسونیک‬ ‫معرفی‬‫سنسور‬‫التراسونیک‬ ‫تاریخچه‬ ‫تکنولوژی‬ ‫کاربرد‬‫التراسونیک‬ ‫مزیت‬/‫ضعف‬‫سنسور‬‫های‬‫التراسونیک‬ ‫برخی‬ ‫معرفی‬‫ماژول‬‫های‬‫التراسونیک‬‫بازار‬ ‫در‬ ‫موجود‬ ‫معرفی‬‫سنسور‬HC-SRF04 ‫فنی‬ ‫مشخصات‬ ‫عملکرد‬ ‫طرز‬‫سنسور‬ ‫با‬ ‫سنج‬ ‫مسافت‬ ‫طراحی‬‫سنسور‬HC-SRF04 ‫الگوریتم‬‫برنامه‬ ‫اجرای‬ ‫سورس‬‫برنامه‬ ‫کد‬
  • 3.
    ‫امواج‬ ‫ر‬‫التراسونیک‬: ‫کلمه‬‫آلتراسونیک‬Ultrasonic‫معنای‬ ‫به‬‫فراصوت‬‫است‬. ‫انسان‬‫شنوایی‬ ‫فرکانس‬ ‫محدوده‬20‫هرتز‬‫تا‬20‫هزار‬ ‫هرتز‬‫است‬.‫امواج‬ ‫فرکانسی‬ ‫محدوده‬‫فراصوت‬40‫کیلو‬ ‫هرتز‬‫چندین‬ ‫تا‬‫مگاهرتز‬‫می‬‫باشد‬.‫امواج‬‫فراصوت‬، ‫تخلیه‬ ،‫لیزر‬ ‫در‬ ‫جمله‬ ‫از‬ ‫فراوانی‬ ‫کاربردهای‬ ‫بار‬ ‫نرخ‬ ‫افزایش‬ ‫و‬ ‫سطحی‬ ‫خواص‬ ‫بهبود‬ ‫برای‬ ‫الکتریکی‬ ‫ظروف‬ ‫دقیق‬ ‫شستشوی‬ ،‫مخزن‬ ‫عمق‬ ،‫فاصله‬ ‫سنجش‬ ،‫برداری‬ ‫مواد‬ ‫کردن‬ ‫همگن‬ ،‫بیمار‬ ‫خون‬ ‫فشار‬ ‫تعیین‬ ،‫آزمایشگاهی‬ ،‫مذاب‬‫جوشکاری‬،‫گری‬ ‫ریخته‬ ،‫جنس‬ ‫هم‬ ‫غیر‬ ‫مواد‬ ‫تراشکاری‬،‫فرزکاری‬،‫سوراخکاری‬‫دارند‬ ‫غیره‬ ‫و‬.
  • 4.
    ‫معرفی‬‫سنسور‬ ‫التراسونیک‬: ‫کار‬ ‫اساس‬‫حسگرهای‬‫فراصوت‬‫مشابه‬‫رادار‬‫یا‬‫ردیاب‬ ‫بازتاب‬ ‫تحلیل‬‫طریق‬ ‫از‬ ‫هدف‬ ‫های‬ ‫ویژگی‬ ‫تشخیص‬ ،‫صوتی‬ ‫صوتی‬ ‫یا‬ ‫رادیویی‬ ‫امواج‬‫باشد‬‫می‬.‫حسگرهای‬‫فراصوت‬ ‫ایجاد‬ ‫باال‬ ‫فرکانس‬ ‫با‬ ‫صوتی‬ ‫امواج‬‫کنند‬‫می‬‫موج‬ ‫و‬ ‫تحلیل‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫شده‬ ‫بازتاب‬‫کنند‬‫می‬.‫این‬‫حسگرها‬ ‫گرفتن‬ ‫و‬ ‫سیگنال‬ ‫فرستادن‬ ‫بین‬ ‫زمان‬ ‫محاسبه‬ ‫با‬ ‫محاسبه‬ ‫را‬ ‫جسم‬ ‫فاصله‬ ،‫بازتاب‬‫کنند‬‫می‬.
  • 5.
    ‫فناوری‬ ‫این‬ ‫از‬‫توان‬‫می‬‫در‬‫گیری‬‫اندازه‬‫و‬‫سرعت‬‫جهت‬ ‫باد‬‫کرد‬ ‫استفاده‬ ‫مخزن‬ ‫یک‬ ‫بودن‬ ‫پر‬ ‫میزان‬ ‫یا‬.‫برای‬ ‫گیری‬‫اندازه‬‫چندین‬ ‫از‬ ‫دستگاه‬ ‫یک‬ ،‫جهت‬ ‫و‬ ‫سرعت‬ ‫استفاده‬ ‫گیرنده‬‫کند‬‫می‬‫روی‬ ‫از‬ ‫و‬‫فاصله‬‫آنها‬ ‫نسبی‬ ‫اندازه‬ ‫را‬ ‫سرعت‬‫گیرد‬‫می‬.‫برای‬‫گیری‬‫اندازه‬‫میزان‬ ‫مایع‬ ‫سطح‬ ‫از‬ ‫فاصله‬ ‫کافیست‬ ‫نیز‬ ‫مخزن‬ ‫یک‬ ‫داخل‬ ‫مایع‬ ‫شود‬ ‫گرفته‬ ‫اندازه‬.‫شامل‬ ‫دیگر‬ ‫های‬ ‫کاربرد‬‫ردیابهای‬ ‫صوتی‬(sonar)،‫بخورها‬((humidifier،‫سونوگرافی‬‫فراصوت‬، ‫سنسور‬‫و‬ ‫پارک‬‫دزدگیرها‬‫شود‬‫می‬.
  • 6.
    ‫و‬ ‫فرستنده‬ ‫از‬‫معمول‬ ‫طور‬ ‫به‬‫هایی‬‫گیرنده‬‫استفاده‬ ‫شود‬‫می‬‫امواج‬ ‫صوتی‬ ‫به‬ ‫الکتریکی‬ ‫انرژی‬ ‫تبدیل‬ ‫با‬ ‫که‬ ‫از‬ ‫باالتر‬ ‫صوتی‬۲۰‫کیلوهرتز‬‫ایجاد‬‫کنند‬‫می‬‫با‬ ‫و‬ ‫انرژی‬ ‫به‬ ‫دیگر‬ ‫بار‬ ‫را‬ ‫صوت‬ ‫امواج‬ ‫بازتاب‬ ‫دریافت‬ ‫تبدیل‬ ‫الکتریکی‬‫کنند‬‫می‬‫قابل‬ ‫تا‬‫گیری‬‫اندازه‬‫و‬ ‫باشند‬ ‫نمایش‬.‫شکلهای‬ ‫فناوری‬ ‫این‬ ‫عمده‬ ‫مشکالت‬ ‫است‬ ‫مواد‬ ‫غلظت‬ ‫یا‬ ‫چگالی‬ ‫و‬ ‫اجسام‬ ‫سطوح‬ ‫گوناگون‬. ‫عمل‬ ‫این‬ ‫مایع‬ ‫یک‬ ‫سطح‬ ‫در‬ ‫کف‬ ‫وجود‬ ‫مثال‬ ‫عنوان‬ ‫به‬ ‫مختل‬ ‫را‬‫کند‬‫می‬.
  • 7.
    ‫تاریخ‬ ‫چه‬:‫تاریخچه‬‫این‬‫سنسور‬‫سال‬ ‫به‬1912 ‫کشتی‬ ‫شدن‬‫غرق‬ ‫از‬ ‫بعد‬ ‫و‬ ‫میالدی‬ ‫تایتانیک‬‫گردد‬ ‫می‬ ‫بر‬. ‫شدن‬ ‫غرق‬ ‫از‬ ‫بعد‬‫تایتانیک‬ ‫راه‬ ‫دنبال‬ ‫به‬ ‫دانشمندان‬‫حلی‬ ‫فاجعه‬ ‫این‬ ‫نشدن‬ ‫تکرار‬ ‫برای‬ ‫کشتی‬ ‫کاپیتان‬ ‫اگر‬ ‫که‬ ،‫افتادند‬ ‫جلو‬ ‫دیدن‬ ‫به‬ ‫قادر‬ ‫دلیلی‬ ‫هر‬ ‫به‬ ‫دهنده‬ ‫هشدار‬ ‫ای‬ ‫وسیله‬ ‫نبود‬ ‫کشتی‬ ‫سازد‬ ‫مطلع‬ ‫مانع‬ ‫وجود‬ ‫از‬ ‫را‬ ‫او‬. ‫سال‬ ‫در‬1912‫آقای‬ ‫میالدی‬L F Richartson‫و‬ ‫طبیعت‬ ‫از‬ ‫الهام‬ ‫با‬ ‫از‬ ‫استفاده‬‫مسیریابی‬‫خفاشها‬
  • 8.
  • 9.
    ‫شناسایی‬ ‫بتن‬ ‫درون‬/‫فلزات‬ ‫در‬ ‫موجود‬‫خارجی‬ ‫مواد‬ ‫غذایی‬ ‫مواد‬ ‫پوستی‬ ‫زیر‬ ‫چربی‬ ‫ضخامت‬ /‫عضالت‬ ‫ها‬ ‫ارگان‬(‫بافت‬) ‫جنین‬(‫باردار‬ ‫زنان‬)
  • 11.
  • 13.
  • 15.
    ‫مزیت‬/‫ضعف‬‫سنسور‬‫های‬ ‫التراسونیک‬: ‫با‬ ‫تماس‬ ‫بدون‬‫تشخیص‬ ‫جسم‬ ‫پاسخ‬‫سنسور‬‫وابسته‬ ‫شفافیت‬ ،‫رنگ‬ ‫به‬ ‫اشیاء‬‫انعکاس‬ ‫خواص‬ ، ‫سطح‬ ‫بافت‬ ‫یا‬ ‫و‬ ‫نوری‬ ‫نیست‬ ‫جسم‬ ‫سنسور‬‫التراسونیک‬‫می‬ ‫شرایط‬ ‫در‬ ‫تواند‬ ‫و‬ ‫خاک‬ ‫مانند‬ ‫بحرانی‬ ‫کند‬ ‫کار‬ ‫غبار‬ ‫و‬ ‫گرد‬ ‫کوچک‬ ‫حتی‬ ‫دقیق‬ ‫تشخیص‬ ‫اجسام‬ ‫ترین‬ ‫مزی‬ ‫ت‬
  • 16.
    ‫این‬‫سنسور‬‫فاصله‬ ‫یک‬ ‫دارای‬ ‫که‬‫باشد‬ ‫می‬ ‫حداقل‬ ‫سنجش‬ ‫انتخاب‬ ‫زمان‬ ‫باید‬‫سنسور‬، ‫شود‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫می‬ ‫محیط‬ ‫در‬ ‫تغییرات‬ ‫برخی‬ ‫پاسخ‬ ‫تواند‬‫حسگر‬‫تحت‬ ‫را‬ ‫دهد‬ ‫قرار‬ ‫تاثیر‬(‫مثل‬: ‫و‬ ‫دما‬ ،‫رطوبت‬)... ‫دقیق‬ ‫پاسخ‬ ‫برای‬‫سنسور‬ ‫باال‬ ‫چگالی‬ ‫با‬ ‫سطحی‬ ‫باید‬ ‫ببیند‬ ‫را‬.‫نرم‬ ‫سطح‬ ‫یک‬ ‫مانند‬‫فوم‬‫دارای‬ ‫پارچه‬ ‫و‬ ‫جذب‬ ‫قابلیت‬ ‫و‬ ‫کم‬ ‫چگالی‬ ‫شده‬ ‫منتشر‬ ‫صوتی‬ ‫امواج‬ ‫توسط‬‫سنسور‬‫باشد‬ ‫می‬ ‫نادرستی‬ ‫پاسخ‬ ‫تواند‬ ‫می‬ ‫بلند‬ ‫صداهای‬ ‫از‬ ‫برخی‬ ‫برای‬ ‫باشد‬ ‫داشته‬ ‫ضعف‬
  • 17.
  • 18.
    SRF02 •‫دارای‬‫الگوریتم‬ ‫تنظیم‬ ‫جهت‬ ‫هوشمند‬ ‫سنسور‬‫کسب‬‫برای‬ ‫دقت‬ ‫بهترین‬ •‫به‬ ‫زمان‬ ‫تبدیل‬ ‫قابلیت‬ ‫های‬ ‫واحد‬‫مسافت‬ •‫و‬ ‫سلایر‬ ‫اتصال‬I2C •‫کاربرد‬‫در‬ ‫گسترده‬ ‫رباتیک‬‫دقت‬ ‫دلیل‬ ‫به‬ ‫اندازه‬ ‫و‬ ‫باال‬ SRF05 •‫آسان‬ ‫کاربرد‬ •‫قیمت‬‫پایین‬ •‫پایه‬ ‫وجود‬out •‫قابلیت‬‫استفاده‬ ‫مد‬ ‫دو‬ ‫در‬‫کاری‬ •‫سیگنال‬ ‫خروجی‬ ‫آنالوگ‬‫سینوسی‬ SRF08 •‫دقت‬ ‫تنظیم‬ ‫قابلیت‬ ‫گیری‬ ‫اندازه‬ •‫دارای‬‫سنسور‬‫نوری‬ •‫به‬ ‫زمان‬ ‫تبدیل‬ ‫قابلیت‬ ‫مسافت‬ ‫های‬ ‫واحد‬ •‫باال‬ ‫برد‬ •‫اتصال‬I2C •‫در‬ ‫گسترده‬ ‫کاربرد‬ ‫رباتیک‬‫دقت‬ ‫دلیل‬ ‫به‬ ‫باال‬
  • 19.
    ‫معرفی‬‫سنسور‬HC-SRF04: ‫سنسور‬‫التراسونیک‬HC-SR04‫مانند‬ ‫و‬ ‫ها‬ ‫خفاش‬‫دولفین‬‫امواج‬‫از‬ ‫ها‬ ‫فراصوت‬‫فاصله‬ ‫گیری‬ ‫اندازه‬ ‫برای‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫اشیا‬ ‫تا‬.‫این‬ ‫سنسور‬‫بدون‬ ‫و‬ ‫دقیق‬ ‫سنجی‬ ‫فاصله‬ ‫یک‬ ‫در‬ ‫را‬ ‫تماس‬‫پکیج‬‫به‬ ‫ساده‬ ‫دهد‬ ‫می‬ ‫ارائه‬ ‫کاربر‬. ‫این‬ ‫دامنه‬‫سنسور‬‫بین‬2‫تا‬400 ‫به‬ ‫آن‬ ‫عملکرد‬ ‫و‬ ‫بوده‬ ‫متر‬ ‫سانتی‬ ‫اشیا‬ ‫رنگ‬ ‫یا‬ ‫و‬ ‫خورشید‬ ‫نور‬ ‫وسیله‬ ‫قرار‬ ‫تاثیر‬ ‫تحت‬‫نمی‬‫گیرد‬. ‫ماژول‬‫این‬‫سنسور‬‫گیرنده‬ ‫همراه‬ ‫به‬
  • 20.
    ‫فنی‬ ‫مشخصات‬: ‫تغذیه‬ ‫منبع‬:5+‫ولت‬‫مستقیم‬‫جریان‬ ‫تغذیه‬ ‫جریان‬:15‫آمپر‬ ‫میلی‬ ‫برد‬:2-400‫متر‬ ‫سانتی‬ ‫دقت‬:0/3‫متر‬ ‫سانتی‬ ‫گیری‬ ‫اندازه‬ ‫زاویه‬:30‫درجه‬ ‫پالس‬ ‫عرض‬‫تریگر‬‫ورودی‬:10‫میکروثانیه‬ ‫خروجی‬:‫سیگنال‬‫سینوسی‬ ‫ابعاد‬:15*20*40‫متر‬ ‫میلی‬ ‫ها‬ ‫پایه‬:Vcc,trig,echo,gnd
  • 21.
    +5VDC GND Trigger inputof sensor Echo output of sensor ‫عملکرد‬ ‫بهترین‬‫سنسور‬‫زاویه‬ ‫در‬30‫باشد‬ ‫می‬
  • 22.
    ‫عملکرد‬ ‫طرز‬‫سنسور‬: ‫گیری‬ ‫اندازه‬‫شروع‬ ‫برای‬‫پایه‬ ،‫مسافت‬‫تریگر‬SRF04‫پالس‬ ‫یک‬ ‫باید‬ ‫دامنه‬ ‫با‬(‫حداکثر‬)5‫و‬ ‫ولت‬‫پ‬‫پالس‬ ‫هنای‬(‫حداقل‬)10 ‫میکروثانیه‬‫کند‬ ‫دریافت‬.‫فرستنده‬ ‫آن‬ ‫از‬ ‫پس‬‫سنسور‬‫به‬ ‫شروع‬ ‫ارسال‬8‫پالس‬ ‫سیکل‬‫فراصوت‬‫فرکانس‬ ‫با‬40‫کیلو‬‫هرتز‬‫و‬ ‫کند‬ ‫می‬ ‫های‬ ‫پالس‬ ‫منتظر‬‫فراصوت‬‫ماند‬ ‫می‬ ‫بازگشتی‬.‫که‬ ‫وقتی‬‫سنسور‬ ‫پایه‬ ،‫داد‬ ‫تشخیص‬ ‫گیرنده‬ ‫طریق‬ ‫از‬ ‫را‬ ‫بازگشتی‬ ‫های‬ ‫پالس‬‫اکو‬ set‫دامنه‬ ‫حداکثر‬ ‫با‬ ‫پالس‬ ‫یک‬ ‫و‬ ‫شود‬ ‫می‬(5‫ولت‬)‫می‬ ‫تولید‬ ‫کند‬.‫پالس‬ ‫پهنای‬(‫پالس‬ ‫دوره‬)‫بازگشت‬ ‫و‬ ‫ترک‬ ‫زمان‬ ‫مدت‬ ‫به‬ ‫پالس‬‫فراصوت‬‫دارد‬ ‫بستگی‬.‫پهنای‬ ‫باید‬ ‫مسافت‬ ‫آوردن‬ ‫بدست‬ ‫برای‬ ‫پایه‬ ‫توسط‬ ‫شده‬ ‫تولید‬ ‫پالس‬‫اکو‬‫شود‬ ‫می‬ ‫گیری‬ ‫اندازه‬.
  • 23.
    ‫با‬ ‫سنج‬ ‫مسافت‬‫طراحی‬‫سنسور‬ HC-SRF04: ‫قطعات‬‫نیاز‬ ‫مورد‬ ‫اصلی‬: Ultrasonic HC-SR04 Sensor LCD 2*16 ATmega32 AVR Microcontroller
  • 24.
    ‫مدار‬ ‫شمای‬‫در‬‫نرم‬‫افزار‬‫پروتئوس‬: ‫مهم‬ ‫نکته‬:‫مدار‬‫سازی‬ ‫شبیه‬ ‫امکان‬‫التراسونیک‬ ‫در‬‫پروتئوس‬‫ندارد‬ ‫وجود‬.
  • 25.
    ‫سنج‬ ‫مسافت‬ ‫ساخت‬‫پروژه‬ ‫عکس‬‫التراسونیک‬:
  • 26.
    ‫الگوریتم‬‫برنامه‬ ‫اجرای‬: .I‫زمان‬ ‫با‬‫پالس‬ ‫یک‬ ‫ابتدا‬20‫به‬ ‫ثانیه‬ ‫میکرو‬‫پایه‬‫تریگر‬‫می‬ ‫دهیم‬. PORTC.0=1;delay_us(20);PORTC.0=0; .I‫سپس‬‫ماژول‬SRF04،8‫پالس‬ ‫سیکل‬‫فراصوت‬‫ارسال‬ ‫محیط‬ ‫سمت‬ ‫به‬ ‫کند‬ ‫می‬. .II‫میکرو‬ ،‫سوم‬ ‫مرحله‬ ‫در‬‫پالسی‬‫از‬‫پایه‬‫اکو‬‫کند‬ ‫می‬ ‫دریافت‬. ‫فاصله‬ ‫ضرب‬ ‫عملیات‬ ‫انجام‬ ‫و‬ ‫پالس‬ ‫این‬ ‫طول‬ ‫محاسبه‬ ‫با‬‫ماژول‬ ‫آید‬ ‫می‬ ‫بدست‬ ‫مانع‬ ‫تا‬. ‫نکته‬1:‫بین‬ ‫دریافتی‬ ‫پالس‬ ‫طول‬100‫و‬ ‫ثانیه‬ ‫میکرو‬18‫میلی‬ ‫است‬ ‫ثانیه‬. ‫نکته‬2:‫اگر‬‫از‬ ‫دریافتی‬ ‫پالس‬ ‫طول‬36‫ثانیه‬ ‫میلی‬،‫شد‬ ‫بیشتر‬ ‫عملیاتی‬ ‫شعاع‬ ‫درون‬ ‫مانعی‬ ‫هیچ‬ ‫که‬ ‫معناست‬ ‫بدین‬‫سنسور‬‫وجود‬ ‫ندارد‬.
  • 28.
    ‫فاصله‬ ‫محاسبه‬ ‫برای‬‫ماژول‬‫کنیم‬‫می‬ ‫عمل‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫مانع‬ ‫تا‬: ‫که‬ ‫مادامی‬‫پایه‬‫اکو‬‫شرط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫است‬ ‫صفر‬while‫میکرو‬ ‫می‬ ‫دریافتی‬ ‫پالس‬ ‫منتظر‬ ‫و‬ ‫شود‬ ‫می‬ ‫نهایت‬ ‫بی‬ ‫حلقه‬ ‫یک‬ ‫وارد‬ ‫ماند‬.while(PINC.1==0){}; ‫شدن‬ ‫یک‬ ‫محض‬ ‫به‬‫پایه‬‫اکو‬(‫پالس‬ ‫دریافت‬)‫میکرو‬‫باال‬ ‫حلقه‬ ‫از‬ ‫خارج‬‫شمارش‬ ‫حلقه‬ ‫وارد‬ ‫و‬ ‫شود‬ ‫می‬‫تایمر‬‫شده‬‫و‬‫تایمر‬‫به‬ ‫شروع‬ ‫کار‬‫کند‬ ‫می‬( .‫مادامی‬‫که‬‫پایه‬‫اکو‬‫می‬ ‫ادامه‬ ‫شمارش‬ ،‫است‬ ‫یک‬ ‫یابد‬). timer=0;TCNT0=0;TCCR0=0x02; //Clock value: 8 MHz, Mode: Normal, Clock source: System while(PINC.1==1){}; ‫نتیجه‬ ‫در‬‫فاصله‬(∆𝓍 = 𝒱.∆𝓉)‫حسب‬ ‫بر‬‫متر‬ ‫سانتی‬‫شود‬ ‫می‬ ‫برابر‬ ‫با‬: d=0;d=(timer*256+TCNT0)*1.7; ‫دوباره‬ ‫شدن‬ ‫صفر‬ ‫از‬ ‫پس‬ ‫بالفاصله‬ ‫آخر‬ ‫در‬‫پایه‬‫اکو‬،‫از‬ ‫میکرو‬ ‫و‬ ‫شده‬ ‫خارج‬ ‫باال‬ ‫حلقه‬‫تایمر‬‫شود‬ ‫می‬ ‫خاموش‬.TCCR0=0X00 ‫نکته‬3:timer‫وقفه‬ ‫دادن‬ ‫رخ‬ ‫بار‬ ‫هر‬ ‫با‬ ‫که‬ ‫است‬ ‫متغیری‬ ‫شود‬ ‫می‬ ‫افزوده‬ ‫واحد‬ ‫یک‬ ‫آن‬ ‫مقدار‬ ‫به‬ ،‫سرریز‬( .‫یعنی‬
  • 29.
    ‫سورس‬‫برنامه‬ ‫کد‬: #include <mega16.h> #include<delay.h> #include <stdlib.h> #asm .equ __lcd_port=0x1b #endasm #include <lcd.h> int timer; float d = 0.0; char str[20]; interrupt [TIM0_OVF] void timer0_ovf_isr(void){TCNT0=0;timer++;}
  • 30.
  • 31.
    if(timer*256.0+TCNT0>30000.0){lcd_clear();lcd_gotoxy(0,0);lcd_puts(“n o object");} else { d=0;d=(timer*256.0+TCNT0)*0.17; //lcd_clear();sprintf(str,"d =%10fmm",d);lcd_puts(str);delay_ms(150); lcd_clear(); lcd_gotoxy(0,0);lcd_puts("dis="); lcd_gotoxy(5,0);ftoa(d,2,str);lcd_puts(str); lcd_gotoxy(13,0);lcd_puts("cm"); lcd_gotoxy(0,1);lcd_puts(“ultrasonic sensor"); delay_ms(200); } } }