فهرست مطالب:
- مرحله 1: جمع آوری قطعات و کارهای چوبی
- مرحله 2: دایره های اکریلیک
- مرحله 3: لحیم کاری
- مرحله 4: کد
- مرحله 5: روغن دانمارکی
تصویری: ساعت Ish: 5 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
من اغلب خودم را در حال خرید چیزهایی می دانم که نمی دانم با آنها چه می کنم. این پروژه در نتیجه خرید حلقه ای است که دارای 12 برابر LED های WS2812b است. من هیچ برنامه ای برای آن نداشتم ، اما آنلاین به نظر می رسید جالب است ، بنابراین من آن را در سبد خریدم قرار دادم ، وقتی وارد شد مدتی با آن بازی کردم و سپس همه چیز را فراموش کردم.
مدتی بعد به ساخت ساعت فکر می کردم و یادم آمد آنجا نشسته بود و کاری نمی کرد. من در مورد خرید حلقه دوم با 60 LED روشن برای جبران دقیقه فکر می کردم ، اما سپس شروع به فکر کردم که ما / من چگونه تمایل داریم در آن زمان نگاه کنیم و آن را به نزدیکترین 5 دقیقه نزدیک کنیم.
با استفاده از این در حلقه من با حلقه 12 LED خود راه افتادم تا ساعت قدیمی را بسازم. نمایش 1 LED به طور همزمان برای 1 ثانیه ، برای نشان دادن ساعت (LED آبی) و سپس دقیقه (LED قرمز) به پایین
مرحله 1: جمع آوری قطعات و کارهای چوبی
من بسیار خوش شانس بودم که یک روز به محل کار رسیدم و پالت را دیدم. این پالت به من چسبیده بود زیرا شبیه استاندارد پالت آسیاب شما نبود. این تمیز ، گرم و بلوط جامد غیر معمول بود.
این پروژه از یکی از قطعات آن پالت ساخته شده است. (قبل از اینکه آن را به خانه ببرم از رئیس پرسیدم)
همچنین استفاده می شود:
- حلقه LED 12 پیکسلی ws2812b
- ماژول ساعت واقعی (RTC) (از DS3231 با I2C استفاده می کنم)
- سازگار با آردوینو نانو v3.0
- ورق اکریلیک (5 میلی متر)
- سیم رنگی
ابزارها
- مته قدرت
- روتر
- بیت چوبی تخت قابل تنظیم
- دستگاه ساینده برق
- اره دستی
- آهن لحیم کاری
- چسب حرارتی تفنگی
- سمباده
- نفت دانمارکی
سنباده زنی
من با استفاده از دستگاه سنسور قدرت صاف و تمیز کردن چوب را تا همه طرف تمیز و صاف کردم. من برخی از نواقص را قابل مشاهده گذاشتم و کاملاً صاف یا مربع نیست زیرا دوست دارم بتوانم برخی از تاریخچه را در چوب ببینم.
علامت گذاری و برش سوراخ ها
بعد از سنباده زنی سمت دل ساعت را انتخاب کردم و با کشیدن خطوط از هر گوشه مرکز را مشخص کردم. من چوب قابل تنظیم را کمی بزرگتر از حلقه led قرار دادم تا یک قفسه برای قرار دادن اکریلیک و عمق حدود 5 میلی متر وجود داشته باشد ، سپس برش را به اندازه حلقه LED تنظیم کرده و 5 میلی متر دیگر را برش دهید. به
مسیریابی و سوراخ های کابل
با استفاده از روتر خود با بیت 12 میلی متری ، یک سوراخ را در پایین بلوک قرار دادم تا RTC و آردوینو پنهان شود. عمق آن حدود 15 میلی متر است و از هر لبه کمتر از 5 میلی متر نیست. من مرکز (ish) را از پایین علامت گذاری کردم و با استفاده از یک بیت 10 میلی متری فقط نیمه راه را حفاری کردم تا سیم های LED را مجاز کنم. سپس با استفاده از یک بیت 5 میلی متری از مرکز حفره LED حفاری کردم تا سوراخ 10 میلی متری را از پایین برآورده کنم.
یک سوراخ 4 میلی متری از پشت برای ورود نیرو و استفاده از یک روتر کوچکتر برای ایجاد یک کانال برای سیمهای پشت حلقه LED و کار چوب انجام شده است.
مرحله 2: دایره های اکریلیک
برای ساختن اکریلیک برای جلو ساعت ، من برش یک قطعه مربع را که فقط بزرگتر از حفره ای بود که باید پر می کرد ، برش دادم. سپس با استفاده از دستگاه سنسور قدرت شروع به برداشتن گوشه ها کردم تا اینکه شکل و اندازه مناسب پیدا کرد. سپس به سنباده زنی دست روی آوردم تا بیش از حد شلیک نکنم و مجبور باشم از نو شروع کنم.
این یک روند آهسته و خسته کننده از آزمایش و خطا بود تا زمانی که درست کار کرد ، اما من فکر می کنم نتیجه نهایی ارزش آن را داشت. من با استفاده از یک کاغذ دانه ای بسیار خوب کار را تمام کردم تا جلوه ای از اکریلیک را به صورت مات جلوه دهد.
مرحله 3: لحیم کاری
من دوست دارم از یک سیستم رنگی برای سیمهایم در این مناسبت که انتخاب می کنم استفاده کنم:
- قرمز برای قدرت (5 ولت)
- سفید برای زمین
- زرد برای داده ها
- سبز برای ساعت
من با اتصال 3 سیم ضروری روی حلقه LED با استفاده از سیستم بالا و فشار دادن سیم ها به سوراخ شروع کردم. از آنجا که نباید در معرض اجبار واقعی قرار بگیرد ، از کمی چسب داغ برای نگه داشتن حلقه در محل استفاده کردم. (شاید لازم باشد گاهی اوقات آن را عوض کنم) و اکریلیک را فقط با کمی چسب داغ در اطراف لبه نصب کنید.
سپس 4 سیم را با استفاده از سیستم بالا روی RTC لحیم کردم. برای اینکه همه چیز کمی تمیز باشد ، تصمیم گرفتم از RTC از آردوینو نیرو بگیرم. سپس همه چیز را به آردوینو وصل کنید و 1 سیم را برای برق و یک سیم دیگر را برای اتصال به آردوینو لحیم کنید.
RTC
- SCL (ساعت) به پین آنالوگ 5
- SDA (داده) به آنالوگ پین 4
- VCC تا 5V
- GND به هر GND در آردوینو
حلقه LED
Din to Pin Digital 6
من یک کابل USB قدیمی داشتم و تصمیم گرفتم از آن برای تغذیه ساعت استفاده کنم. انتهایی را که به طور معمول به چیزی متصل می شود ، قطع کردم و آن را از سوراخ پشتی عبور دادم. سپس قبل از لحیم کاری VCC به آردوینو و حلقه LED به طرف مثبت و زمین از آردوینو و LED به زمین ، انتهای آن را جدا کرده و رنگ آمیزی کنید. بعداً حرارت من کوچک شد و خوب به نظر می رسید ،
تفنگ چسب داغ بیرون آمد تا همه چیز را پایین نگه دارد. من تصمیم گرفتم آردوینو را با بازی کافی ترک کنم تا بتوانم در آینده به پورت USB دسترسی داشته باشم تا آن را برنامه ریزی کنم اما نه آنقدر که بتوانم از آن خارج شوم.
مرحله 4: کد
اکنون باید بتوانید این کد را در آردوینو بارگذاری کنید.
اگر RTC اجرا نمی شود ، این کد زمان را بر اساس زمان تدوین کد تنظیم می کند ، بنابراین فقط دکمه بارگذاری را فشار دهید و تأیید نکنید.
متناوبا این نیز برای تنظیم زمان بسیار خوب عمل می کند.
www.instructables.com/id/Setting-the-DS130…
بیشتر این کد را از کتابخانه Adafruit NeoPixel و برخی دیگر را از کتابخانه RTC که پیدا کردم و برخی دیگر را به تنهایی تهیه کرده ام ، وام گرفته ام.
// شامل کد کتابخانه: #include
#عبارتند از
#عبارتند از
// پین ها را تعریف کنید
#پین 6 را تعریف کنید
#تعریف BRIGHTNESS 20 // حداکثر روشنایی را تنظیم کنید
#تعریف r 5
#تعریف g 5
#تعریف ب 5
RTC_DS3231 rtc؛ // ایجاد شی ساعت
نوار Adafruit_NeoPixel = Adafruit_NeoPixel (12 ، PIN ، NEO_GRB + NEO_KHZ800) ؛ // نوار شی
void setup () {
Wire.begin ()؛ // شروع I2C
rtc.begin ()؛ // شروع ساعت
Serial.begin (9600)؛
// تنظیم پین مودها
pinMode (PIN ، OUTPUT) ؛
if (rtc.lostPower ()) {
Serial.println ("RTC قدرت را از دست داد ، اجازه دهید زمان را تنظیم کنیم!")؛
// خط زیر RTC را به تاریخ و زمان تدوین این طرح تنظیم می کند
rtc.adjust (DateTime (F (_ DATE_) ، F (_ TIME_))) ؛
// این خط RTC را با تاریخ و زمان مشخصی تنظیم می کند ، برای مثال برای تنظیم
// 21 ژانویه 2014 ساعت 3 صبح با این شماره تماس می گیرید:
// rtc.adjust (تاریخ زمان (2014 ، 1 ، 21 ، 3 ، 0 ، 0)) ؛
}
strip.begin ()؛
strip.show ()؛ // مقداردهی اولیه همه پیکسل ها به حالت "خاموش"
DateTime theTime = rtc.now ()؛ // DST را در نظر می گیرد
بایت secondval = theTime.second ()؛ // ثانیه بدست آورید
بایت دقیقه = theTime.minute ()؛ // دریافت دقیقه
int hourval = theTime.hour ()؛
نقطه (نوار رنگ (0 ، گرم ، 0) ، 50) ؛
}
حلقه خالی () {
// زمان بگیرید
DateTime theTime = rtc.now ()؛ // DST را در نظر می گیرد
int minuteval = theTime.minute ()؛ // دریافت دقیقه
int hourval = theTime.hour ()؛ // ساعت دریافت کنید
int secondval = theTime.second ()؛
if (دقیقه دقیقه 0) {
strip.setPixelColor (0 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 9) {
strip.setPixelColor (1 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه <<14) {
strip.setPixelColor (2 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 19) {
strip.setPixelColor (3 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 24) {
strip.setPixelColor (4 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 29) {
strip.setPixelColor (5 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 34) {
strip.setPixelColor (6 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 39) {
strip.setPixelColor (7 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 44) {
strip.setPixelColor (8 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 49) {
strip.setPixelColor (9 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 54) {
strip.setPixelColor (10 ، r ، 0 ، 0) ؛
strip.show ()؛}
else if (دقیقه دقیقه <= 59) {
strip.setPixelColor (11 ، r ، 0 ، 0) ؛
strip.show ()؛}
تاخیر (1000) ؛
برای (int i = 0 ؛ i <12؛ i ++) {
strip.setPixelColor (i ، 0 ، 0 ، 0) ؛
strip.show ()؛
}
if (hourval == 0) {
strip.setPixelColor (0 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 1) {
strip.setPixelColor (1 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 2) {
strip.setPixelColor (2 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 3) {
strip.setPixelColor (3 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 4) {
strip.setPixelColor (4 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 5) {
strip.setPixelColor (5 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 6) {
strip.setPixelColor (6 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 7) {
strip.setPixelColor (7 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 8) {
strip.setPixelColor (8 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 9) {
strip.setPixelColor (9 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 10) {
strip.setPixelColor (10 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 11) {
strip.setPixelColor (11 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 12) {
strip.setPixelColor (0 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 13) {
strip.setPixelColor (1 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 14) {
strip.setPixelColor (2 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 15) {
strip.setPixelColor (3 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 16) {
strip.setPixelColor (4 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 17) {
strip.setPixelColor (5 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 18) {
strip.setPixelColor (6 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 19) {
strip.setPixelColor (7 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (ساعت ساعتی == 20) {
strip.setPixelColor (8 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 21) {
strip.setPixelColor (9 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 22) {
strip.setPixelColor (10 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
else if (hourval == 23) {
strip.setPixelColor (11 ، 0 ، 0 ، ب) ؛
strip.show ()؛}
تاخیر (1000) ؛
برای (int i = 0 ؛ i <12؛ i ++) {
strip.setPixelColor (i ، 0 ، 0 ، 0) ؛
strip.show ()؛
}
// برای اشکال زدایی سریال
Serial.print (ساعتی ، DEC) ؛
Serial.print (':')؛
Serial.print (دقیقه ، DEC) ؛
Serial.print (':')؛
Serial.println (درجه دوم ، DEC) ؛
}
نقطه خالی (uint32_t c ، uint8_t منتظر بمانید) {
برای (int j = 0 ؛ j <3؛ j ++) {
برای (int i = 0 ؛ i <12؛ i ++) {
strip.setPixelColor (i ، c) ؛
strip.show ()؛
تأخیر (صبر) ؛
برای (int i = 0 ؛ i <12؛ i ++) {
strip.setPixelColor (i ، 0 ، 0 ، 0) ؛
strip.show ()؛}
}
}
}
مرحله 5: روغن دانمارکی
آخرین مرحله و اختیاری این است که مقداری روغن دانمارکی را روی چوب بمالید. من واقعاً دوست دارم که دانه را بیرون بیاورد و همچنین از لکه ها و رطوبت محافظت می کند. بنابراین من به شدت آن را توصیه می کنم.
می توانید آن را مسواک بزنید یا من فقط از یک پارچه قدیمی برای پاک کردن آن استفاده می کنم.
تنها چیزی که اکنون باقی مانده این است که آن را به برق متصل کرده و از آن لذت ببرید.
توصیه شده:
ساعت هوشمند ساعت زنگ دار Upcycled: 8 مرحله (همراه با تصاویر)
چراغ هوشمند ساعت زنگ دار Upcycled: در این پروژه من یک ساعت زنگ دار کاملاً خراب را به صورت کامل تخلیه می کنم. صفحه ساعت با 12 LED جایگزین شده است که توسط یک نوار LED در اطراف لبه ساعت روشن شده است. 12 LED زمان را مشخص می کند و نوار LED طوری برنامه ریزی شده است که به عنوان زنگ خطر عمل می کند و می چرخد
ساعت بازنشستگی / شمارش بالا / ساعت Dn: 4 مرحله (همراه با تصاویر)
ساعت بازنشستگی / شمارش بالا / ساعت Dn: من تعدادی از این نمایشگرهای نقطه ای ماتریس LED 8x8 را در کشو داشتم و به این فکر می کردم که با آنها چه کنم. با الهام از دستورالعمل های دیگر ، من این ایده را پیدا کردم که یک صفحه شمارش معکوس/بالا ایجاد کنم تا تا تاریخ/زمان آینده شمارش معکوس کنم و اگر زمان مورد نظر
Clockception - چگونه می توان یک ساعت را از ساعت ساخت؟!: 14 مرحله (همراه با تصاویر)
Clockception - چگونه می توان یک ساعت ساخته شده از ساعت ساخت !: سلام به همه! این ارسال من برای مسابقه نویسنده اولین بار 2020 است! اگر این پروژه را دوست دارید ، من از رای شما بسیار استقبال می کنم :) متشکرم! این دستورالعمل شما را در روند ساخت یک ساعت ساخته شده از ساعت راهنمایی می کند! من هوشمندانه نام برده ام
ساعت زنگ دار هوشمند: یک ساعت زنگ دار هوشمند ساخته شده با تمشک پای: 10 مرحله (همراه با تصاویر)
ساعت زنگ دار هوشمند: ساعت زنگ دار هوشمند ساخته شده با تمشک پای: آیا تا به حال به دنبال ساعت هوشمند بوده اید؟ اگر چنین است ، این راه حل برای شما است! من ساعت زنگ دار هوشمند ساختم ، این یک ساعت است که می توانید زمان زنگ ساعت را با توجه به وب سایت تغییر دهید. هنگامی که زنگ هشدار به صدا در می آید ، یک صدا (زنگ) و 2 چراغ
ساعت شبکه ESP8266 بدون هیچ گونه RTC - Nodemcu NTP ساعت بدون RTC - پروژه ساعت اینترنتی: 4 مرحله
ساعت شبکه ESP8266 بدون هیچ گونه RTC | Nodemcu NTP ساعت بدون RTC | پروژه ساعت اینترنتی: در پروژه ایجاد پروژه ساعت بدون RTC ، زمان استفاده از اینترنت با استفاده از wifi و نمایش آن بر روی صفحه نمایش st7735