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

ساعة المد والجزر والطقس: 9 خطوات (بالصور)
ساعة المد والجزر والطقس: 9 خطوات (بالصور)

فيديو: ساعة المد والجزر والطقس: 9 خطوات (بالصور)

فيديو: ساعة المد والجزر والطقس: 9 خطوات (بالصور)
فيديو: شاهد أقوى زلزال في العالم 😰 2024, شهر نوفمبر
Anonim
ساعة المد والجزر والطقس
ساعة المد والجزر والطقس

على الرغم من أنه يمكنك شراء ساعات المد والجزر التناظرية التي تحتوي على يد واحدة تشير إلى ما إذا كان المد مرتفعًا أو منخفضًا أو في مكان ما بينهما ، فإن ما أردت هو شيء من شأنه أن يخبرني في أي وقت سيكون المد والجزر منخفضًا. أردت شيئًا يمكنني إلقاء نظرة سريعة عليه دون الحاجة إلى تشغيله ، أو الضغط على أي أزرار ، أو الانتظار. وأردت شيئًا بعمر بطارية طويل. لذلك استخدمت لوحة TTGO T5 ، وهي لوحة تستند إلى ESP32 مع شاشة عرض ورقية إلكترونية مقاس 2.13 بوصة ، متصلة بشريحة TTL5110. يقوم TPL5110 بتشغيل T5 كل 2.5 ساعة ، ومرة واحدة في اليوم ، يقوم T5 بتنزيل بيانات المد والجزر من NOAA وبيانات الطقس من OpenWeatherMap ، تعرض البيانات على الورقة الإلكترونية ، ثم تخبر TPL5110 بإيقاف تشغيل T5.

تحديث (25 فبراير 2020) تعمل ساعة Tide Clock منذ عام واحد الآن ، والبطارية 4.00 فولت ، لذلك يمكن تصور تشغيل الساعة لسنوات عديدة.

الخطوة 1: قائمة الأجهزة

لوحة TTGO T5 17 دولارًا

Adafruit TPL5110 board 5 دولارات

لوح Adafruit Perma-Proto ربع الحجم (اختياري) 0.71 دولار (الحد الأدنى للطلب 8.50 دولار)

بطارية Li-Poly 1200 مللي أمبير 10 دولارات (أو مصدر طاقة مناسب آخر)

كابل JST PH ثنائي السنون - رأس ذكر 0.75 دولار

مكثف 220 فائق التوهج

الخطوة 2: الأدوات

لحام حديد

قواطع الأسلاك

شاحن بطارية Li-Po ، مثل هذا.

الخطوة 3: تجميع الأجهزة

تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة

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

مكثف 220 فائق التوهج مهم جدا. بدونها ، لن يقوم TPL5110 بتشغيل T5. ليس من الواضح سبب ذلك ، لكن الأشخاص الآخرين الذين يستخدمون TPL5110 واجهوا نفس المشكلة. ربما يرسم ESP32 تيارًا عند بدء التشغيل أكثر مما يمكن أن يوفره TTL5110؟

لا تقم بتوصيل البطارية. استخدم كابل JST-PH حتى تتمكن من فصل البطارية لشحنها. قد تكون هناك طريقة لشحن البطارية من T5 مرة أخرى عبر TPL5110 إذا كان TPL5110 "قيد التشغيل" ، لكن لا يمكنني أن أضمن هذه التقنية.

لقد صنعت صندوقًا خشبيًا كعلبة ، ولكن أي شيء بأبعاد داخلية لا تقل عن 1.5 بوصة × 2.75 بوصة × 1 بوصة ستعمل.

الخطوة 4: ضبط التوقيت

تحتوي اللوحة TPL5110 على مقياس جهد تقليم يحدد الفاصل الزمني الذي يستيقظ فيه TPL5110. استخدم مفك براغي صغير لتدويره بالكامل عكس اتجاه عقارب الساعة. على لوحي ، حدد هذا الفاصل الزمني إلى 145 دقيقة ، وهو في الواقع أكثر من الحد الأقصى المحدد وهو 120 دقيقة ، لكنه يعمل وكان ثابتًا وسيوفر طاقة أكثر من الاستيقاظ كل 120 دقيقة ، لذلك استخدمته. لا تحتاج إلى معرفة الفاصل الزمني بدقة ، لأن الهدف هو فقط تنزيل البيانات مرة واحدة تقريبًا في اليوم تقريبًا حوالي الساعة 4 صباحًا. يمكنك تحديد الفاصل الزمني (على سبيل المثال ، 145 دقيقة) ووقت الاستيقاظ (على سبيل المثال ، 4 صباحًا) في env_config.h.

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

الخطوة 5: البرنامج

ستحتاج إلى Arduino IDE مع حزمة ESP32. في IDE ، اضبط منتداك على "ESP32 Dev Module".

الرسم متاح على https://github.com/jasonful/Tides ويتطلب 3 مكتبات:

  1. "ESP8266 Weather Station" ، متاح من Arduino Library Manager (أو هنا). ستحتاج فقط إلى الملفات الستة التالية: ESPHTTPClient.h و ESPWiFi.h و OpenWeatherMapCurrent.cpp و OpenWeatherMapCurrent.h و OpenWeatherMapForecast.cpp و OpenWeatherMapForecast.h ويمكن حذف الباقي.
  2. يتوفر "Json Streaming Parser" من Arduino Library Manager (أو هنا)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo على الرغم من أن الشفرة ليست مجمعة كمكتبة حقيقية ، يمكنك فقط نسخها ضمن دليل المكتبات الخاصة بك وتضمينها هو - هي.

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

هناك العديد من المعلمات التي سيتعين عليك تعيينها (وبعضها قد ترغب في تعيينه) في ملف env_config.h ، بما في ذلك:

  • WiFi SSID وكلمة المرور
  • معرف محطة NOAA (بمعنى آخر ، أين أنت)
  • معرف تطبيق OpenWeatherMap ، والذي ستحتاج إلى التسجيل فيه (إنه سهل ومجاني)
  • OpenWeatherMap LocationID (مرة أخرى ، أين أنت)
  • CONFIG_USE_TPL5110 ، والذي يسمح لك باستخدام T5 بدون TPL5110. بدلاً من ذلك ، سيدخل البرنامج في وضع السكون العميق. تستهلك لوحة T5 حوالي 8 مللي أمبير في نوم عميق ، لذلك أتوقع أن تدوم البطارية بضعة أيام فقط.

الخطوة 7: كيف يعمل البرنامج

(يمكنك تخطي هذا الجزء إذا كنت لا تهتم).

الهدف هو الاستيقاظ مرة واحدة يوميًا ، ولكن نظرًا لأن الحد الأقصى للفاصل الزمني لـ TPL5110 هو ساعتان فقط أو نحو ذلك ، يجب على T5 الاستيقاظ كثيرًا. لذلك ، بعد تنزيل بيانات المد والجزر والطقس ، فإنه يحسب عدد الساعات التي تبلغ ساعتين من الآن وحتى الساعة 4:00 صباحًا غدًا. الأمر معقد قليلاً بسبب حقيقة أن TPL5110 يقطع الطاقة تمامًا عن T5 ، وهو أمر جيد للبطارية ، لكن هذا يعني أننا نفقد ذاكرة الوصول العشوائي وساعة الوقت الفعلي. إنه مثل الاستيقاظ كل صباح بفقدان الذاكرة. لذا لمعرفة الوقت الآن ، فإنه يستخرجه من رأس HTTP الخاص بـ NOAA. ولتذكر عدد الساعات المتبقية من ساعتين ، فإنه يكتب هذا المقابل للتخزين غير المتطاير (فلاش). في كل مرة يستيقظ فيها ، يتحقق من هذا العداد ، ويقلل من قيمته ، ويخزنه ، وإذا كان أكبر من الصفر ، فإنه يرسل إشارة على الفور إلى TPL51110 ("تم") تطلب منه وضعه في وضع السكون. عندما يصل العداد إلى الصفر ، يقوم الكود بتنزيل بيانات جديدة ، ويعيد حساب العداد ويعيد تعيينه.

الخطوة 8: قم بتشغيله

شغلها
شغلها

تأكد من أن المفتاح الموجود على الجانب الأيسر من T5 في وضع أعلى (تشغيل) ، وقم بتحميل الرسم التخطيطي إلى T5 ، وفي غضون بضع ثوانٍ ، يجب تحديث الشاشة بمعلومات المد والجزر والطقس.

إذا كنت بحاجة إلى تصحيح أخطاء البرنامج ، فقم بتغيير "#define DEBUG 0" أعلى Tides.ino إلى "#define DEBUG 1". سيؤدي هذا إلى تشغيل إخراج التصحيح التسلسلي ، ويعرض أيضًا في الجزء السفلي من الورقة الإلكترونية عدد مرات إعادة التشغيل المتبقية قبل تنزيل البيانات الجديدة ، ووقت آخر تنزيل للبيانات.

الخطوة 9: الاتجاهات المستقبلية

  1. يعد استخدام TPL5110 جنبًا إلى جنب مع شاشة عرض الورق الإلكتروني طريقة رائعة لعرض أي بيانات لا تتغير كثيرًا ، مع عمر بطارية ممتاز.
  2. عندما كنت أصمم هذا ، فكرت في استخدام TrigBoard ، وهي لوحة ESP8266 مع TPL5111 على متنها. كان سيتطلب الحصول على شاشة عرض ورقية إلكترونية منفصلة ولوحة تشغيل للورق الإلكتروني مثل هذا أو هذا. أو سائق + لوحة التحرير والسرد مثل هذا أو هذا. لنقل الرمز إلى ESP8266 ، أعتقد أن رمز SSL سيتعين عليه استخدام بصمات الأصابع بدلاً من الشهادات ، وسيحتاج رمز التخزين غير المتطاير إلى استخدام ذاكرة EEPROM أو RTC.
  3. سمعت مؤخرًا أن لوحة Lolin32 مناسبة جدًا في وضع السكون العميق: حوالي 100uA. ليست جيدة مثل لوحة TPL51110 (20uA وفقًا لـ Adafruit) ولكنها جيدة بما يكفي.
  4. تقوم OpenWeatherMap بإرجاع بيانات طقس أكثر بكثير مما أعرضه. بما في ذلك معرفات الرموز ، الأمر الذي قد يتطلب البحث عن رموز أحادية اللون في مكان ما.

موصى به: