فهرست مطالب:

Postino: آیا پستچی چیزی تحویل داد؟: 6 مرحله (همراه با تصاویر)
Postino: آیا پستچی چیزی تحویل داد؟: 6 مرحله (همراه با تصاویر)

تصویری: Postino: آیا پستچی چیزی تحویل داد؟: 6 مرحله (همراه با تصاویر)

تصویری: Postino: آیا پستچی چیزی تحویل داد؟: 6 مرحله (همراه با تصاویر)
تصویری: فقط حقیقت S3E6 را به حساب می آورد 2024, جولای
Anonim
پستینو: آیا پستچی چیزی تحویل داد؟
پستینو: آیا پستچی چیزی تحویل داد؟

ایده من نیست: یک روز یکی از دوستان از من راهی خواست تا از راه دور بررسی کنم که آیا نامه پستی در صندوق پستی او قرار دارد یا خیر. صندوق پستی در مسیر پیاده روی تا درب خانه اش نیست ، بنابراین ، چون او یک پسر تنبل است ، او فکر کرد که آیا یک ابزار فناوری باید بتواند در مورد هر نامه ای به صندوق پستی به او هشدار دهد. من نگاهی به بازار انداختم و هیچ دستگاه آماده ای متناسب با نیازهای او پیدا نکردم ، بنابراین من با خودم چالشی را مطرح کردم: چرا آن را طراحی و ساخته نکنم؟

محدودیت ها عبارت بودند از:

  • تغذیه باتری با طول عمر مناسب بین تغییرات باتری ؛
  • ارتباط وای فای ؛
  • فقط یکبار در روز بررسی کنید که آیا نامه ای وجود داشته است یا خیر.

س mainال اصلی این بود: کدام سنسور می تواند متناسب با نیازهای من باشد؟ سنسور مجاورت نمی تواند کار کند ، زیرا بررسی باید فقط یک بار در روز و نه در زمان واقعی انجام شود. یک سنسور وزن وجود ندارد ، زیرا این امر پیچیدگی و مشکلات حساسیت را افزایش می دهد (یک ورق کاغذ می تواند بسیار سبک باشد). انتخاب من روی سنسور Time-of-Flight (یک میکرو لیزر) قرار گرفت. هنگامی که آن را برای اندازه صندوق پستی کالیبراسیون کرد ، هر چیزی که در وسط قرار بگیرد باعث فعال شدن سنسور می شود! با در نظر گرفتن 3 محدودیت ، تصمیم گرفتم از ESP8266 (اجرای نرم افزار و پیوند به WiFi) ، سنسور VL6180 Time-of-Flight برای اندازه گیری و ساعت Real Time DS3231 برای فعال کردن همه مدارات یکبار در روز استفاده کنم: پستینو متولد شد!

مرحله 1: قطعات و اجزاء

  • ESP8266-01 (یا ESP-12E NodeMCU)
  • VL6108 سنسور زمان پرواز
  • ساعت واقعی DS3231
  • IRLZ44 N کانال MosFET
  • BC547 ترانزیستور
  • مقاومت ها
  • باتری CR123

مرحله 2: سنسور

سنسور
سنسور

قلب سیستم سنسور VL6180 است. این یک فناوری پیشگامانه است که اجازه می دهد فاصله مطلق مستقل از بازتاب هدف اندازه گیری شود. به جای برآورد فاصله با اندازه گیری میزان نور منعکس شده از جسم (که بطور قابل توجهی تحت تأثیر رنگ و سطح قرار دارد) ، VL6180X دقیقاً زمانی را که نور برای حرکت به نزدیکترین جسم و بازتاب به سنسور (زمان -از پرواز). VL6180X با ترکیب یک امیتر ساطع کننده IR ، یک سنسور محدوده و یک سنسور نور محیط در یک بسته قابل انعطاف سه در یک آماده استفاده ، آسان است و سازنده محصول نهایی را در بهینه سازی های طولانی و پرهزینه طراحی نوری و مکانیکی صرفه جویی می کند.

این ماژول برای عملکرد کم مصرف طراحی شده است. من از برد شکست Pololu استفاده کردم که دارای تنظیم کننده های ولتاژ است که به آن اجازه می دهد در محدوده ولتاژ ورودی 2.7 ولت تا 5.5 ولت کار کند.

این سنسور دارای 3 مقیاس مقیاس بندی معتبر است که حداکثر محدوده اندازه گیری را از 20 تا 60 سانتی متر با حساسیت های مختلف تنظیم می کند. با پیکربندی ضریب مقیاس بندی محدوده ، حداکثر دامنه بالقوه سنسور را می توان با هزینه وضوح پایین تر افزایش داد. تنظیم ضریب مقیاس بندی روی 2 محدوده تا 40 سانتی متر با وضوح 2 میلی متر را فراهم می کند ، در حالی که ضریب مقیاس بندی 3 محدوده تا 60 سانتی متر را با وضوح 3 میلی متر فراهم می کند. شما باید 3 مقیاس را با ابعاد صندوق پستی خود آزمایش کنید. از آنجا که اندازه من 25 سانتی متر (H) بود ، من از عامل مقیاس = 1 استفاده کردم.

مرحله 3: سفارشی سازی ساعت واقعی

برای RTC من از یک برد شکست DS3231 استفاده کردم که شامل EEPROM (برای هدف من بی فایده است) و یک باتری اندازه سکه. وقتی تصمیم گرفتم RTC را از طریق باتری دستگاه اصلی (3v CR123) تغذیه کنم ، باتری سکه را برداشتم. برای صرفه جویی در مصرف انرژی ، EEPROM (با برش دقیق پین های آن) و هد داخلی را نیز جدا کردم.

باتری سکه برای من مفید نبود زیرا نیازی به نگه داشتن تاریخ/ساعت/دقیقه/ثانیه در زمان واقعی نداشتم ، اما RTC فقط باید 24 ساعت شمارش کند و سپس زنگ هشدار را به دستگاه وصل کند.

مرحله 4: سایر موارد متفرقه

سایر متفرقه های موجود در کشتی
سایر متفرقه های موجود در کشتی
سایر متفرقه های موجود در کشتی
سایر متفرقه های موجود در کشتی

روشن شدن دستگاه توسط ترانزیستور و مدار MosFET انجام می شود که توسط زنگ RTC فعال می شود. پس از تنظیم مجدد زنگ هشدار ، مدار برق را برای یک چرخه 24 ساعته دیگر قطع می کند. هنگامی که زنگ خطر به صدا در می آید ، DS3231 یک پین را از بالا به پایین تغییر می دهد: در شرایط عادی ترانزیستور اشباع شده و با اتصال به دروازه MosFET کوتاه می شود. هنگامی که زنگ هشدار پایه ترانزیستور را به زمین می رساند ، باز می شود و به MosFET اجازه می دهد تا مدار را ببندد و به بقیه اجزاء نیرو دهد.

علاوه بر این ، من یک جامپر "test-1M" اضافه کردم. هدف از این سوئیچ - در صورت فعال شدن - تغییر چرخه از یک بار در روز به یک دقیقه در دقیقه ، به منظور اجرای آزمایش های استقرار است. برای تغییر بازه زمانی از یک روز به یک دقیقه ، ابتدا باید jumper "Test-C" را برای حدود 15 ثانیه ببندید ، تا دوره فعال سازی زنگ ساعت را دور زده و دستگاه را روشن کنید. هنگامی که آزمایشات انجام شد ، جامپرها را باز کرده و دستگاه را تنظیم کنید (قدرت چرخه).

مرحله 5: شماتیک

شماتیک
شماتیک

مرحله 6: نرم افزار و منطق

در طول آزمایشات (به دلایل عملی) از کنترلر NodeMCU استفاده کردم ، بنابراین نرم افزار با تنظیم CHIP variale روی "NodeMCU" یا "esp8266" از این امر مراقبت می کند.

این طرح کتابخانه WiFiManager را پیاده سازی می کند تا به دستگاه اجازه دهد در اولین اجرا به یک AP WiFi معتبر متصل شود. در چنین شرایطی ، دستگاه به حالت AP می رود و به شما امکان می دهد به آن متصل شوید و شبکه WiFi مناسب برای پیوستن را انتخاب کنید. پس از آن ، پیکربندی شبکه در چرخه های بعدی در EPROM ذخیره می شود.

متغیر REST_MSG حاوی پیام http است که وقتی سنسور شیئی را در صندوق پستی پیدا می کند ارسال می شود. در مورد من ، این پیام را به سرور domotic REST ارسال می کند ، اما شما می توانید آن را به دلخواه تغییر دهید: پیام BOT تلگرام ، رویداد IHTTT WebHook و غیره.

بقیه طرح همه در تابع setup () هستند ، زیرا هرگز به حلقه دسترسی ندارید. پس از پیکربندی های مورد نیاز برای چندین کتابخانه ، نرم افزار ساعت را روی 00:00:01 و زنگ ساعت را یک بار در روز (یا در صورت فعال شدن بلوز "test-1M" یک بار در دقیقه) تنظیم می کند. سپس اندازه گیری را انجام می دهد ، اعلان را ارسال می کند (اگر شیئی در صندوق پستی یافت شود) و پین زنگ هشدار را مجددا تنظیم می کند و دستگاه را خاموش می کند. در پایان چرخه ، فقط RTC روشن است و 24 ساعت شمارش می شود. Jumper Test-1M به پین RX ESP8266 متصل است ، به عنوان GPIO-3 با استفاده از تنظیمات: setMode (PIN ، FUNCTION_3) استفاده می شود. به همین دلیل ، هنگام اجرای ESP8266 نمی توانید از مانیتور Serial استفاده کنید: خط "#define DEBUG" (که امکان چاپ تمام سریال ها در طرح را می دهد) تنها زمانی استفاده می شود که NodeMCU به جای ESP8266 نصب شده باشد.

ESP8266 ارتباط I2C با RTC و سنسور را از طریق پین های GPIO-0 و GPIO-2 ، که در کتابخانه Wire راه اندازی شده است ، مدیریت می کند.

کد کامل را می توانید از این لینک بارگیری کنید.

مسابقه فناوری کمکی
مسابقه فناوری کمکی
مسابقه فناوری کمکی
مسابقه فناوری کمکی

نفر دوم در مسابقه فناوری کمکی

توصیه شده: