فهرست مطالب:

ساعت دیواری با طراحی TheSUN ، آردوینو: 6 مرحله (همراه با تصاویر)
ساعت دیواری با طراحی TheSUN ، آردوینو: 6 مرحله (همراه با تصاویر)

تصویری: ساعت دیواری با طراحی TheSUN ، آردوینو: 6 مرحله (همراه با تصاویر)

تصویری: ساعت دیواری با طراحی TheSUN ، آردوینو: 6 مرحله (همراه با تصاویر)
تصویری: 35 ویدیوی Scary Ghost: Mega Compilation of 2023 [V1] 2024, جولای
Anonim
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو
ساعت دیواری طراحی شده توسط TheSUN ، آردوینو

سلام دوباره دستورالعمل ها-مردم!:-پ

به دلیل مشکلات حمل و نقل ، من نتوانستم پروژه ABTW خود را ادامه دهم ، بنابراین تصمیم گرفتم یکی دیگر ، جدیدترین ساخته خود را به شما نشان دهم.

فکر می کنم بسیاری از ما ، مانند من ، آن نوارهای LED قابل آدرس دهی (که LED NEOPIXEL نیز نامیده می شود) را دوست داریم. می توانید آنها را از ADAFRUIT تهیه کنید. فروشندگان دیگر نیز محصولات مشابهی را ارائه خواهند داد. کتابخانه ای در ADAFRUITS وجود دارد - GitHub (روی من کلیک کنید) شامل چند نمونه کد. بنابراین کدگذاری باید مستقیما…

من آن NEOPIXELS را با یک فکر دیدم ، با این چیزهای کوچک براق چه می توانم بکنم.

  • صفحه نمایش ماتریس LED؟ -> پیچیده است و من از آن استفاده نمی کنم (در حال حاضر)
  • نورپردازی ایکس ماس؟ -> متناسب با فصل است ، اما خرید آن ارزان تر خواهد بود:-P
  • ساعت؟ -> چرا که نه! اما باید شیک و غیر متعارف باشد

بنابراین ، بیایید یک ساعت دیواری بسازیم.

اگر نگاهی دقیق به ساعت مچی خود داشته باشیم (اگر شما مشابه من دارید) متوجه می شویم که 12 ساعت و 60 دقیقه زمان داریم (امیدوارم). این بدان معناست که ما به 60 LED قابل آدرس دهی نیاز داریم ، phu! اگر یک نوار با 60 LED / متر برداریم ، قطر 318 میلیمتر ((شعاع = محدوده / (2*Π)) بدست می آوریم که قطعاً خیلی بزرگ

حقیقت این است که اگر از کسی وقت بخواهید ، هیچ کس نخواهد گفت که 2 دقیقه و 3 دقیقه است! به عنوان پاسخ "It is 5 past 3" را دریافت خواهید کرد. بنابراین چرا نباید همه چیز را به 5 دقیقه کاهش دهیم؟ برای این کار ما فقط به 12 LED نیاز داریم ، به این معنی که قطر 63.6 میلی متر داریم. ما همچنین می توانیم ساعت ها و دقیقه ها را با دادن یک رنگ جداگانه به یکدیگر متمایز کنیم. ما همچنین قادر خواهیم بود مراحل "از دست رفته" یک دقیقه ای را با یک نوار اضافی 4 LED (یا LED LED آدرس پذیر) ارائه دهیم.

این برنامه است! بیایید نگاهی بیندازیم که چگونه همه کارها را انجام دادم. مثل همیشه ، من لیست/صورتحساب مواد و دستورالعمل هایی در مورد نحوه ساخت آن ارائه می دهم.

اگر فکر می کنید ، فقط سوئیسی ها می توانند ساعتهای باحال بسازند ، بیایید اثبات کنیم که شما در اشتباه هستید (متأسفانه سوئیس:-P)

مرحله 1: طراحی و انتخاب مواد

طراحی و انتخاب مواد
طراحی و انتخاب مواد
طراحی و انتخاب مواد
طراحی و انتخاب مواد

طرح:

اگر دوباره نگاهی به ساعت/ساعت آنالوگ خود بیندازیم ، می بینیم که دایره به پله های 12 * 30 درجه ای که می شناسیم تقسیم شده است و برای نوار LED به 63.6 میلی متر نیاز داریم. بنابراین باید بتوان نوار را به دور یک لوله به نحوی تراز کرد. من تصمیم گرفتم از شیشه اکریلیک استفاده کنم ، زیرا ظاهر زیبایی دارد و می توان نور LED را در آن قرار داد و در هر عیب شیشه پراکندگی نور اتفاق می افتد. بنابراین ، بگذارید بگوییم: ناخالصی های بیشتر منجر به پراکندگی بیشتر نور می شود! این دقیقاً همان چیزی است که ما می خواهیم بنابراین با خیال راحت ابزارهای حکاکی خود را بگیرید و خلاق باشید:-)

اگر به لیست BoM من و نامی که به ساعت دادم مراجعه کنید ، من طرحی شبیه به خورشید را انتخاب کرده ام. من تمام قطعات اکریلیک را از فروشنده آلمانی در E-Bay دریافت کردم (پیوند ارائه شده در BoM). برای طراحی من شما نیاز خواهید داشت:

  • صفحه آکریلیک ، ضخامت شفاف = 6 میلی متر ، قطر = 300 میلی متر
  • صفحه میانی اکریلیک ، ضخامت شفاف = 3 میلی متر ، قطر = 150 میلی متر
  • صفحه جلویی اکریلیک ، ساتن ، ضخامت = 3 میلی متر ، قطر = 90 میلی متر
  • لوله اکریلیک ، شفاف ، قطر خارجی = 64 میلی متر (این بدان معناست که ما باید کمی با نوار LED تغییر دهیم)
  • میله اکریلیک ، شفاف ، قطر = 5 میلی متر (این پرتوهای ما خواهند بود) ؛ همچنین میله های اکریلیک در اطراف با حباب در داخل وجود دارد ، من آنها را توصیه می کنم اما آنها را در اطراف ندارم.
  • چسب اکریلیک

الکترونیک (به فایلهای Fritzing مراجعه کنید):

  • آردوینو مینی (یا مشابه)
  • 1 نوار LED آدرس پذیر (12 LED برای ساعت و 5 دقیقه مرحله)
  • 4 LED آدرس پذیر (یک دقیقه)
  • 2 مقاومت 330 اهم
  • 1 خازن 1000 µF
  • 1 منبع تغذیه (5 ولت/500 میلی آمپر)
  • RTC DS-1307 (اختیاری!)
  • ماژول بلوتوث (اختیاری! بله می توانید زمان را از طریق BT و تلفن هوشمند Android تنظیم کنید)

اگر از خود می پرسید چرا تراشه های MAX485 را در BoM خود دارم. پاسخ این است که من می خواهم ساعت را با سیستم اتوماسیون خانگی که قرار است ایجاد کنم همزمان کنم (هرگز مجبور نباشم دوباره ساعت را برای صرفه جویی در روز تنظیم کنم:-P). در وبلاگ بعدی در ساعت بعدی توضیح خواهم داد چند هفته/ماه

همانطور که توجه کردید ، من نیز سعی می کنم ساعت را با برخی از پنل های خورشیدی و LiPo از شبکه خارج کنم ، اما این را در این دستورالعمل نمی دانم که خودتان امتحان کنید.

مرحله 2: قطعات اکریلیک را آماده کنید

قطعات اکریلیک را آماده کنید
قطعات اکریلیک را آماده کنید
قطعات اکریلیک را آماده کنید
قطعات اکریلیک را آماده کنید
قطعات اکریلیک را آماده کنید
قطعات اکریلیک را آماده کنید

ابزارها:

اول از همه ، اگر طرح DWG را که در مقیاس 1: 1 اضافه کرده اید چاپ کنید ، بسیار مفید است. این به شما کمک می کند تا همه قسمت ها را تراز کنید و به عنوان یک طرح حفاری عمل می کند. بعلاوه به موارد زیر نیاز خواهید داشت:

  • سرگرمی
  • میتر سنج
  • اره برقی
  • گیره
  • دریل دستی
  • می تواند مته ، قطر 65 میلی متر
  • مجموعه ای از مته های فلزی
  • یک فایل فلزی کوچک
  • چسب اکریلیک

بیا شروع کنیم:

صفحه زمین را بردارید و آن را در نقشه تراز کنید تا بتوانید مرکز دایره را بدست آورید. اکنون مته دستی خود را با مته قوطی نصب شده روی آن بردارید و سوراخی در مرکز صفحه زمین (بسیار آهسته! نه با فشار زیاد) انجام دهید ، دایره بیرونی باید 2-3 میلی متر عمق داشته باشد. بدین منظور نوار LED را در صفحه زمین فرو می برید (نوار LED عرض 10 میلی متر ، تیرها فقط 5 میلی متر قطر دارند) و آنها را با تیرها تراز می کنید (به تصویر 1 مراجعه کنید).

اکنون ما به اره برقی ، میتر سنج و لوله اکریلیک نیاز داریم. فقط آن را تکه تکه کنید تصمیم گرفتم بدنه (لوله) را به طول 40 میلی متر بسازم (تصویر 2). حالا دوباره اره برقی را بگیرید و در یک طرف لوله کمی خرگوش درست کنید ، با فایل فلزی آن را صاف کنید. آنجا سیمها بیرون می آیند ؛-) (به تصویر 3 مراجعه کنید)

زمان لازم برای چسباندن … صفحه وسط (d = 150 میلی متر) و صفحه جلویی (صفحه اشباع شده) را بردارید. دوباره آنها را روی نقشه قرار دهید ، مقداری چسب در وسط صفحه وسط قرار دهید ، صفحه جلو را تراز کرده و صبر کنید تا چسب کمی سفت شده است چسب مورد استفاده من سخت می شود و ممکن است تا 2-3 ساعت طول بکشد ، بنابراین شما می خواهید از گیره استفاده کنید … (تصویر 3 و 4)

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

صبر کنید تا سخت شود!

اکنون می توانیم 2 قسمت را (بصورت کتابخانه ای) روی طرح قرار دهیم و 4 سوراخ یک دقیقه ای ما (قطر 5 میلی متر یا قطر LED انتخابی شما را سوراخ کنیم ؛ آن را با فشار زیاد آهسته انجام دهید). با عمق حدود 8-9 میلی متر. مراقب باشید ، بشقاب ساتن بسیار شکننده است و در صورت عمق زیاد می تواند ترمز کند. اکنون می توانید آنها را به هم بچسبانید یا تصمیم بگیرید ، مانند من تهدیدی را به صفحه زمین برش داده و آن را با پیچ وصل کنید.

دوباره منتظر بمانید تا چسب سفت شود. حالا تیرها را روی صفحه زمین بچسبانید و بچسبانید. (تصویر 6) حدس بزنید … صبر کنید تا چسب سفت شود:-) بگذارید به سراغ وسایل الکترونیکی برویم…

مرحله 3: الکترونیک

الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک
الکترونیک

ابزارها:

  • آهن لحیم کاری
  • لحیم کاری
  • چاقوی سرگرمی
  • یک قطعه کوچک از PCB نمونه اولیه
  • سیم میناکاری شده یا هر سیم دیگری که ترجیح می دهید
  • چسب گرم

من تنها با LED ها توضیح دادم. اگر از سیم مینای دندان استفاده می کنید ، قبل از لحیم کاری لاک را فراموش نکنید. برای این کار می توانید از چاقوی سرگرمی استفاده کنید. آنها را سیم بندی کنید ، می توانید به تصویر با pinout در flikto.de مراجعه کنید. توجه داشته باشید که DOUT در LED بعدی به DIN می رود! (تصویر 2 را ببینید) پس از آن می توانید نوار LED را با 3 LED به 4 عنصر تقسیم کنید. به یاد داشته باشید ، ما دارای نوار LED 63.6 میلی متر و قطر بیرونی لوله 64 میلی متر هستیم ، بنابراین ما به "طول اضافی" نیاز داریم تا دقیقاً با تیرها مطابقت داشته باشد. آن را با سیم میناکاری شده مانند تصویر 4 سیم کشی کنید. من یک PCB اولیه اولیه درست کردم به عنوان "مهار قدرت" و شامل اجزای نوارهای LED (دو مقاومت 330 اهم و خازن 1000 µF ، تصویر 7) خواهد شد. برای این منظور به Fritzing Image مراجعه کنید.

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

شما می توانید همین کار را برای LED های تک (در نهایت آینه کاری) انجام دهید ، فقط مقداری چسب حرارتی اضافه کنید و آنها را در سوراخ های از پیش سوراخ شده فشار دهید.

هنوز آردوینو را متصل نکنید ، ما از سریال سخت افزاری برای اتصال BT استفاده می کنیم ، بنابراین ابتدا مراحل بعدی را که در آن نرم افزار را شرح می دهم بررسی کنید.

مرحله 4: کد

کد
کد
کد
کد

اکنون می توانید طرح را در آردوینو بارگذاری کنید. اکنون می توانید نوارهای LED را سیم کشی کنید. ماژول BT را وصل نکنید !!! ما ابتدا می خواهیم کد را بررسی کنیم ، شما باید بدانید کجا می توانید چندین مورد را تغییر دهید…

Arduino IDE و کتابخانه ها را بارگیری کنید. Arduino IDE ، AdafruitNeoPixel ، Time ، DS1307RTC

IDE را نصب کرده و کتابخانه ها را در پوشه Library قرار دهید. فایل پیوست INO را باز کرده و آن را در arduino خود بارگذاری کنید. کدی که در اینجا توضیح داده شده است یکسان است اما با نظرات اضافی! اگر همه کارها را به درستی انجام داده اید ، اکنون می توانید "bootanimation" را مشاهده کنید. امکان تنظیم زمان بر روی مانیتور سریال وجود دارد. فقط کافی است @"hour"/"min"/"sec" @را تایپ کنید. @10/33/00 (10:33).

با کد بازی کنید … در اینجا توضیح مختصری از کد (راه اندازی بدون RTC!)

تعاریف:

#deinine PIN 6 // Hour LED Strip #define MINPIN 5 // Singelminute LED #define NUMPIXELS 12 // تعداد پیکسل ها در ساعت #تعریف MINNUMPIXELS 4 // تعداد پیکسل ها برای یک دقیقه #تعریف BAUDRATE 115200 // Baudrate ، باید مطابقت داشته باشد baudrate از BT Module #define utch '@' // شروع BYTE of TimeSync

int timeset = 0؛ // پرچم برای ذخیره اگر زمان بعد از bootint delayval = 20 تنظیم شده است؛ // تاخیر در محو شدن انیمیشن int clocktimer = 10000؛ // time refresh int timebright = 250؛ // روشنایی ساعت Strip int mtimebright = 50؛ // روشنایی singelminint مقداردهی اولیه = 0؛ // پرچم برای فراخوانی تابع clearpixels بعد از بوتین ساعت int oldahour = 0؛ // فروشگاه قبلی ساعت آمینوت ؛ int oldamin = 0؛ // دقیقه قبلی را برای تازه سازی در ثانیه ذخیره می کند. int aday؛ int amonth ؛ int ayear؛ int mmin؛ tmElements_t tm ؛

// راه اندازی برای 2 آرایه LED NeoPixel (NAME = TYPE (تعداد پیکسل ها ، کدام پین ، فرم RGB یا GRB ، FREQ) ؛ برای اطلاعات بیشتر به راهنمای Adafruit مراجعه کنید. میناپیکسل Adafruit_NeoPixel = Adafruit_NeoPixel (MINNUMPIXELS ، MINPIN ، NEO_RGB + NEO_KHZ800) ؛

برپایی:

void setup () {

Serial.begin (BAUDRATE)؛ Wire.begin ()؛ // ابتدا نوارها ، همه OFFpixels.begin ()؛ minpixels.begin ()؛ pixels.show ()؛ minpixels.show ()؛

// کمی animationSerial.println ("SUNRISE") ایجاد کنید؛ طلوع خورشید()؛ تاخیر (1000) ؛ Serial.println ("SUNSET") ؛ غروب خورشید ()؛ pixels.show ()؛ Serial.println ("آماده") ؛ }

LOOP:

حلقه void () {// زمان را همگام سازی کنید (Serial.available ()> 0) {char c = Serial.read ()؛ if (c == utch) // اگر در خط @ وجود دارد ، بایت /int های آینده را بخوانید {readtime ()؛ }} // LED ها را روشن کنید ، انیمیشن بوت را روشن کنید

if (مقداردهی == 0) {clearpixels ()؛ مقداردهی = 1؛ }

ساعت = ساعت ()؛

aminute = دقیقه ()؛ if (timeset == 1 || timeset == 0) // در اینجا می توانید بررسی کنید که آیا زمان تنظیم شده است ، اگر Timeset = FALSE است ، می توانید برنامه را در اینجا متوقف کنید ، فقط "|| timeset == 0" را حذف کنید!

{

if (oldamin <aminute || oldahour همه را روی OFF تنظیم کنید ، زمان جدید را نشان دهید {clearpixels ()؛ ClockDisplay ()؛}}}}

نمایش ساعت:

void ClockDisplay () {

oldahour = ahour؛

oldamin = aminute؛ int xhour، xmin؛

if (ahour> = 12) {xhour = ahour-12؛ // ما فقط 12 LED برای نمایش 24 ساعته داریم} else {xhour = ahour؛ } // مقیاس آن را در 5 دقیقه مراحل xmin = (aminute /5)؛ if (oldamin <aminute) {oldamin = aminute؛ clearpixels ()؛ } // بقیه بخش را در قسمت singelmin LED mmin = (aminute٪ 5) بگیرید؛ // اپراتور modulo به عنوان مثال. 24٪ 5 = 4! بسیار مفید: -Ppixels.setBrightness (timebright) ؛ pixels.setPixelColor (xmin ، pixels. Color (5 ، 125 ، 255)) ؛ // می توانید رنگها را در اینجا تغییر دهید! بازی در اطراف! pixels.setPixelColor (ساعت ، پیکسل. رنگ (255 ، 50 ، 0)) ؛ pixels.show ()؛

// نمایش minsfor منفرد (int m = 0؛ m

minpixels.setBrightness (mtimebright) ؛ minpixels.setPixelColor (متر ، پیکسل. رنگ (255 ، 255 ، 0)) ؛ minpixels.show ()؛ }} اطلاعات TIME را از سریال بخوانید و پردازش کنید

void readtime () // اگر قبلاً داده های پیش رو را با "@" پردازش کرده باشیم و زمان TIME Lib را ذخیره کنیم {

ahour = Serial.parseInt ()؛ aminute = Serial.parseInt ()؛ asecond = Serial.parseInt ()؛ aday = Serial.parseInt ()؛ amonth = Serial.parseInt ()؛ ayear = Serial.parseInt ()؛ Serial.println ("TIMESET")؛ Serial.print (ahour)؛ Serial.print (":")؛ Serial.println (آمینوت) ؛ setTime (ساعت ، ساعت آمینوت ، ثانیه ، aday ، amonth ، ayear) ؛ }

همه را پاک کن

void clearpixels () // هر PIXEL را برای خاموش کردن صفحه برای خاموش کردن صفحه تنظیم کنید {

pixels.begin ()؛ minpixels.begin ()؛ برای (int i = 0؛ ipixels.setPixelColor (i، pixels. Color (0، 0، 0))؛ minpixels.setPixelColor (i، pixels. Color (0، 0، 0))؛ pixels.show ()؛ minpixels.show ()؛}}

مرحله 5: APP Android و اتصال BT

اتصال Android APP و BT
اتصال Android APP و BT
APP Android و اتصال BT
APP Android و اتصال BT
اتصال Android APP و BT
اتصال Android APP و BT

اگر در مراحل قبلی موفق بوده اید ، اکنون می توانید ماژول BT خود را سیم کشی کنید. (امیدوارم مطمئن شده باشید که باودرات مطابقت دارد). عبور از خطوط TX و RX را فراموش نکنید:-)

برنامه را بارگیری و نصب کنید ، با دانگل BT خود جفت شوید ، برنامه را راه اندازی کنید ، به دانگل متصل شوید و زمان را با تلفن همراه خود همگام سازی کنید. APP اساساً همان کاری را می کند که قبلاً انجام دادیم. فقط @hh/mm/ss/dd/mm/YYYY تولید شده از سیستم زمان خود را ارسال می کند. من همچنین APIA API API Inventor و توضیحاتی را در مرحله بعد (برای علاقه مندان) ارائه کردم.

مرحله 6: APPInventor

APPInventor
APPInventor
APPInventor
APPInventor

APP Inventor بسیار آسان برای استفاده است و ارزش تلاش برای چنین برنامه ساده ای را دارد.

اگر پروژه جدیدی بسازید ، خود را در صفحه DESIGNER پیدا خواهید کرد. (تصویر 1) این جایی است که ما جداول ، دکمه ها ، حسگرها و سایر عناصر را برای استفاده بیشتر اضافه می کنیم. در مورد ما به موارد زیر نیاز داریم:

  • یک جدول (برای تراز کردن همه عناصر)
  • listpicker (برای انتخاب دستگاه BT که به آن متصل می شویم)
  • یک دکمه (برای شلیک TIME بیش از BT)
  • برخی از برچسب ها (نمایش زمان و تاریخ واقعی)
  • سنسور ساعت (زمان را تازه کنید)
  • سنسور مشتری بلوتوث (اتصال)

افزودن آنها به سادگی کشیدن و رها کردن آسان است! در تصویر 2 می توانید نمای کلی از "APP" را در صفحه BLOCKS مشاهده کنید. خوب ، این اساساً جایی است که همه "جادوها" اتفاق می افتد. در بالا من تعدادی متغیر برای ذخیره زمان و تاریخ ایجاد کردم. اولین بلوک در سمت چپ بالا عنصر listpicker را با لیست دستگاه های BT جفت شده راه اندازی می کند. با بلوک دوم تصمیم می گیریم با عنصر قبلاً انتخاب شده چه کنیم. خوب ، ما می خواهیم به آن متصل شویم.

اگر نگاهی دقیق به بلوک بعدی داشته باشید ، می توانید ببینید که اگر وضعیت BT "متصل" باشد ، پیام BT را تولید می کنیم. این همان چیزی است که قبلاً در SerialMonitor تایپ کرده بودیم. آخرین بلوک در سمت چپ صفرهای اصلی را برای نمایش زمان به ما ارائه می دهد (به عنوان مثال 01:08). در سمت راست می توانید آخرین بلوک ما را پیدا کنید ، جایی که ما از عنصر ساعت استفاده می کنیم. در اینجا متغیرها را به روز می کنیم و آنها را با روش ارقام ادغام می کنیم ، هر 1000 میلی ثانیه این اتفاق می افتد (تنظیم پیش فرض ، آن را در حالت طراح تغییر دهید) و مقادیر به روز شده را با برچسب نمایش دهید. این فقط یک توضیح مختصر است ، اما APPInventor واقعاً به همین سادگی است:-) شاید کسی در جامعه باشد که بخواهد یک نرم افزار برای iOS یا WindowsPhone بنویسد. (عالی خواهد بود)

امیدوارم از Instructable من خوشتان آمده باشد! با ساعت دیواری جدید خود لذت ببرید! شاید می خواهید آن را به کسی که دوستش دارید هدیه دهید (فصل X-Mas آن):-)

و اگر س questionsالی وجود داشت ، از من بپرسید!

با احترام و Merry X-Mas.

توصیه شده: