ماشین من فقط سنسور پارک برای دنده عقب دارد، بنابراین وقتی وارد گاراژ می شوم هیچ راهی وجود ندارد که بدانم به اندازه ای به دیوار نزدیک هستم که اجازه بسته شدن درب را بدهم یا خیلی بسته که بتوانم با ماشین به دیوار برخورد کنم. بنابراین، تصمیم گرفتیم یک سنسور پارکینگ بسازیم که روی دیوار گاراژ ثابت شود. یکی از محدودیت هایی که من داشتم این است که برق در این نزدیکی وجود ندارد، بنابراین سنسور پارک باید با باتری کار می کرد.
آن را به عنوان اولین پروژه با Netduino، که قدرت جویدن بود، شروع کرد. متوجه شدیم که برد نتدوینو از حالت ذخیره انرژی پردازنده ARM پشتیبانی نمیکند، به برد آردوینو مبتنی بر Fio منتقل شد و مصرف انرژی را در طول زمان بهینه کرد. در حال حاضر، دستگاه می تواند حدود دو ماه بدون شارژ باتری باقی بماند. با این حال، در آینده به یک پردازنده متفاوت و محافظه کارتر (احتمالاً MSP430 از TI یا با نام LaunchPad) حرکت خواهم کرد.
امکانات:
- باطری تغذیه می شود
- فقط یک بار در 60 روز یا بیشتر نیاز به شارژ دارد
- کم هزینه
- آسان برای جمع آوری
- 4 عدد LED نشان دهنده فاصله
- از چراغ های LED تک یا چندگانه با هم پشتیبانی کنید
مرحله 1: اجزای مورد نیاز
اجزای زیر به شما نیاز دارند:
1. آردوینو، بهتر است برد مبتنی بر Fio یا برد دیگری که FTDI 2 داخلی ندارد را بردارید.
یک باتری LiPo 2000 میلی آمپر ساعتی که متناسب با Fio باشد (کانکتور با کانکتور باتری Fio مطابقت دارد) 3. 4 برابر
LED روشن، 2x سبز، 1x زرد، 1xقرمز 4. 4 برابر مقاومت
270 اهم
اگر از Fio استفاده می کنید (توصیه می شود)، برای برنامه ریزی آن به یک برد FTDI 3.3 ولت نیز نیاز دارید.
اگر در نزدیکی دستگاه برق دارید ، می توانید هر برد آردوینو را به جای باتری بخرید و نکاتی را در مراحل بعدی برای ملاحظات قدرت مشاهده کنید.
از کجا بخریم؟
تمامی کالاها را می توان از فروشگاه لوازم الکترونیکی مورد علاقه خود خریداری کرد. هیچکدام از آن اجزای خیلی خاص نیستند. یکی از مکان ها مشخصا Sparkfun است ( http://www,sparkfun.com )
مرحله 2: چگونه کار می کند
هنگامی که از برخورد به دیوار فاصله دارید، اولین LED سبز روشن می شود، سپس هنگام نزدیک شدن، دومی، سپس LED زرد و در نهایت LED قرمز روشن می شود. هنگامی که LED قرمز روشن است باید متوقف شوید.
در صورت عدم تغییر در فاصله برای مدتی (5 ثانیه)، دستگاه تمام LED ها را خاموش می کند و به حالت خواب می رود. این با سناریوی پارک ماشین در گاراژ یا عدم وجود ماشین در گاراژ (کجا رفتید 🙂 مناسب است؟).
برنامه نسبتاً ساده است، ورودی آنالوگ را از سنسور بخوانید، مقدار را در برابر برخی آستانه ها آزمایش کنید و بر اساس نتیجه، تعداد LED ها را روشن کنید. مدت زمان تست بدون تغییر در وضعیت و اگر 5 ثانیه باشد، پردازنده برای حفظ قدرت به حالت Sleep قرار می گیرد. پردازنده هر ثانیه بیدار می شود تا ببیند آیا چیزی تغییر کرده است یا خیر. اگر نه، دوباره بخوابید. در حالت خواب، کل دستگاه 0.4 میلی آمپر و در هنگام کار (بدون LED) چندین میلی آمپر مصرف می کند. هنگامی که تنها یک LED در یک زمان روشن می شود، مصرف حدود 15 میلی آمپر است. من 2 ثانیه خواب را نیز امتحان کردم، اما در هنگام رانندگی احساس ناخوشایندی به وجود میآورد، زیرا گاهی اوقات 2 ثانیه طول میکشد تا نوری را ببینید... بدیهی است که برای افرادی که عجله دارند چیز خوبی نیست.
اگر دستگاه را در حالت روشنایی تک LED در یک زمان کار می کنید، بین شارژ مجدد حدود 2 ماه فاصله داشته باشید. اگر همه LED های متناسب با فاصله به طور همزمان روشن شوند، حدود یک ماه بین شارژ مجدد انتظار داشته باشید.
برای کوتاه کردن مدت زمان کارکرد پردازنده، از نرخ باود 115200 برای سریال استفاده کردم (فقط برای اشکال زدایی استفاده می شود). این به طور قابل توجهی زمان بیداری را کاهش داد. حذف خروجی سریال می تواند زمان بیداری را بیشتر کاهش دهد، اما فکر می کنم نه به طور چشمگیری.
یک باتری LiPo 2000 میلی آمپر ساعتی که با Fio
3 مناسب است. 4 برابر LED روشن، 2x سبز، 1x زرد، 1xقرمز
برای جزئیات بیشتر: سنسور پارک ساده با استفاده از آردوینو