فهرست مطالب:
- مرحله 1: صورتحساب مواد
- مرحله 2: حکاکی و حکاکی
- مرحله 3: سنباده زنی و استفاده از لاک
- مرحله 4: ایجاد مدار
- مرحله 5: بارگذاری برنامه
- مرحله 6: قرار دادن LED ها
- مرحله 7: اتصال LED ها
- مرحله 8: اتصال برد مدار با LED ها
- مرحله 9: قرار دادن تیله ها
تصویری: ساعت میز دودویی: 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
ساعت های دودویی فوق العاده و منحصراً برای افرادی است که باینری (زبان دستگاه های دیجیتال) را می داند. اگر اهل فن هستید این ساعت عجیب و غریب برای شما مناسب است. بنابراین ، یکی را خودتان بسازید و زمان خود را مخفی نگه دارید!
در اینترنت تعداد زیادی ساعت دودویی از انواع مختلف پیدا خواهید کرد. حتی شما می توانید یک ساعت دوتایی از فروشگاه آنلاین مانند 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 ها در شماتیک نشان داده شده است. همانطور که ما از راننده 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 ها به اندازه کافی بلند باشد که بتوانید یکدیگر را لمس کنید ، می توانید بدون کمک سیمهای اضافی ارتباط برقرار کنید.
در این پیکربندی ، هیچ مقاومتی لازم نیست زیرا MAX7219 از جریان مراقبت می کند. وظیفه شما این است که مقدار مناسب مقاومت ISET را انتخاب کرده و پین ISET را با این مقاومت بالا بکشید. قبل از قرار دادن و اتصال LED ها ، پیشنهاد می کنم هر LED را بررسی کنید. زیرا قرار دادن یک LED بد زمان زیادی را از بین می برد. در مرحله بعد ، سیمهای سطر و ستون را به MAX ic متصل می کنیم.
مرحله 8: اتصال برد مدار با 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
توصیه شده:
نمایش ساعت دودویی BigBit: 9 مرحله (همراه با تصاویر)
نمایشگر ساعت دودویی BigBit: در یک دستورالعمل قبلی (Microbit Binary Clock) ، این پروژه به عنوان یک دستگاه رومیزی قابل حمل ایده آل بود زیرا صفحه نمایش آن بسیار کوچک بود. بنابراین مناسب به نظر می رسید که نسخه بعدی باید یک نسخه دیواری یا دیواری باشد اما بسیار بزرگتر باشد
لگو فوق العاده روشن از چراغ میز میز 14 دلار رادیویی: 8 مرحله (همراه با تصاویر)
چراغ لگو فوق العاده روشن از 14 دلار چراغ میز میز: با کمی کمک گربه خود ، به راحتی یک چراغ رومیزی 14 دلاری از Radio Shack را به یک چراغ قدرتمند لگو با کاربردهای زیاد تبدیل کنید. علاوه بر این ، می توانید آن را با AC یا USB تغذیه کنید. من قطعاتی را برای افزودن روشنایی به مدل Lego می خریدم که به طور تصادفی این را پیدا کردم
چگونه می توان مینی میز چرخش خودکار فن میز: 5 مرحله (همراه با تصاویر)
چگونه می توان مینی میز چرخش خودکار فن را ایجاد کرد: سلام بچه ها ، در این دستورالعمل به شما آموزش می دهم که مینی فن میز چرخش خودکار خود را با تعداد اجزای کمتری بسازید. این دستگاه می تواند با منبع تغذیه 9 ولت کار کند و نسیم شگفت انگیزی تولید کند. این فن با زاویه ای تقریبا 120 درجه ای نوسان می کند
ساعت مرمر LED دودویی: 6 مرحله (همراه با تصاویر)
ساعت مرمر LED دودویی: اکنون فکر می کنم تقریباً همه دارای یک ساعت دودویی هستند و در اینجا نسخه من است. آنچه من لذت بردم این بود که این پروژه برخی از کارهای چوبی ، برنامه نویسی ، یادگیری ، الکترونیک و شاید فقط کمی خلاقیت هنری را ترکیب کرد. زمان ، ماه ، تاریخ ، روز را نشان می دهد
تقویت کننده میز با تجسم صدا ، ساعت دودویی و گیرنده FM: 8 مرحله (همراه با تصاویر)
تقویت کننده میز با تجسم صدا ، ساعت دودویی و گیرنده FM: من از تقویت کننده ها خوشم می آید و امروز ، تقویت کننده میز کم مصرفی که اخیراً ساخته ام را به اشتراک می گذارم. تقویت کننده ای که طراحی کردم دارای ویژگی های جالبی است. دارای یک ساعت دوتایی یکپارچه است و می تواند زمان و تاریخ را ارائه دهد و می تواند صوتی را که اغلب صدا نامیده می شود ، تجسم کند