فهرست مطالب:

Tweerstationneke A.k.a. آب و هوای هلندی: 4 مرحله
Tweerstationneke A.k.a. آب و هوای هلندی: 4 مرحله

تصویری: Tweerstationneke A.k.a. آب و هوای هلندی: 4 مرحله

تصویری: Tweerstationneke A.k.a. آب و هوای هلندی: 4 مرحله
تصویری: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, نوامبر
Anonim
Tweerstationneke A.k.a. هواشناسی هلندی
Tweerstationneke A.k.a. هواشناسی هلندی

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

این برنامه در اطراف دو وب سایت هلندی طراحی شده است. احتمالاً می توانید آن را در عنوان محلی خنده دار این موضوع مشاهده کنید! یکی پیش بینی محلی هر شهر را هر 10 دقیقه با فرمت json ارائه می دهد. مورد دیگر پیش بینی باران را برای دو ساعت آینده در قالب متن ساده ارائه می دهد که دانستن آن همیشه مفید است. من مطمئن هستم که اگر در هلند زندگی نمی کنید ، می توانید به راحتی این موضوع را با خدمات دیگر تطبیق دهید.

تدارکات

  • یک برد ESP8266 ؛ پیشنهاد می کنم از Wemos D1 mini استفاده کنید
  • صفحه نمایش 1.8 اینچی TFT با 128*160 نقطه ؛ رنگ 16 بیتی
  • چند کابل
  • برنامه همانطور که هست یا برای شروع برنامه خود را ایجاد کنید
  • یک جعبه زیبا برای قرار دادن همه چیز در کنار هم. از یک استاندارد استفاده کنید یا طرح دلخواه خود را چاپ کنید

مرحله 1: نمونه اولیه را بسازید

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

اتصال صفحه و کنترلر

از یک کابل تخت کوچک استفاده کنید و صفحه و صفحه TFT را با هم لحیم کنید. از لیست برای اتصال صحیح یون قطعات استفاده کنید

صفحه TFT ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0- --------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3

متناوباً می توانید LED را به جای پین D8 روی 3v3 قرار دهید. من از پین D8 استفاده کرده ام تا بتوانم ساعت 23 شب شب بخوابم و دوباره ساعت 07:00 بیدار شوم. این اولین لحظه ای است که بولتن آب و هوا را بعد از آن زمان می خواند ، زیرا سرفصل را برای بررسی زمان می خواند. در این دستگاه ساعت واقعی وجود ندارد.

اگر همه اینها کار کرد ، کابل usb خود را به Wemos وصل کنید و نرم افزار را بارگذاری کنید. اگر همه چیز کار کرد ، می توانید ساخت جعبه را شروع کنید.

مرحله 2: طراحی برنامه

طراحی برنامه
طراحی برنامه

ایده های من از این دستگاه آب و هوا کجاست

  • به راحتی با محیط wifi دیگر سازگار است
  • نمایش پیش بینی آب و هوا و پیش بینی باران
  • بدون دکمه
  • بدون صدا ، qui ساده ، بدون fuzz

با در نظر گرفتن این موضوع ، من برنامه ای را ایجاد کردم که با کد WifiManager زمانی شروع می شود که نمی تواند یک شبکه Wifi شناخته شده را کشف کند. این شبکه اختصاصی خود را ایجاد می کند و نام را روی صفحه نمایش نشان می دهد. این به شما این فرصت را می دهد که پارامترهای Wifi را روی شبکه خانگی خود تنظیم کنید.

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

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

بارش باران بسیار ساده تر است. در قالب متن ساده و مقدار بارش مورد انتظار به عنوان مقدار 0..255 ارائه می شود. یک نوار عمودی ؛ یک زمان در هر خط این کار را برای هر 5 دقیقه تا 2 ساعت آینده انجام دهید. بارش باران به شیوه ای هوشمند ارائه می شود که در آن مقادیر کوچک فضای بیشتری برای نشان دادن تفاوت به عنوان مقادیر بزرگتر فراهم می کند. فرمول مورد استفاده به شرح زیر است:

mmhour = دور (توان (10 ، (مقدار باران - 109) / 32) * 10) / 10 ؛

توجه داشته باشید که "ضرب در 10 ، تقسیم بر 10" ترفندی است برای اطمینان از اینکه ما یک اعشار پشت نقطه داریم. بسته به حداکثر میزان بارش مورد انتظار در 2 ساعت آینده ، 3 مقیاس برای نمودار استفاده می شود.

  1. حداکثر 5 میلی متر در ساعت انتظار می رود
  2. حداکثر 20 میلی متر در ساعت انتظار می رود
  3. حداکثر از بالاترین مقدار در پیش بینی گرفته شده است

در هلند ، ارزش ما در همه زمان ها حدود 80 میلی متر در ساعت است. بنابراین این مقیاس کاملاً انجام می شود. ممکن است برای سایر کشورها تغییر این امر عاقلانه باشد.

مرحله 3: کد برنامه

کد برنامه
کد برنامه

تنظیمات ویرایشگر

نرم افزار این دستگاه هواشناسی در محیط برنامه نویسی آردوینو ایجاد شده است. برای راحتی بیشتر آن را در اینجا پیوست می کنید. همانطور که هست استفاده کنید ؛ یا آن را متناسب با نیاز خود تغییر دهید. تمام متنی که می تواند در صفحه TFT نمایش داده شود در بالای برنامه تعریف شده است. به این معنی که در صورت تمایل می توانید آن را به راحتی به زبان خود تغییر دهید. من از Wemos D1 mini استفاده کردم ، اما تخته های مشابه نیز کار می کنند.

در محیط آردوینو از تنظیمات زیر استفاده کردم:

  • تخته: LOLIN (WEMOS) D1 RA & Mini
  • سرعت بارگذاری: 115200
  • فرکانس پردازنده: 80 مگاهرتز
  • اندازه فلش: 4M (بدون SPIFFS) حافظه پایین V2 غیرفعال است

از تایمرهای نرم افزاری برای سهولت و خواندن حلقه () استفاده می شود. نمایش اطلاعات از بارگیری اطلاعات جدا می شود. به این ترتیب ما می توانیم از سایزهای دیگر صفحه و غیره بدون نیاز به تغییر کل برنامه استفاده کنیم.

از فایل.ino استفاده کرده و آن را در ویرایشگر arduino بارگذاری کنید. برد خود را در ویرایشگر تنظیم کنید. فایل هدر را ضمیمه کنید تا مطمئن شوید که آرایه های مورد نیاز PROGMEM به سبک C در برنامه گنجانده شده است.

کارت SD

توجه داشته باشید که اکثر نمایشگرهای 1.8 اینچی موجود دارای شکاف کارت SD در پشت صفحه هستند. این یک ویژگی خوب است که به شما کمک می کند تصاویر بزرگ را روی کارت ذخیره کنید. اکثر میکروکنترلرها حافظه زیادی در هیئت مدیره ندارند ، بنابراین این به شما کمک می کند.

اگرچه من زمان زیادی را صرف می کنم تا کارت SD را با صفحه نمایش کار کنم ، اما نتوانستم وضعیت قابل قبولی داشته باشم. من می توانم از صفحه نمایش استفاده کنم. فایل را از کارت SD با موفقیت بازیابی کنید ، اما پس از آن دیگر نتوانستم به صفحه TFT برسم. تغییر کتابخانه ها ، تغییر نظم کتابخانه ها و "برهنه کردن" برنامه به کوچکترین قسمت برای رد احتمالات دیگر ، کمکی به من نکرد.

برای افزودن به ناامیدی من ؛ هزاران مثال در اینترنت وجود دارد که افراد کارهای مشابهی را با نتیجه مثبت انجام می دهند ، هومممم. ممکن است مشکل سخت افزاری در صفحه TFT من باشد؟ یا چیزی که فکرش را نمی کردم؟ هر گونه پیشنهاد برای تلاش بعدی استقبال می شود. در پایان پس از گذراندن چند شب در آن ؛ تصمیم گرفتم آن راه را رها کنم. از آنجا که تصاویر فقط 50 50 50 پیکسل هستند (که هر کدام به 5000 بایت در 16 بیت رنگ می رسد) ، ESP قادر است این را به راحتی در PROGMEM ذخیره کند. بنابراین این ترفندی است که من استفاده کردم.

این انتخاب منجر به چالش دیگری شد. چگونه می توان تصویر BMP را که داشتم به فرمت قابل خواندن تبدیل کرد. پس از جستجو ، سایت را از Henning Karlsen کشف کردم که این معما را زودتر حل کرده بود. او برنامه ای ایجاد کرد که فایل های نوع-p.webp

مرحله 4: جعبه را ایجاد کنید

جعبه را ایجاد کنید
جعبه را ایجاد کنید
جعبه را ایجاد کنید
جعبه را ایجاد کنید
جعبه را ایجاد کنید
جعبه را ایجاد کنید

این اولین جعبه ای نیست که به آن نیاز داشتم. تعداد زیادی جعبه استاندارد از تأمین کنندگان در دسترس است. با استفاده از یک اره کوچک ، یک چاقو ، مته و غیره به راحتی می توانید یک سوراخ برای صفحه نمایش در جعبه ایجاد کنید. اما من هرگز نتوانستم یک مستطیل زیبا درست کنم. احتمالاً مهارت و/یا حوصله کافی نیست ؛-)

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

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

توصیه شده: