فهرست مطالب:

ساعت میز دودویی: 9 مرحله (همراه با تصاویر)
ساعت میز دودویی: 9 مرحله (همراه با تصاویر)

تصویری: ساعت میز دودویی: 9 مرحله (همراه با تصاویر)

تصویری: ساعت میز دودویی: 9 مرحله (همراه با تصاویر)
تصویری: این چیبود دیگه😐🥴#خودفاطی 2024, جولای
Anonim
ساعت میز دودویی
ساعت میز دودویی
ساعت میز دودویی
ساعت میز دودویی
ساعت میز دودویی
ساعت میز دودویی

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

در اینترنت تعداد زیادی ساعت دودویی از انواع مختلف پیدا خواهید کرد. حتی شما می توانید یک ساعت دوتایی از فروشگاه آنلاین مانند amazon.com خریداری کنید. اما این ساعت با همه متفاوت است و در اینجا من از سنگ مرمر استفاده کردم تا ظاهری زیبا به آن بدهم.

قبل از پایین آمدن لطفاً فیلم نمایشی را تماشا کنید.

مرحله 1: صورتحساب مواد

صورتحساب مواد
صورتحساب مواد
صورتحساب مواد
صورتحساب مواد
صورتحساب مواد
صورتحساب مواد

اجزای سخت افزاری

1. Arduino Pro Micro (خرید از aliexpress.com): این قسمت اصلی ساعت است و زمان را از RTC می خواند و دستورالعمل رانندگی LED ها را بر این اساس می دهد. اگر اندازه برای شما مهم نیست ، می توانید از Arduino Nano حتی Arduino Uno به جای Pro Micro استفاده کنید.

2. ماژول DS3231 RTC (خرید از aliexpress.com): DS3231 RTC حتی زمانی که برق خاموش است زمان را پیگیری می کند. اگرچه می توان از RTC های دیگر مانند DS1307 استفاده کرد ، اما DS3231 دقیق تر است.

3. IC درایور MAX7219CNG LED (خرید از aliexpress.com): آردوینو تعداد پین محدودی دارد. بنابراین ، اگر می خواهید چندین LED را بدون هدر دادن پین های آردوینو هدایت کنید MAX7219 نجات دهنده است. داده های سریال را می گیرد و می تواند 64 LED را به طور مستقل هدایت کند.

4. 20 عدد LED آبی 5 میلی متری (خرید از aliexpress.com): آبی بهترین نتیجه را برای من به ارمغان آورد. می توانید با رنگ های دیگر امتحان کنید.

5. 20 PCS Playing Marble (خرید از aliexpress.com): از سنگ مرمر بازی با اندازه استاندارد استفاده شد. سنگ مرمر برای عبور نور باید شفاف باشد.

6. مقاومت 10K: برای کنترل جریان بخش IC IC MAX7219 استفاده می شود. برای اطلاع از مقدار دقیق جریان قطعه های مختلف ، به برگه اطلاعات مراجعه کنید.

7. سیم

8. نمونه اولیه برد PCB (خرید از aliexpress.com): من از نمونه اولیه برد PCB برای MAX7219 IC با پایه IC استفاده کردم. همچنین می توانید برد PCB سفارشی خود را طراحی کنید.

ابزارهای سخت افزاری

1. CNC 3018 PRO Laser Engraver Wood CNC Router Machine (خرید از aliexpress.com): دستگاه Theis DIY CNG برای حکاکی روی چوب برای سنگ مرمر و LED استفاده می شد. این یک ماشین عالی با قیمت پایین برای هر سازنده و علاقمند است.

2. ایستگاه لحیم کاری (یکی را از aliexpress.com بخرید): مقداری لحیم کاری برای پروژه مورد نیاز است و یک دستگاه لحیم کاری خوب یک ابزار ضروری برای سازنده است. 60 وات انتخاب خوبی برای لحیم کاری DIY است.

3. برش سیم (خرید از aliexpress.com)

4. فرز برش کاربید با روکش تیتانیوم برای CNC (خرید از aliexpress.com): همچنین می توانید با بیت ارائه شده با دستگاه امتحان کنید. در این صورت ، باید تغییراتی در طرح ایجاد کنید.

مرحله 2: حکاکی و حکاکی

حکاکی و حکاکی
حکاکی و حکاکی
حکاکی و کنده کاری
حکاکی و کنده کاری
حکاکی و کنده کاری
حکاکی و کنده کاری

برای قرار دادن LED های ساعت ، یک قطعه چوب نرم افرا 165X145X18.8 میلی متر برداشتم. در بالای هر led ، من یک سنگ مرمر قرار می دهم و اندازه یک سنگ مرمر استاندارد 15.5 میلی متر قطر دارد. بنابراین ، من 15.7 میلی متر سوراخ با عمق 7 میلی متر ایجاد کردم. در مرکز سوراخ ، یک مته 5 میلی متری برای قرار دادن LED ساختم. تمام متن با عمق 2 میلی متر ساخته شده است. شما می توانید عمق انتخاب خود را افزایش یا کاهش دهید. همچنین می توانید حکاکی لیزری را برای متن امتحان کنید.

طراحی کامل توسط Easel از Inventables انجام شده است. Easel یک پلت فرم نرم افزاری مبتنی بر وب است که به شما امکان می دهد از یک برنامه ساده و ساده طراحی و حک کنید و استفاده از اکثر ویژگی ها رایگان است. فقط باید با ایجاد حساب کاربری یا استفاده از Gmail به سیستم وارد شوید.

Easel Pro نرم افزاری ابری مبتنی بر عضویت است که بر اساس نرم افزار رایگان Easel Inventables ساخته شده است. Easel و Easel Pro موانع مربوط به نرم افزارهای پیچیده تولید CAD و CAM را به حداقل می رسانند و تولید محصولات فیزیکی را برای کاربران آسان می کنند.

با استفاده از Easel می توانید فایل طراحی را در قالب کد G صادر کنید یا مستقیماً CNC خود را از محیط Easel تنظیم کرده و فرمان را به CNC ارسال کنید. در این حالت ، باید درایور Easel را نصب کنید. همچنین می توانید یک کد G ایجاد شده قبلاً به Easel IDE وارد کرده و اصلاح کنید. فایل طراحی را در این قسمت قرار دادم. به راحتی می توانید طرح را با توجه به انتخاب خود با استفاده از Easel تغییر دهید.

مرحله 3: سنباده زنی و استفاده از لاک

سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک
سنباده زنی و استفاده از لاک

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

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

لاک چوب را از گرد و غبار و رطوبت محیط نجات می دهد اما می تواند بر رنگ چوب تأثیر بگذارد.

مرحله 4: ایجاد مدار

ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار

قطعه اصلی ساعت یک برد میکروکنترلر Arduino Pro Mini و یک ماژول DS3231 RTC است. اتصال Arduino Pro Mini و ماژول RTC بسیار ساده است. شما باید پین SDA ماژول RTC را به پین SDA آردوینو و پین SCL ماژول RTC را به پین SCL آردوینو متصل کنید. پین های SDA و SCL در واقع A4 و پین A5 آردوینو هستند. شما همچنین باید یک اتصال مشترک بین ماژول های آردوینو و RTC ایجاد کنید. من برای ایجاد اتصالات از سیم های جامپر استفاده کردم.

اتصال بین آردوینو و DS3231 RTC:

آردوینو DS3231
SCL (A5) SCL
SDA (A4) SDA
5 ولت VCC
GND GND

برای نمایش ساعت ، دقیقه و ثانیه یک ساعت دودویی به 20 LED نیاز داشت. اگر می خواهید تاریخ را نشان دهید ، به موارد بیشتری نیاز دارد. برد آردوینو محدودیتی برای پین های GPIO دارد. بنابراین ، من از IC MAX7219CNG درایور LED برای رانندگی تعداد زیادی LED با استفاده از تنها سه پین برد Arduino استفاده کردم.

IC راننده MAX7219 قادر است 64 LED جداگانه را هدایت کند در حالی که فقط از 3 سیم برای ارتباط با آردوینو استفاده می کند ، و علاوه بر این ، می توانیم چندین درایور و ماتریس را زنجیر کنیم و همچنان از 3 سیم یکسان استفاده کنیم.

64 LED توسط 16 پین خروجی IC هدایت می شوند. اکنون س Theال این است که چگونه چنین چیزی امکان پذیر است. خوب ، حداکثر تعداد LED های روشن شده در همان زمان در واقع هشت عدد است. LED ها به صورت مجموعه ای از 8 ردیف و ستون 8 × 8 مرتب شده اند. بنابراین MAX7219 هر ستون را برای مدت زمان بسیار کوتاهی فعال می کند و در عین حال هر ردیف را نیز هدایت می کند. بنابراین با جابجایی سریع ستون ها و ردیف ها چشم انسان فقط متوجه یک نور مداوم می شود.

VCC و GND MAX7219 به پین های 5V و GND آردوینو و سه پین دیگر ، DIN ، CLK و CS به هر پین دیجیتالی برد آردوینو می رود. اگر بخواهیم بیش از یک ماژول را متصل کنیم ، فقط پین های خروجی برد شکست قبلی را به پین های ورودی ماژول جدید متصل می کنیم. در واقع این پین ها همه یکسان هستند با این تفاوت که پین DOUT برد قبلی به پین DIN برد جدید می رود.

اتصال بین آردوینو و MAX7219CNG:

آردوینو MAX7219
D12 DIN
D11 CLK
D10 بار
GND GND

مرحله 5: بارگذاری برنامه

بارگذاری برنامه
بارگذاری برنامه

کل برنامه در محیط آردوینو نوشته شده است. دو کتابخانه خارجی برای طرح استفاده شد. یکی مربوط به ماژول RTC و دیگری IC IC MAX7219 است. کتابخانه ها را از پیوند بارگیری کرده و قبل از تدوین برنامه به Arduino IED اضافه کنید.

بارگذاری برنامه در Arduino Pro Mini کمی مشکل است. اگر قبلاً از Arduino Pro Mini استفاده نکرده اید ، به آموزش نگاه کنید:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */ #شامل "Wire.h" #شامل "DS3231.h" #شامل "LedControl.h" /* اکنون ما برای کار با یک LedControl نیاز داریم. ***** این شماره های پین احتمالاً با سخت افزار شما کار نمی کنند ***** پین 12 به DataIn وصل شده است 11 پین به CLK وصل شده است 10 پین متصل به LOAD ما فقط یک MAX72XX واحد داریم. */ ساعت DS3231 ؛ RTCDateTime dt؛ LedControl lc = LedControl (12 ، 11 ، 10 ، 1) ؛ ثانیه ، دقیقه ، ساعت ؛ تعداد بایت [10] = {B00000000، B01000000، B00100000، B01100000، B00010000، B01010000، B00110000، B01110000، B00001000، B01001000} ؛ void setup () {//Serial.begin(9600)؛ / * MAX72XX هنگام راه اندازی در حالت صرفه جویی در مصرف برق است ، ما باید یک تماس بیدار شویم */ lc.shutdown (0 ، false) ؛ / * روشنایی را روی مقادیر متوسط تنظیم کنید */ lc.setIntensity (0 ، 15) ؛ / * و صفحه را پاک کنید */ lc.clearDisplay (0) ؛ //lc.setLed(0 ، row، col، true)؛ // lc.setRow (0 ، 0 ، B11111111) ؛ // lc.setRow (0 ، 1 ، B11111111) ؛ // lc.setRow (0 ، 2 ، B11111111) ؛ // lc.setRow (0 ، 3 ، B11111111) ؛ // lc.setRow (0 ، 4 ، B11111111) ؛ // lc.setRow (0 ، 5 ، B11111111) ؛ // lc.setColumn (0 ، 2 ، B11111111) ؛ // lc.setColumn (0 ، 3 ، B11111111) ؛ // lc.setColumn (0 ، 4 ، B11111111) ؛ // lc.setColumn (0 ، 5 ، B11111111) ؛ // مقداردهی اولیه DS3231 clock.begin ()؛ // تنظیم زمان تدوین طرح //clock.setDateTime(_DATE_، _TIME_)؛ pinMode (5 ، INPUT_PULLUP) ؛ pinMode (6 ، INPUT_PULLUP) ؛ pinMode (7 ، INPUT_PULLUP) ؛ } int menu = 0 ، بالا ، پایین ؛ ساعات int_one؛ int hours_ten؛ int دقیقه_یک؛ int minutes_ten؛ int seconds_one؛ int seconds_ten؛ void loop () {if (digitalRead (5) == 0) {تاخیر (300) ؛ منو ++ ؛ if (منو> 3) منو = 0 ؛ } if (menu == 0) {dt = clock.getDateTime ()؛ ساعت = dt.hour ؛ دقیقه = dt.minute؛ ثانیه = dt.second؛ اگر (ساعت> 12) ساعت = ساعت - 12 ؛ اگر (ساعت == 0) ساعت = 1 ؛ hours_one = ساعت٪ 10؛ hours_ten = ساعت/10؛ دقیقه_یک = دقیقه٪ 10؛ minutes_ten = دقیقه/10؛ seconds_one = ثانیه٪ 10؛ seconds_ten = ثانیه/10 ؛ lc.setRow (0 ، 0 ، شماره [ثانیه_یک]) ؛ lc.setRow (0 ، 1 ، شماره [ثانیه_ده]) ؛ lc.setRow (0 ، 2 ، شماره [دقیقه_یک]) ؛ lc.setRow (0 ، 3 ، شماره [دقیقه_تن]) ؛ lc.setRow (0 ، 4 ، شماره [ساعت_یک]) ؛ lc.setRow (0 ، 5 ، شماره [ساعت_ده] ؛ } if (menu == 1) {if (digitalRead (6) == 0) {تأخیر (300) ؛ ساعت ++ ؛ اگر (ساعت> = 24) ساعت = 0 ؛ } if (digitalRead (7) == 0) {تاخیر (300)؛ ساعت ها--؛ اگر (ساعت = 60) دقیقه = 0 ؛ } if (digitalRead (7) == 0) {تأخیر (300) ؛ دقایق--؛ اگر (دقیقه <0) دقیقه = 0 ؛ } minutes_one = دقیقه٪ 10؛ minutes_ten = دقیقه/10؛ lc.setRow (0 ، 4 ، B00000000) ؛ lc.setRow (0 ، 5 ، B00000000) ؛ lc.setRow (0 ، 1 ، B00000000) ؛ lc.setRow (0 ، 0 ، B00000000) ؛ lc.setRow (0 ، 2 ، شماره [دقیقه_یک]) ؛ lc.setRow (0 ، 3 ، شماره [دقیقه_تن]) ؛ } if (menu == 3) {clock.setDateTime (2020 ، 4 ، 13 ، ساعت ، دقیقه ، 01) ؛ منو = 0 ؛ } //lc.setLed(0 ، row، col، false)؛ //lc.setLed(0 ، row، col، true)؛ //lc.setColumn(0 ، col، B10100000) ؛ //lc.setRow(0 ، 4 ، B11111111) ؛ //lc.setRow(0 ، سطر ، (بایت) 0) ؛ //lc.setColumn(0، col، (byte) 0)؛ // جهت مشاهده صفر به DS3231_dateformat مثال // Serial.print ("داده های خام:") ؛ // Serial.print (dt.year)؛ Serial.print ("-") ؛ // Serial.print (dt.month)؛ Serial.print ("-") ؛ // Serial.print (dt.day)؛ Serial.print ("")؛ // Serial.print (dt.hour) ؛ Serial.print (":")؛ // Serial.print (dt.minute) ؛ Serial.print (":")؛ // Serial.print (dt.second)؛ Serial.println ("")؛ // // تاخیر (1000) ؛ }

مرحله 6: قرار دادن LED ها

قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها
قرار دادن LED ها

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

برای رانندگی LED ها با استفاده از MAX7219 باید پین کاتد led را به پین رقمی IC و پین آند led را به پین قطعه IC متصل کنید. بنابراین ، پایه های ستون ما باید به پین های بخش و پایه های ردیف باید به پین های ارقام MAX7219 متصل شوند.

شما باید یک مقاومت بین پین ISET و VCC IC MAX7219 وصل کنید و این مقاومت جریان پین های بخش را کنترل می کند. من از یک مقاومت 10K برای حفظ 20mA در هر پین بخش استفاده کردم.

مرحله 7: اتصال LED ها

اتصال LED ها
اتصال LED ها
اتصال LED ها
اتصال LED ها
اتصال LED ها
اتصال LED ها

در این مرحله ، همه LED ها را در قالب ماتریس ستون سطر متصل کردم. برای اتصال LED ها باید از سیم های بلوز اضافی استفاده می کردم ، اما اگر طول LED ها به اندازه کافی بلند باشد که بتوانید یکدیگر را لمس کنید ، می توانید بدون کمک سیمهای اضافی ارتباط برقرار کنید.

در این پیکربندی ، هیچ مقاومتی لازم نیست زیرا MAX7219 از جریان مراقبت می کند. وظیفه شما این است که مقدار مناسب مقاومت ISET را انتخاب کرده و پین ISET را با این مقاومت بالا بکشید. قبل از قرار دادن و اتصال LED ها ، پیشنهاد می کنم هر LED را بررسی کنید. زیرا قرار دادن یک LED بد زمان زیادی را از بین می برد. در مرحله بعد ، سیمهای سطر و ستون را به MAX ic متصل می کنیم.

مرحله 8: اتصال برد مدار با LED ها

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

برد مدار ما شامل RTC ، Arduino و MAX7219 برای مدت طولانی آماده است و ما همچنین ماتریس LED را در مرحله قبل آماده کردیم. اکنون ما باید همه چیز را مطابق طرح کلی به هم متصل کنیم. ابتدا باید سیمهای ردیف و ستون را به MAX7219IC وصل کنیم. ارتباط در شماتیک ذکر شده است. برای روشن تر شدن مطلب ، جدول زیر را دنبال کنید.

ماتریس LED MAX7219CNG
ROW0 DIGIT0
ردیف 1 رقم 1
ردیف 2 DIGIT2
ردیف 3 DIGIT3
ستون 0 SEGA
ستون 1 SEGB
ستون 2 SEGC
ستون 3 SEGD
ستون 4 SEGE
ستون 5 SEGF

ROW0-> بالاترین ردیف

COLUMN0 -> راست ترین ستون (ستون SS)

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

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

مرحله 9: قرار دادن تیله ها

قرار دادن تیله ها
قرار دادن تیله ها
قرار دادن تیله ها
قرار دادن تیله ها
قرار دادن تیله ها
قرار دادن تیله ها

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

قدرت را به ساعت بدهید اگر زمان را نشان می دهد تبریک می گویم !!!

تو موفق شدی!

لذت بردن!

مسابقه آن را درخشان کنید
مسابقه آن را درخشان کنید
مسابقه آن را درخشان کنید
مسابقه آن را درخشان کنید

نفر دوم در مسابقه Make it Glow

توصیه شده: