بریم بسازیم

دراین سایت ما ساختنی های جالبی داریم

بریم بسازیم

دراین سایت ما ساختنی های جالبی داریم

لطفابه وبلاگ ما سربزنید و انتقاد کنید.

بایگانی

عصای سفید الکترونیکی با سنسور اولتراسونیک برای پیاده روی نابینایان

 
 
سید علی طلاکش
حدود ۳۰ میلیون نفر از مردم جهان نابینا هستند. این افراد عموما به دیگران وابسته اند و توانایی پیاده روی به تنهایی را ندارند. ما تصمیم داریم در این ساختنی با استفاده از اولتراسونیک عصای سفید الکترونیکی طراحی کرده و بسازیم که این افراد بتوانند با کمک این وسیله به راحتی و به طور مستقل پیاده روی کنند. برای راحتی کار، ما تنها از یک سنسور در این پروژه استفاده کردیم. برای جواب دقیق تر و بهتر دو یا سه سنسور می تواند استفاده شود. در پایان این عصای سفید الکترونیکی برای پیاده روی نابینایان بسیار کاربردی است. هدف اصلی از این پروژه ساختنی کمک به پیاده روی نابینایان و هشدار دادن به آنها در هنگام نزدیک شدن به یک مانع مانند خود مردم یا دیگر اشیا می باشد. هنگام دریافت سیگنال هشدار، یه بلندگو که به مدار متصل شده است که فرکانس صوت آن متناسب با تغییر فاصله از مانع تغییر می کند. در فاصله نزدیک به برخورد با مانع، فرکانس تعداد بوقی که از بلندگو شنیده می شود بیشتر می شود. می توان گفت که فرکانس بوق با میزان فاصله از مانع متناسب است. تجهیز اصلی که برای این وسیله از آن استفاده می شود سنسور اولتراسونیک (Ultrasonic Sensor) می باشد. سنسور اولتراسونیک پالس صدایی را با فرکانس بالا می فرستد و سپس زمان برگشت این سیگنال که ناشی از بازتاب صدا است را محاسبه می کند. حسگر یا سنسور دارای دو قسمت دایره ای شکل است. یکی از انها به عنوان فرستند موج آلتراسونیک را می فرستد.و دیگری به عنوان گیرنده (مانند یک میکروفن کوچک) است و سیگنال برگشت را دریافت می کند. سنسور براساس سرعت صوت در فضا کالیبره می شود.با کمک این کالیبره، از تفاضل بین پالس صوتی فرستاده شده و دریافت شده برای محاسبه فاصله تا جسم استفاده می شود. این مدار توسط تغذیه نه ولت متصل به کلید تغذیه می شود.

تجهیزات مورد استفاده

قطعه مشخصات تعداد
آردوینو Nano ۱
سنسور آلتراسونیک HC-SR04 ۱
بوق ۵ Volt ۱
سوئیچ DPDT ۱
باتری ۹Volt ۱
در این مدار از یک آردوینو نانو به عنوان پلتفرم استفاده شده است.سنسور اولتراسونیک به آردوینو متصل شده است. سنسور اولتراسونیک ۴ پایه دارد:
  • Vcc یا ۵ ولت که به پین ۵ ولت آردوینو متصل می شود.
  • Trigger که به پین D12 آردوینو متصل می شود.
  • پین echo که به پایه ۱۱ آردوینو متصل می شود.
  • Ground که به پایه GND آرینو متصل می شود.
ترمینال مثبت ۹ ولت باتری به توسط یک سوییچ DPDT به پایه Vin آردوینو متصل می شود و ترمینال منفی به پین GND آردوینو متصل می شود. و بلندگو نیز به پایه های D9 و GND آردوینو متصل می شود. کل پروژه در نرم افزار Eagle طراحی شده است. این مدار را می توان برای تست بر روی یک برد بورد یا بورد هزار سوراخ بست. شماتیک مدار و طراحی PCB در زیر آورده شده است.

کارکرد مدار کمک برای پیاده روی نابینایان

همانطور که در تصویر بالا نشان داده شده، دو قسمت در سنسور آلتراسونیک وجود دارد، اولین قسمت فرستنده، و دومین قسمت گیرنده. سنسور آلتراسونیک پالس های فرکانس بالایی را می فرستد، این پالس ها توسط شی برگشت داده می شوند و و به عنوان Echo دریافت می شوند، تفاوت زمانی بین echo و Trig به وسیله میکرو کنترلر یا آردوینو اندازه گیری می شود که این مقدار با فاصله متناسب است. سرعت صوت در هوا ۳۴۱ متر بر ثانیه است، و فاصله بین سنسور و جسم برابر است با حاصلضرب زمان در سرعت صوت تقسیم بر ۲٫

Distance = (Time * Speed Of Sound) ÷ ۲

  بعد از اندازه گیری فاصله، آردوینو توسط یک بلندگو تولید صدا می کند، زمانی که فاصله زیاد هست، فرکانس برق زدن پایین است و هنگامی که فرکانس بالاستکه که فاصله بسیار کم باشد.برد آلتراسونیک HC-05 چندان بلند نیست و در فضای باز تنها قابلیت اندازه گیری ۵ سانتی متر را دارد. برای افاصله ای بیشتر سنسور های قدرتمند دیگری در بازار وجود دارد.

کدهای برنامه عصای سفید الکترونیکی

فایل کدها در لینک بالا داده شده است، تنها این فایل را دانلود کنید(گذرواژه: saakhtani.ir) و در آردوینو اپلود نمایید. در کد، از یک کتابخانه با نام Ultrasonic.h استفاده شده است.این کتابخانه به صورت پیش فرض در آردوینو وجود ندارد. برای اضافه کردن این کتابخانه به آردوینو می بایست، فایل zip ان را از این لینک دانلود نمایید. فایل را از حالت فشرده خارج نمایید و فولدر را از داخل پوسه اکسترکت شده کپی کرده در فولدر که درسیستم ما در آدرس PC > Document > Arduino > libraries است Paste نمایید. در خط اول کد، کتابخانه آلتراسونیک توسط #include <Ultrasonic.h> شناخته شده است. در خط دوم، پین های آلتراسونیک توسط دستور Ultrasonic ultrasonic(12,11) به برنامه شناسانده شده که پین ۱۱ Echo آردوینو و ۱۲ Trig است. بعد از آن یک integer با نام buzzer=9 در برنامه تعریف شده که در اینجا ۹ همان پین D9 آردوینو است. در void loop یک integer با نام distance تعریف شده که مقدار آن برابر با فاصله اندازه گیری شده به وسیله سنسور آلتراسونیک. برای مسافت اندازه گیری شده فانکشن ultrasonic.Ranging(CM) استفاده شده است. این فانکشن مقدار فاصله را در واحد سانتی متر اندازه گیری می کند. حالا ما می خواهیم یک سیگنال بوق درست کنیم برای هنگامی که فاصله کمتر از ۵۰ سانتی متر شود، بنابراین دستور if به صورت if(distance<50) استفاده می شود.هنگامی که این شرط در آردوینو برقرار باشد،آردوینو dil را اندازه گیری می کند که برابر با ۲*distance است.متغیر dil یک integer است و دریک خط همانند قبل تعریف می شود. حالا توسط دستور digitalWrite(buzzer,HIGH) بلندگو روشن می شود و بعد از طی شدن زمان تاخیر dil بلندگو مشابه دستور قبل خاموش می شود. digitalWrite(buzzer,LOW) بعد از این دستور تمام تاخیر dil توسط دستور delay(dil) اعمال می شود. منبع
  • محمدعرفان میرزایی پور

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی