فهرست مطالب:

ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو: 13 مرحله (همراه با تصاویر)
ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو: 13 مرحله (همراه با تصاویر)

تصویری: ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو: 13 مرحله (همراه با تصاویر)

تصویری: ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو: 13 مرحله (همراه با تصاویر)
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو
ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو
ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو
ساعت پیش بینی آب و هوا با استفاده از زنگ هشدار قدیمی و آردوینو

من یک ساعت زنگ دار خراب داشتم و ایده ای برای تبدیل آن به ایستگاه ساعت و پیش بینی آب و هوا به ذهنم رسید.

برای این پروژه به موارد زیر نیاز دارید:

  • ساعت زنگ دار قدیمی دایره ای
  • آردوینو نانو
  • ماژول سنسور BME280 (دما ، رطوبت ، فشار)
  • ماژول صفحه نمایش LCD از نوکیا 5110
  • ساعت RTC DS1307
  • شارژر باتری لیتیوم TP4056
  • باتری لیتیوم یون قدیمی از طریق تلفن همراه ذخیره شد
  • ماژول تقویت کننده 3.7 ولت تا 5 ولت کوچک
  • مقاومت وابسته به نور (LDR - نورسنج)
  • Buzzer (مورد استفاده یکی از کامپیوترهای قدیمی)
  • 3 دکمه فشاری
  • یک دسته مقاومت (2x10k ، 270 اهم) و یک ترانزیستور (2N2222A یا مشابه)
  • مقداری لوله جمع کننده عریض
  • PCB قراضه برای استفاده به عنوان تزئین صفحه جلویی
  • کابل فرمت Micro-USB (هر دو طرف زن و مرد Micro-USB هستند)
  • نمونه اولیه تخته 2x8cm و چند سیم

مرحله 1: همه چیز را جدا کنید

همه چیز را جدا کنید
همه چیز را جدا کنید

ابتدا ساعت قدیمی را جدا کردم. زنگ ، موتور ، مکانیسم ساعت خراب…

مرحله 2: دکمه های تنظیمات دیجیتال

دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال
دکمه های تنظیمات دیجیتال

از آنجا که ساعت جدید کاملاً دیجیتالی است و یک مینی کامپیوتر در داخل آن وجود دارد ، من 3 دکمه ساده با ظاهر زیبا در کنار آن اضافه کردم.

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

مرحله 3: خازن برای موتور

خازن برای موتور
خازن برای موتور

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

مرحله 4: چهره جدید برای ساعت

چهره جدید برای ساعت
چهره جدید برای ساعت
چهره جدید برای ساعت
چهره جدید برای ساعت

از آنجا که تصمیم گرفتم چهره جدیدی برای ساعت ایجاد کنم - من یک تخته مدار از شمع زباله دان خود برداشتم و از یک اسلحه گرم استفاده کردم تا همه اجزاء را به سرعت حذف کنم. سوراخ وسط برای صفحه دیجیتالی ساعت جدید ایجاد شده است.

مرحله 5: نمایش دیجیتال از تلفن همراه قدیمی

نمایش دیجیتال از تلفن همراه قدیمی
نمایش دیجیتال از تلفن همراه قدیمی
نمایش دیجیتال از تلفن همراه قدیمی
نمایش دیجیتال از تلفن همراه قدیمی

برای این پروژه تصمیم گرفتم از یک صفحه LCD از تلفن همراه نوکیا 5110 قدیمی استفاده کنم. این صفحه نمایش ها به صورت ماژول به طور گسترده ای برای فروش در دسترس هستند ، قدرت بسیار کمی را به خود اختصاص می دهند و کتابخانه های خوبی برای آردوینو وجود دارد. اگر در حال خرید یک ماژول جدید با صفحه 5110 هستید - شما سیاره را نجات می دهید زیرا همه ماژول های جدید از تلفن های نجات یافته 5110 ، 3110 و 3210 ایجاد شده اند!

مرحله 6: اتصال مدارها

اتصال مدارها
اتصال مدارها
اتصال مدارها
اتصال مدارها
اتصال مدارها
اتصال مدارها

شاید قبلاً حدس زده اید که من قصد داشتم از برد Arduino برای کنترل این ساعت استفاده کنم. این پروژه حتی برای طرفداران مبتدی آردوینو نیز به راحتی قابل تکرار است زیرا من تخته مدار خود را ایجاد نکرده ام. این یک برد آردوینو نانو با ماژول های متصل به آن است - سنسور دما ، فشار و رطوبت BME280 ، ساعت RTC DS1307 ، شارژر باتری لیتیوم TP4056 ، ماژول تقویت کننده کوچک 3.7 ولت تا 5 ولت ، مقاومت وابسته به نور (LDR - نورسنج) و زنگ (برگرفته از کامپیوتر قدیمی)

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

چند نکته در مورد راه اندازی:

  • موتور مستقیماً از طریق ترانزیستور از باتری متصل می شود. آردوینو ترانزیستور را از طریق مقاومت و پین PWM D5 کنترل می کند.
  • پین D7-12 برای اتصال LCD استفاده می شود. زمین و VCC روی برد اتصال به ریل متصل می شوند.
  • LDR روی سطح ساعت نصب شد و مقاومت + 3 سیم خروجی درست در پشت صفحه ساعت لحیم شد.
  • برای اتصال دکمه از عملکرد داخلی PULLUP در داخل آردوینو استفاده کردم. دکمه منو به وقفه متصل است و من بعدا متوجه شدم که شما همچنین می توانید از PULLUP داخلی برای وقفه نیز استفاده کنید. دکمه وقفه برای منو لازم است تا کد وضعیت دکمه ها را دائما اسکن نکند.
  • ساعت همچنین وضعیت باتری را کنترل و نمایش می دهد بنابراین باتری مستقیماً به پین A0 متصل می شود. ولتاژ باتری هرگز بیشتر از 4.2 ولت نیست بنابراین اتصال مستقیم باتری به پین آنالوگ آردوینو ایمن است.
  • زنگ مستقیماً به پین PWM D6 متصل است. اگرچه این یک تمرین خوب نیست ، اما من از این کار خودداری کردم زیرا آردوینو نانو می توانست مشخصات بالاتر از آنچه گفته شد را کنترل کند و همچنین به این دلیل که زنگ به طور مداوم کار نمی کند. تنظیمات مشابه به راحتی پین های بردهای ESP را می سوزاند ، بنابراین در این موارد توصیه می کنم از کنترل ترانزیستور استفاده کنید.
  • ساعت قبلاً یک سوئیچ داشت بنابراین تصمیم گرفتم از آن استفاده کنم. در پشت طبیعی به نظر می رسد.

مرحله 7: صفحه اتصال برای اتصالات آسان

صفحه اتصال برای اتصال آسان
صفحه اتصال برای اتصال آسان
صفحه اتصال برای اتصال آسان
صفحه اتصال برای اتصال آسان

همه ماژول ها به اتصالات مثبت و زمین احتیاج دارند ، بنابراین تصمیم گرفتم از تخته نمونه اولیه 2x8cm استفاده کنم و ریلهای 5V و Ground را به آن لحیم کردم. من همچنین یک راه آهن کوچک I2C در آنجا ایجاد کردم زیرا چندین ماژول با استفاده از رابط I2C داشتم.

در طرف دیگر من پین های استاندارد را لحیم کردم تا بتوانم در صورت نیاز ماژول ها را وصل و جدا کنم.

برخی از اجزای اضافی نیز مانند ترانزیستور و مقاومت برای کنترل موتور و مقاومت برای دکمه منو که از وقفه استفاده می کند در آنجا لحیم شدند. من شماتیک ها را در قسمت قبل نشان دادم.

btw آیا در تصویر اول می توانید سنسور LDR را که روی صفحه ساعت نصب شده است مشاهده کنید؟

مرحله 8: تنظیم برق

راه اندازی برق
راه اندازی برق

من برای تغذیه این ساعت از باتری لیتیوم یون قدیمی تلفن همراه خود استفاده کردم. معمولاً باتری های تلفن همراه که تعویض می شوند هنوز ظرفیت خوبی در خود دارند (حداقل نیمی از مقدار اولیه آن). مزیت آنها این است که دارای مدار محافظ تخلیه داخلی هستند و همچنین بسیار نازک هستند بنابراین می توان در سناریوهای فضایی کوچک از آنها استفاده کرد.

برای اتصال باتری ، سیم ها را به پین های + و - باتری لحیم کنید. نگران نباشید ، به سلول آسیب نمی رسانید زیرا یک کنترل کننده و فضای خالی بین پین ها و مواد شیمیایی سلول وجود دارد.

در این تصویر می توانید باتری و همچنین کنترل کننده شارژ TP4056 و تقویت کننده 5 ولت متصل به هم و باتری را مشاهده کنید. من از لوله های جمع کننده کوچک استفاده کردم تا همه چیز جدا و جمع و جور شود.

مرحله 9: میکرو USB برای شارژ و به روز رسانی سیستم عامل

میکرو USB برای شارژ و به روز رسانی سیستم عامل
میکرو USB برای شارژ و به روز رسانی سیستم عامل

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

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

از آنجا که می خواستم از آن برای شارژ و به روز رسانی عملکرد ساعت و ایستگاه هواشناسی استفاده کنم - کابل USB را جدا کردم ، سیم های برق را از طریق شارژر TP4056 و سیم های Data+/Data- مستقیماً به سوکت USB آردوینو نانو هدایت کردم. این را می توانید در شماتیک که در بخشهای قبلی نشان دادم مشاهده کنید.

مرحله 10: مونتاژ نهایی

مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی

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

برای مشاهده محل قرارگیری هر جزء ، روی عکس اول حرکت دهید.

مرحله 11: کد

همانطور که می بینید ، ساعت به طور کامل در داخل بسته بندی شده است. این باعث شد چیزی پیچیده تر از ساعت قدیمی من ایجاد شود - البته با توجه به اینکه برخی از مهارت های برنامه نویسی وجود دارد. من کد اولیه را نوشتم اما از دوستم خواستم که وارد شود و به من کمک کند.

تا کنون ، علاوه بر خود ساعت ، این عملکردهایی است که این پروژه قبلاً از آنها پشتیبانی می کند:

  • نمایش زمان و تاریخ (و همچنین زمان و فعال سازی زنگ هشدار در همان صفحه)
  • روشن شدن صفحه در شرایط تاریک یا هنگام تشخیص حرکت (بر اساس تغییرات نور)
  • پیش بینی آب و هوا (آفتابی ، ابری ، بارانی)
  • نمایش دما ، فشار و رطوبت (برای رطوبت نشان می دهد که آیا بیش از حد خشک شده است)
  • منوی تنظیمات: زنگ هشدار ، تغییر زمان ، فعال/غیرفعال کردن تاریخ ، فعال/غیرفعال کردن اعلان های تغییر وضعیت آب و هوا و تغییر بین واحدهای امپریالیستی و متریک
  • تنظیمات زنگ هشدار - روشن/خاموش ، تنظیم زمان ، تنظیم ملودی و/یا زنگ اعلان ها

آخرین کد:

کد در آینده با ویژگی های جدید به روز می شود ، بنابراین حتماً برای به روزرسانی سیستم عامل دوباره بررسی کنید:-)

اگر در دنیای آردوینو تازه کار هستید ، مراحل زیر را توصیه می کنم انجام دهید:

  • درایور USB را برای برد خود نصب کنید (به عنوان مثال CH340)
  • Arduino IDE را نصب کنید
  • کتابخانه های مورد استفاده در این پروژه را نصب کنید
  • از GitHub بارگیری کنید و آخرین کد پروژه را با استفاده از کابل Micro USB روی ساعت بارگذاری کنید (می توانید از تلفن همراه استفاده کنید)

الگوریتم پیش بینی به شرح زیر است:

آردوینو نانو هر 12 دقیقه اطلاعات جدیدی از سنسور BME280 دریافت می کند. چرخه اندازه گیری 3 ساعت است. پس از 3 ساعت ، محدوده نظارت فشار (حداکثر و حداقل مقدار در طول 3 ساعت) نسبت به مقادیر متوسط در محدوده جریان و مقدار فشار فعلی تغییر می کند. هر ساعت جهت تغییر فشار با مقدار فشار فعلی ذخیره می شود. واحدهای kPa برای محاسبه پیش بینی استفاده می شود.

با توجه به محدودیت حافظه نانو ، الگوریتم پیش بینی باید ساده شود. اما علیرغم ساده سازی ها ، می تواند بارش را در 12 تا 24 ساعت آینده پیش بینی کند ، هرچند پیش بینی در حال حاضر بدبینانه تر است - مقدار پیش فرض "آب و هوای ابری" است.

"آب و هوای آفتابی" - مقدار فعلی فشار 7 درجه بیشتر از حد معمول است ، فشار کاهش نمی یابد و تفاوت بین حداقل و حداکثر مقدار در 3 ساعت گذشته بیش از 2 امتیاز نیست.

بارش احتمالی "آب و هوای بارانی" - فشار فعلی 15 درجه کمتر از حد نرمال است و تفاوت بین حداقل و حداکثر مقادیر بیش از 2 امتیاز است یا فشار در حال کاهش است و تفاوت بین مقدار فعلی و نرمال 3 تا 30 امتیاز است.

برای بهبود کیفیت پیش بینی ، توصیه می شود "ارتفاع" خود را در فایل کد اصلی تغییر دهید. برای مثال می توانید ارتفاع خود را از اینجا دریافت کنید:

مرحله 12: فیلم مرحله به مرحله

Image
Image

اگر پیگیری آنچه در بالا انجام دادم دشوار بود ، در اینجا یک نسخه ویدئویی با تمام مراحل نشان داده شده است.

مرحله 13: کلمات پایانی

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

همه اجزای آن قیمت کمی دارند و در Sparkfun/Aliexpress/eBay/Amazon در دسترس هستند.

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

مسابقه ساعت
مسابقه ساعت
مسابقه ساعت
مسابقه ساعت

نفر دوم در مسابقه ساعت

توصیه شده: