آردوینو آموزش آردوینو پروژه های آردوینو

طراحی و پیاده سازی پروژه هشدار دنده عقب و اوتولایت با آردوینو

نوشته شده توسط معین صابری

برد آردویینو، یکی از ابزارهای مهم پردازشی در پروژه های مختلف به حساب می آید. از این برد در نمونه سازی اولیه، آموزش و حتی محصول نهایی نیز استفاده می شود. راه اندازی این برد بسیار ساده بوده و استفاده از آن سبب کاهش زمان تست و تولید خواهد شد. از طرفی یدگر، این برد تقیریبا از تمام سنسورهای موجود در بازار پشتیبانی می کند. با توجه به وجود کتابخانه های مختلف برای راه اندازی سنسورها با آردویینو، زمان طراحی، تست و توسعه به شدت کاهش خواهد یافت. در این آموزش به کمک سنسور فاصله سنج و شدت نور، به طراحی سیستمی کاربری در خودرهای سواری خواهیم پرداخت. به کمک این پروژه، حین دنده عقب از طریق هشدار صوتی از فاصله تا اجسام، آگاه خواهید شد. همچنین، در هنگام کاهش نور، به عنوان مثال هنگام ورود به تونل، چراغ های خودرو به طور خودکار روشن می شوند.   در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


اوتولایت یا هشدار دهنده صوتی


نقاط کور رانندگی، یکی زا چالش های مهم برای رانندگان به شمار می رود. این نقاط که از دید راننده پنهان هستند، می توانند باعث ایجاد صدمه به افراد و یا خودروهای دیگر شوند. یکی از نقاط کور رانندگان، در حین حرکت رو به عقب ظاهر می شود. در حرکت رو به عقب، رانندگی دید کافی از اجسام خودروهای پشت سری نداشته و این موضوع می تواند سبب ایجاد صدمه به خودروهای پارک شده شود. تصویر زیر نمایی ظاهری از زاویه دید این سنسور، نشان می دهد.

Design and implement rear gear and autolite warning with Arduino

 

از دیگر ابزارهای کاربردی خودرورها، می توان به سیستم اوتولایت اشاره نمود. سیستم اوتولایت یا فال سازی نور خودکار، وظیفه فعال سازی هوشمندد چراغ های خودرو را بر عهده دارد. به عنوان مثال، با ورود به مکان های تاریک نظیر تونل ها، این سیستم به طور خودکار، چراغ های خودروو را فعال می نماید. پس از خروج از تونل و یا محیط های کم نور، چراغ های خودرو نیز به طور خودکار، خاموش خواهند شد.

 


سنسور فاصله سنج SRF05


سنسور فاصله سنج SRF05، یک سنسور اندازه گیری فاصله تا اجسام از نوع التراسونیک است. سازو کار کلی این سنور این است که ابتدا یک موج از التراسونیک را منتشر کرده و سپس منتظر برخورد و انعکاس موج ارسال شده می شود. با اندازه گیری زمان و سرعت صوت، فاصله نیز محاسبه خواهد شد. در این پروژه نیز به منظور تشخیص فاصله خودرو تا اجسام، از این سنسور استفاده می کنیم. این سنسور داده های خود را  به برد آردویینو ارسال کرده و اردویینو با محاسبه فاصله، هشدار صوتی را از طریق بلندگوی بیزر، پخش خواهد کرد.

 implement rear gear and autolite warning with Arduino

 


ماژول بیزر Buzzer


ماژول بیزر، یکی از ماژول های پرکاربرد در پخش آلارم به شمار می رود. از این ماژول در سیستم های مختلف نظیر هشدار اتمام کارکرد یک دستگاه، هشدار ایجاد خرابی در یک دستگاه و حتی ساعت های دیجیتالی می توان استفاده نمود. این ماژول به سادگی به آردویینو متصل شده و می تواند با فرمان آردویینو، بوق مورد نظر را پخش کند.

autolite warning with Arduino

 

در این پروژه نیز برای ایجاد صدای الارم در حین حرکت رو به عقب، از این ماژول استفاده می کنیم. با محاسبه فاصله به کمک سنسور SRF05، فرکانس پخش صدا از طریق این ماژول تغییر میکند. بر این اساس، هرچه فاصله نیزدیکتر شده، صدای تکرار بوق بیشتر می شود. با دور شدن از اجسام، فرکانس پخش صدای بوق و یا تکرار صدای بوق(BEEP) کمتر می شود. چنانچه فاصله از حد مجاز کمتر شود، بوق به صورت ممتد پخش خواهد شد.


سنسور شدت نور BH1750


 سیستم اوتولایت با بررسیی میزان نور محیط، چنانچه نور از یک حد کمتر شوذ، چراغ های خودرو را فعال می کند. در این آموزش ما از این سنسور جهت اندازه گیری نور و تصمیم فعال سازی چراغ های خودرو توسط آردوینو، استفاده می کنیم. سنسور شدت نور BH1750، یک سنسور اندازه گیری نوری بر مبنای LUX با خروجی دیجیتال ۱۶ بیتی است. این سنسور با سنجش میزان نور، شدت نور دریافتی را به صورت یک عدد بین ۰ الی ۶۵۵۳۵ تحویل می دهد. هر چه میزان نور اندازه گیری شده بیشتر باشد، این عدد نیز بیشتر است. به طور مشابه با کاهش میزان نور، این عدد کم می شود.

BH1750 module

 


ماژول رله


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

relay module

 

در این پروژه، جهت فعال سازی چراغ های خودرو به صورت هوشمند می بابست از رله استفاده کنید. انتخاب رله مناسب، با توجه به حداکثر جریان قابل تحمل رله و توان لامپ، صورت می گیرد.

 


برد آردویینو UNO


هسته پردازشی پروژه هشدار دهنده دنده عقب و اوتولایت، برد آردویینو UNO است. در این پروژه، سنسور فاصله سنج SR05 وظیفه ارسال داده های مربوط به فاصله را به آردویینو، بر عهده دارد. از طرف دیگر، سنسور شدت نور BH1750 میزان نور را بر اساس لوکس به آردویینو اعلام می کند. برد آردویینو UNO به عنوان پردازنده مرکزی، با دریافت این اطلاعات، در صورت لزوم، فرامین لازم را صادر می کند. این فرامین مربوط به فعال سازی چراغ های خودرو در صورت کاهش نور و پخش صدای آلارم بوق دنده عقب است.

Arduino UNO

 


نصب کتابخانه BH1750


جهت استفاده از سنسور شدت نوردر ابتدا می بایست کتابخانه آن را نصب نماییم. برای این منظور، در نرم افزار آردویینو، بر روی گزینه Tools و سپس عبارت Manage Libraries، مطابق تصویر زیر کلیک کنید.

 

در منوی ظاهر شده، عبارت BH1750 را در کادر جست و جو، وارد نموده و گزینه مشخص شده با کادر قرمز رنگ در تصویر زیر را انتخاب نمایید.

 


شماتیک و اتصالات پروژه


در این قسمت به بررسی شماتیک و اتصالات مدار می پردازیم. در ابتدا، به شمای کلی مدار مطابق تصویر زیر، توجه نمایید.

implement rear gear and autolite warning schematic

 

برای اتصالات مدار فوق، مرحله به مرحله اتصالات را شرح می دهیم. در ابتدا، سنسور شدت نور را به صورت زیر، سیم کشی کنید.

اتصال پایه GND سنسور شدت نور به پایه GND آردویینو

اتصال پایه VCC سنسور شدت نور به پایه ۵ ولت آردویینو

اتصال پایه SCL سنسور شدت نور به پایه SCL آردویینو

اتصال پایه SDA سنسور شدت نور به پایه SDA آردویینو

 

در ادامه، سنسور فاصله سنج را نیز به صورت زیر، سیم کشی کنید.

اتصال پایه VCC به پایه ۵V آردویینو

اتصال پایه GND به یکی از پایه های GND آردویینو

اتصال پایه TRIG سنسور به پایه GPIO13 آردویینو

اتصال پایه ECHO سنسور به پایه GPIO12 آردویینو

 

در این پروژه، می بایست ماژول بیزر و ترانزیستور متصل به آن را به شکل زیر، به آردویینو متصل کنید.

اتصال پایه مثبت بیزر به پایه ۵ ولت آردویینو

اتصال پایه منفی بیزر به پایه کلکتور ترانزیستور

اتصال پایه ۳ آردویینو به صورت سری با یک مقاومت ۱k به پایه بیس ترانزیستور

اتصال پایه امیتر ترانزیستور به GND آردویینو

 

در ادامه، ماژول رله را به صورت زیر، به آردویینو متصل کنید. توجه کنید که ماژول رله متناسب با بار عبوری از آن(توان لامپ) انتخاب می شود.

اتصال پایه VCC ماژول رله به ۵ ولت آردویینو

اتصال پایه GND ماژول رله به پایه GND آردویینو

اتصال پایه IN/SIGNAL ماژول رله به پایه ۶ آردویینو

 

در رابطه با این پروژه، دو کلید، یکی به پایه ۴ و دیگری به پایه ۵ متصل شده است. این کلید ها به ترتیب برای فعال شدن هشدار صوتی زمانیکه دنده خودرو بر روی وضعیت R تنظیم شده و دیگری جهت فعال سازی حالت اوتولایت، تعریف شده است. هردو این کلیدها با مقاومت داخلی آردوینو پول آپ شده اند.

 


کدهای پروژه اوتولایت


در این قسمت کدهای پروژه را مشاهده می کنید. این کدها برای برد آردویینو UNO توسعه یافته اند. بنابراین آن ها را در نرم افزار آردوینو کپی و سپس بر روی برد، آپلود کنید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 


تحلیل پروژه هشدار دنده عقب


در این قسمت به بررسی کدهای پروژه می پردازیم. در کنار کدهای پروژه، توضیحات کامل از هر قسمت به صورت کامنت ارائه شده است. شما با مطالعه توضیحات، به سادگی می توانید به عملکرد سیستم، پی ببرید. بنابراین، در این قسمت به بررسی خلاصه کدها، می پردازیم. در این پروژه، سه تابع زیر، وظیفه اجرای این پروژه را بر عهده می گیرند.

auto_light_operation : این تابع با بررسی میزان نور، چنانچه مقدار آن از سطح مجاز کمتر شود، رله مربوط به لامپ را فعال می کند.

distance_measurement: این تابع فاصله را تا نزدیکترین شی محاسبه کرده و در خروجی خود قرار می دهد.

beep_sound: این تابع متناسب با ورودی دریافتی، صدای آلارم بوق دنده عقب را تنظیم می کند.

 


اجرای پروژه هشدار دنده عقب و اوتولایت


در این قسمت به اجرای این پروژه می پردازیم. همانطور که پیشتر نیز گفته شد، پایه ۴ مخصوص فعال شدن هشدار دنده عقب و پایه ۵ جهت فعال سازی اوتولایت، تعریف شده شده است. در ابتدا، با اتصال پایه هشدار دنده عقب به زمین، این قابلیت فعالیت می شود. سپس با نزدیک کردن دست خود و یا یک جسم به سنسور، می توانید تغییرات صدای بوق را مشاهده کنید.

 

در نهایت، با اتصال پایه مربوط به اوتولایت، این قابلیت فعال می شود. با قرار دادن یک جسم بر روی سنسور نور و کاهش شدت نور، پایه مربوط به اتصال رله، یک خواهد شد.

پروژه اتولایت و سنسور دنده عقب برای خودرو با آردوینو - دیجی اسپارک

 


وسایل مورد نیاز


برد آردویینو UNO

سنسور فاصله سنج SRF05

سنسور شدت نور 

بردبورد و سیم بردبوردی

ترانزیستور

مقاومت یک کیلو اهمی

انواع رله

 


جمع بندی


در این آموزش به طراحی و پیاده سازی سنسور هشدار دهنده دنده عقب خودرو به همراه فعال سازی خودکار چراغ های خودرو(اوتولایت) پرداختیم. این پروژه از برد آردویینو UNO به عنوان پردازنده مرکزی استفاده می کند. در این پروژه، جهت اندازه گیری فاصله تا نزدیکترین شی، از سنسور التراسونیک SRF05 استفاده شده است. این پروژه با اندازه گیری نور محیط به کمک سنسور BH1750، در صورتیکه نور محیط را از حد مجاز کمتر تشخیص دهد، فرمان روشن شدن چراغ های خودرو را صادر می کند.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه