فهرست مطالب:

ساعت مکعبی چند منظوره بر اساس موقعیت: 5 مرحله (همراه با تصاویر)
ساعت مکعبی چند منظوره بر اساس موقعیت: 5 مرحله (همراه با تصاویر)

تصویری: ساعت مکعبی چند منظوره بر اساس موقعیت: 5 مرحله (همراه با تصاویر)

تصویری: ساعت مکعبی چند منظوره بر اساس موقعیت: 5 مرحله (همراه با تصاویر)
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, نوامبر
Anonim
Image
Image
ساعت مکعبی چند منظوره بر اساس موقعیت
ساعت مکعبی چند منظوره بر اساس موقعیت
ساعت مکعبی چند منظوره بر اساس موقعیت
ساعت مکعبی چند منظوره بر اساس موقعیت

پروژه های Fusion 360 »

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

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

من چند هدف برای این پروژه داشتم:

  1. آن زمان را با گزینه خاموش نشان دهید
  2. شامل عملکرد نور شب
  3. دارای ساعت خواب 15 دقیقه ای با زنگ هشدار
  4. قادر به نمایش تاریخ باشد

تدارکات

  • آردوینو پرو مینی 5 ولت
  • شتاب سنج 3 محوره ADXL335
  • ساعت دقیق DS3231 AT24C32 IIC زمان واقعی
  • بلندگوی کوچک
  • صفحه نمایش OLED SSD1306 IIC 0.96in
  • منبع تغذیه 5 ولت DC
  • LED x 2
  • مقاومت 220 اهم در 2
  • جک بشکه DC
  • سیم
  • ابزارها

    • دستگاه های برش سیم/استریپر
    • لحیم کاری/لحیم کاری
    • چاپگر سه بعدی (اختیاری)
    • برنامه نویس FTDI برای اتصال بین Pro mini و Arduino IDE

مرحله 1: نمونه اولیه و آزمایش مدار

نمونه اولیه و آزمایش مدار
نمونه اولیه و آزمایش مدار
نمونه اولیه و آزمایش مدار
نمونه اولیه و آزمایش مدار
نمونه اولیه و آزمایش مدار
نمونه اولیه و آزمایش مدار

قطعات را به آردوینو وصل کنید. طرح و شکل شماتیک نان در بالا نشان داده شده است. RTC و OLED از پروتکل I2C برای ارتباط با آردوینو و استفاده از پین A4 و A5 استفاده می کنند. شتاب سنج از 3 پین آنالوگ استفاده می کند. من از A0 ، A1 ، A2 استفاده کردم. LED ها و Piezo می توانند از هر یک از پین های دیجیتال استفاده کنند ، به ترتیب از 4 و 8 استفاده کردم.

رابط با هر جزء. من مجبور شدم برخی کتابخانه های آردوینو را برای ارتباط با هر جزء نصب کنم. آنها در تصویر بالا نشان داده شده اند.

کد را با استفاده از Arduino IDE انجام دهید. برخی از طرحهای نمونه ارائه شده توسط هر کتابخانه را بررسی کردم تا نحوی مناسب برای هر جزء را بر اساس آنچه می خواستم انجام دهم ، مشخص کنم. من یک طرح برای هر جزء ارائه دادم تا آنها را به صورت جداگانه آزمایش کنم. آنها در زیر ارائه شده است. من با بلندگوی پیزو شروع کردم زیرا ساده ترین بود. در واقع نیازی به کتابخانه خاصی نداشت ، فقط یک عملکرد خاص که فرکانس و صدا را تنظیم می کند. برای کارکردن LED ها فقط نیاز به کشیدن یکی از پایه های دیجیتال به بالا و پایین داشت. در مرحله بعد ، من به OLED رفتم و تنظیم آن نیز بسیار ساده بود. طرح زیر نمایشی از Adafruit است که تمام انیمیشن ها/متن های قابل نمایش را مرور می کند. سپس ، من سعی کردم RTC را کار کنم. طرح ارائه شده بخشی از نمونه ای در کتابخانه بود که زمان فعلی را دریافت می کند و آن را در مانیتور سریال چاپ می کند. در نهایت ، از مثال ارائه شده برای آزمایش شتاب سنج استفاده کردم. خروجی های هر محور روی مانیتور سریال چاپ می شود.

اکنون وقت آن است که همه چیز را کنار هم قرار دهیم!

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

برنامه اصلی
برنامه اصلی
برنامه اصلی
برنامه اصلی

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

من نیاز به نمایش زمان و تاریخ در OLED داشتم که نسبتاً ساده بود. فقط باید زمان فعلی را به جای نمایشگر سریال روی صفحه چاپ می کردم. چند مورد برای قالب بندی وجود داشت که باید آنها را در نظر می گرفتم تا بتوانم فرمت 12 ساعته را به جای 24 نمایش دهم و 0 ها را در جایی که مناسب بودند اضافه یا حذف کنم. این تاریخ با افزودن نمایش ماه و روز در مستطیل های کشیده شده بر روی صفحه مشابه بود. من از یک حلقه تو در تو برای ایجاد تایمر استفاده کردم و پیزو را پس از پایان حلقه راه اندازی کردم. با خاموش شدن صدای زنگ که یک انیمیشن اصلی برگرفته از نسخه ی نمایشی Adafruit بود ، تصمیم گرفتم صفحه را فلش کنم. برگشتن مکعب به حالت ساعت را تنها راه خاموش کردن زنگ صدا کردم. سرانجام ، من راهی برای خاموش کردن صفحه می خواستم که فقط با پاکسازی صفحه به دست آمد. اکنون ، من برای کار بر اساس خروجی های شتاب سنج به همه این توابع نیاز داشتم. من از اسکریپت Accel_Test برای تعیین مختصات محور هر موقعیتی که می خواستم هر تابع اجرا شود استفاده کردم. تراشه شتاب سنج را به صورت دستی جابجا کردم و خوانش ها را در مانیتور سریال ثبت کردم. نمودار بالا مختصات خروجی هر موقعیت را در خاکستری نشان می دهد. مختصات در RED مرزهای بین هر موقعیت هستند و من از این اعداد برای برنامه خود استفاده کردم. در 4 موقعیت نمایش ، فقط مختصات محور X و Y مورد نیاز است. موقعیت پنجم برای نور شب از محور Z استفاده می کند. من از دستورات IF ساده برای موقعیت های شتاب سنج قبل از هر بلوک تابع استفاده کردم. اگر از شتاب سنج دیگری استفاده می کنید ، ممکن است این مختصات متفاوت باشند و باید در برنامه تنظیم شوند.

مرحله 3: چاپ سه بعدی مکعب

چاپ سه بعدی مکعب
چاپ سه بعدی مکعب
چاپ سه بعدی مکعب
چاپ سه بعدی مکعب
چاپ سه بعدی مکعب
چاپ سه بعدی مکعب

من فکر کردم یک مکعب بهترین طراحی برای تطبیق نحوه عملکرد ساعت است. برای ساخت مدل از fusion360 استفاده کردم. من به یک برش برای OLED و جک بشکه نیاز داشتم. من همچنین می خواستم دسترسی آسان برای جایگزینی باتری سلول در RTC پس از وصل شدن همه چیز را داشته باشم. من به یک شکاف برای نگه داشتن Arduino در جهت نیاز داشتم که در صورت لزوم برنامه ریزی مجدد آسان باشد. علاوه بر این ، محفظه باید به راحتی قابل جابجایی باشد تا بتوانم به آردوینو دسترسی داشته باشم. مدل CAD را در بالا مشاهده می کنید و فایل های STL در زیر است.

من بدنه را با رنگ مشکی PLA با 20٪ پر کردن ، وضوح 0.2 میلی متر چاپ کردم.

محفظه یا آستین در رشته انعطاف پذیر Solutech با پر شدن 100٪ ، وضوح 0.3 میلی متر چاپ شده است. من از این ماده استفاده کردم زیرا انعطاف پذیری بالایی دارد که باعث می شود کشش روی بدن آسان شود. همچنین هنگام چرخاندن ساعت به اطراف احساس نرم تری نسبت به آن دارد. سرانجام ، من یک فیلامنت شفاف را انتخاب کردم تا LED های نورهای شب از طریق آن روشن شوند.

مرحله 4: مونتاژ

مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ

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

مرحله 5: بارگذاری کنید و تمام شد

بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!
بارگذاری کنید و تمام شد!

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

امیدوارم از ساخت این پروژه لذت ببرید و آن را مانند من مفید بدانید. قسمت خوب این پروژه این است که بسیار قابل تنظیم است. با خیال راحت می توانید عملکردهای مختلف خود را مانند عملکرد زنگ هشدار اضافه کنید ، از اجزای مختلف مانند OLED بزرگتر ، گیرنده رادیو FM و غیره استفاده کنید.

توصیه شده: