جدول المحتويات:

Postino: هل قام ساعي البريد بتسليم أي شيء؟: 6 خطوات (بالصور)
Postino: هل قام ساعي البريد بتسليم أي شيء؟: 6 خطوات (بالصور)

فيديو: Postino: هل قام ساعي البريد بتسليم أي شيء؟: 6 خطوات (بالصور)

فيديو: Postino: هل قام ساعي البريد بتسليم أي شيء؟: 6 خطوات (بالصور)
فيديو: "Darknet Demystified - E6 - Sam Bent AKA DoingFedtime AKA 2HappyTimes2 - Darknet Diaries Full (3HOUR 2024, يوليو
Anonim
Postino: هل قام ساعي البريد بتسليم أي شيء؟
Postino: هل قام ساعي البريد بتسليم أي شيء؟

ليست فكرة خاصة بي: في أحد الأيام سألني أحد الأصدقاء عن طريقة للتحقق عن بُعد مما إذا كان أي بريد إلكتروني يوضع في صندوق بريده. صندوق البريد ليس على المسار المؤدي إلى بابه ، لذلك ، نظرًا لأنه فتى كسول ، فقد تساءل عما إذا كان يجب أن تكون أداة التكنولوجيا قادرة على تحذيره من أي رسالة في صندوق البريد. ألقيت نظرة على السوق ولم أجد أي جهاز جاهز يناسب احتياجاته ، لذلك طرحت تحديًا لنفسي: لماذا لا أصممها وأبنيها؟

كانت القيود:

  • تعمل بالبطارية مع عمر معقول بين تغييرات البطارية ؛
  • اتصال WiFi
  • تحقق مرة واحدة فقط في اليوم إذا كان هناك بريد أم لا ؛

كان السؤال الرئيسي هو: أي نوع من أجهزة الاستشعار يمكن أن يلائم متطلباتي؟ لا يمكن أن يعمل مستشعر القرب ، حيث يجب إجراء الفحص مرة واحدة فقط في اليوم وليس في الوقت الفعلي ؛ لا يوجد مستشعر للوزن ، لأن هذا من شأنه أن يضيف مشاكل تعقيد وحساسية (يمكن أن تكون الورقة خفيفة للغاية). وقع خياري على مستشعر Time-of-Flight (ليزر دقيق). بمجرد معايرته لحجم صندوق البريد ، فإن أي شيء في المنتصف سيؤدي إلى تشغيل المستشعر! بالنظر إلى القيود الثلاثة ، قررت استخدام ESP8266 (تشغيل البرنامج والربط بشبكة WiFi) ، ومستشعر VL6180 لوقت الطيران للقياس وساعة DS3231 Real Time Clock لتشغيل جميع الدوائر مرة واحدة يوميًا: هكذا كانت الطريقة ولدت Postino!

الخطوة 1: الأجزاء والمكونات

  • ESP8266-01 (أو ESP-12E NodeMCU)
  • مستشعر وقت الرحلة VL6108
  • DS3231 ساعة الوقت الحقيقي
  • موسفيت IRLZ44 N- قناة
  • الترانزستور BC547
  • المقاومات
  • بطارية CR123

الخطوة الثانية: جهاز الاستشعار

المستشعر
المستشعر

قلب النظام هو مستشعر VL6180. هذه تقنية رائدة تسمح بقياس المسافة المطلقة بشكل مستقل عن انعكاس الهدف. بدلاً من تقدير المسافة عن طريق قياس كمية الضوء المنعكس من الجسم (الذي يتأثر بشكل كبير باللون والسطح) ، يقيس VL6180X بدقة الوقت الذي يستغرقه الضوء للانتقال إلى أقرب كائن والانعكاس مرة أخرى إلى المستشعر (الوقت -اطفئ الضوء). من خلال الجمع بين باعث الأشعة تحت الحمراء ومستشعر المدى ومستشعر الإضاءة المحيطة في حزمة ثلاثية قابلة لإعادة التدفق جاهزة للاستخدام ، فإن VL6180X سهل الدمج ويوفر على صانع المنتج النهائي تحسينات التصميم البصري والميكانيكي الطويلة والمكلفة.

تم تصميم الوحدة لتشغيل منخفض الطاقة. لقد استخدمت لوحة اندلاع Pololu التي تحتوي على منظمات جهد على متنها تسمح لها بالعمل على نطاق جهد دخل من 2.7 فولت إلى 5.5 فولت.

يسمح المستشعر بثلاثة عوامل تحجيم صالحة تحدد النطاق الأقصى للقياس من 20 إلى 60 سم ، مع حساسيات مختلفة. من خلال تكوين عامل تحجيم النطاق ، يمكن زيادة النطاق الأقصى المحتمل للمستشعر بتكلفة دقة أقل. يوفر ضبط عامل التحجيم على 2 نطاقًا يصل إلى 40 سم بدقة 2 مم ، بينما يوفر عامل التحجيم 3 نطاقًا يصل إلى 60 سم بدقة 3 مم. يجب عليك اختبار المقاييس الثلاثة بأبعاد صندوق البريد الخاص بك. نظرًا لأنني كان 25 سم (ح) ، فقد استخدمت عامل المقياس = 1.

الخطوة 3: تخصيص ساعة الوقت الحقيقي

بالنسبة لـ RTC ، استخدمت لوحة اندلاع DS3231 تتضمن EEPROM (عديمة الفائدة لغرضي) وبطارية بحجم العملة المعدنية. نظرًا لأنني قررت تشغيل RTC من خلال بطارية الجهاز الرئيسي (3 فولت CR123) ، فقد قمت بإزالة بطارية العملة المعدنية ؛ لتوفير الطاقة ، قمت أيضًا بإزالة EEPROM (عن طريق قطع المسامير بعناية) والصمام الموجود على متن الطائرة.

لم تكن بطارية العملة المعدنية مفيدة بالنسبة لي لأنني لم أكن بحاجة إلى الاحتفاظ بتاريخ الوقت الحقيقي / ساعة / دقيقة / ثانية ، ولكن كان على RTC فقط العد لمدة 24 ساعة ثم تشغيل المنبه لتشغيل الجهاز.

الخطوة 4: متفرقات أخرى على متن الطائرة

متفرقات أخرى على متن الطائرة
متفرقات أخرى على متن الطائرة
متفرقات أخرى على متن الطائرة
متفرقات أخرى على متن الطائرة

يتم تشغيل الجهاز بواسطة دائرة ترانزستور و MosFET ، يتم تشغيلها بواسطة إنذار RTC. بمجرد إعادة ضبط المنبه ، تقوم الدائرة بقطع الطاقة عن الجهاز لمدة 24 ساعة أخرى. عندما يتم الوصول إلى الإنذار ، يقوم DS3231 بتبديل دبوس من الأعلى إلى المنخفض: في الظروف العادية يكون الترانزستور مشبعًا ويقصر على بوابة MosFET الأرضية. بمجرد أن يجلب الإنذار قاعدة الترانزستور إلى الأرض ، يفتح ويسمح لـ MosFET بإغلاق الدائرة وإعطاء الطاقة لبقية المكونات.

بالإضافة إلى ذلك ، أضفت وصلة عبور "test-1M". الغرض من هذا المفتاح - في حالة تنشيطه - هو تغيير الدورة من مرة في اليوم إلى مرة واحدة في الدقيقة ، من أجل تشغيل اختبارات النشر. لتغيير الفاصل الزمني من يوم واحد إلى دقيقة واحدة ، تحتاج أولاً إلى إغلاق العبور "Test-C" لمدة 15 ثانية تقريبًا ، لتجاوز فترة تنشيط إنذار الساعة وتشغيل الجهاز. عند الانتهاء من الاختبارات ، افتح وصلات العبور وأعد ضبط الجهاز (طاقة الدورة).

الخطوة 5: التخطيطي

تخطيطي
تخطيطي

الخطوة 6: البرمجيات والمنطق

أثناء الاختبارات التي استخدمتها (لأسباب عملية) وحدة تحكم NodeMCU ، لذلك يعتني البرنامج بذلك عن طريق تعيين CHIP variale على "NodeMCU" أو "esp8266".

يطبق الرسم التخطيطي مكتبة WiFiManager للسماح للجهاز بالاتصال بنقطة وصول WiFi صالحة أثناء التشغيل الأول. في مثل هذه الحالة ، ينتقل الجهاز إلى وضع AP ، مما يتيح لك الاتصال به واختيار شبكة WiFi المناسبة للانضمام. بعد ذلك ، يتم حفظ تكوين الشبكة في EPROM للدورات اللاحقة.

يحتوي المتغير REST_MSG على رسالة http لإرسالها عندما يعثر المستشعر على كائن في صندوق البريد. في حالتي ، يرسل رسالة إلى خادم REST دومًا ، ولكن يمكنك تغييرها كما تفضل: رسالة Telegram BOT ، حدث IFTTT WebHook ، إلخ.

باقي المخطط موجود بالكامل في وظيفة setup () ، حيث لا يتم الوصول إلى الحلقة مطلقًا. بعد التكوينات اللازمة للمكتبات المتعددة ، يضبط البرنامج وقت الساعة على 00:00:01 والتنبيه على مرة واحدة يوميًا (أو مرة واحدة في الدقيقة إذا تم تنشيط العبور "test-1M"). ثم يقوم بإجراء القياس ، ويرسل الإخطار (إذا تم العثور على أي كائن في صندوق البريد) ويعيد تعيين دبوس التنبيه ، ويغلق الجهاز. في نهاية الدورة ، يتم تشغيل RTC فقط ، ويتم العد لمدة 24 ساعة. يتم توصيل وصلة العبور Test-1M بدبوس RX الخاص بـ ESP8266 ، المستخدم كـ GPIO-3 عن طريق الإعداد: setMode (PIN ، FUNCTION_3). نتيجة لذلك ، لا يمكنك استخدام الشاشة التسلسلية أثناء تشغيل ESP8266: يتم استخدام سطر "#define DEBUG" (الذي يسمح بجميع المطبوعات التسلسلية في الرسم التخطيطي) فقط عند تثبيت NodeMCU بدلاً من ESP8266.

يتعامل ESP8266 مع اتصال I2C مع RTC والمستشعر من خلال دبابيس GPIO-0 و GPIO-2 ، والتي تمت تهيئتها في مكتبة الأسلاك.

يمكن تنزيل الكود الكامل من هذا الرابط.

مسابقة التكنولوجيا المساعدة
مسابقة التكنولوجيا المساعدة
مسابقة التكنولوجيا المساعدة
مسابقة التكنولوجيا المساعدة

الوصيف في مسابقة التكنولوجيا المساعدة

موصى به: