Mục lục:

Đồng hồ để bàn nhị phân: 9 bước (có hình ảnh)
Đồng hồ để bàn nhị phân: 9 bước (có hình ảnh)

Video: Đồng hồ để bàn nhị phân: 9 bước (có hình ảnh)

Video: Đồng hồ để bàn nhị phân: 9 bước (có hình ảnh)
Video: Quá trình xăm mình có đáng sợ không? 2024, Tháng bảy
Anonim
Đồng hồ để bàn nhị phân
Đồng hồ để bàn nhị phân
Đồng hồ để bàn nhị phân
Đồng hồ để bàn nhị phân
Đồng hồ để bàn nhị phân
Đồng hồ để bàn nhị phân

Đồng hồ nhị phân thật tuyệt vời và dành riêng cho những người biết hệ nhị phân (ngôn ngữ của các thiết bị kỹ thuật số). Nếu bạn là một chàng trai công nghệ, chiếc đồng hồ kỳ lạ này là dành cho bạn. Vì vậy, hãy tự làm một chiếc và giữ bí mật về thời gian của bạn!

Bạn sẽ tìm thấy rất nhiều đồng hồ nhị phân thuộc nhiều loại khác nhau trên Internet. Thậm chí bạn có thể mua đồng hồ nhị phân từ cửa hàng trực tuyến như amazon.com. Nhưng chiếc đồng hồ này khác với tất cả và ở đây tôi đã sử dụng đá cẩm thạch chơi để tạo cho nó một vẻ ngoài thanh lịch.

Trước khi đi xuống vui lòng xem video demo.

Bước 1: Hóa đơn nguyên vật liệu

Hóa đơn nguyên vật liệu
Hóa đơn nguyên vật liệu
Hóa đơn nguyên vật liệu
Hóa đơn nguyên vật liệu
Hóa đơn nguyên vật liệu
Hóa đơn nguyên vật liệu

Các thành phần phần cứng

1. Arduino Pro Micro (mua từ aliexpress.com): Đây là trái tim chính của đồng hồ và đọc thời gian từ RTC và đưa ra hướng dẫn điều khiển các đèn LED cho phù hợp. Bạn có thể sử dụng Arduino Nano thậm chí Arduino Uno thay vì Pro Micro nếu kích thước không quan trọng đối với bạn.

2. DS3231 RTC Module (mua từ aliexpress.com): DS3231 RTC theo dõi thời gian ngay cả khi mất điện. Mặc dù có thể sử dụng RTC khác như DS1307 nhưng DS3231 chính xác hơn.

3. IC điều khiển LED MAX7219CNG (mua từ aliexpress.com): Arduino có số lượng chân hạn chế. Vì vậy, nếu bạn muốn điều khiển hàng tấn đèn LED mà không lãng phí các chân Arduino thì MAX7219 chính là cứu cánh. Nó lấy dữ liệu nối tiếp và có thể lái 64 đèn LED một cách độc lập.

4. 20 PCS Blue LED, 5mm (mua từ aliexpress.com): Màu xanh lam cho kết quả tốt nhất đối với tôi. Bạn có thể thử với các màu khác.

5. 20 PCS Playing Marble (mua từ aliexpress.com): Kích thước tiêu chuẩn chơi đá cẩm thạch đã được sử dụng. Viên bi phải trong suốt để truyền ánh sáng.

6. Điện trở 10K: Dùng để điều khiển dòng phân đoạn của IC MAX7219. Xem biểu dữ liệu để biết giá trị chính xác cho dòng điện phân đoạn khác nhau.

7. Dây điện

8. Bảng mạch PCB nguyên mẫu (mua từ aliexpress.com): Tôi đã sử dụng bảng mạch PCB nguyên mẫu cho IC MAX7219 với đế IC. Bạn cũng có thể thiết kế bảng mạch PCB tùy chỉnh của mình.

Công cụ phần cứng

1. Máy CNC Router khắc Laser CNC 3018 PRO (mua từ aliexpress.com): Máy CNG DIY của họ được sử dụng để khắc trên gỗ cho đá cẩm thạch và đèn LED. Đây là một chiếc máy tuyệt vời với mức giá rẻ cho bất kỳ nhà sản xuất và người yêu thích nào.

2. Trạm hàn (mua một cái từ aliexpress.com): Một số vật liệu hàn là cần thiết cho dự án và một mỏ hàn tốt là công cụ bắt buộc phải có đối với một nhà sản xuất. 60W là một lựa chọn tốt để hàn DIY.

3. Máy cắt dây (mua từ aliexpress.com)

4. Dao phay kết thúc phay cacbua tráng titan cho CNC (mua từ aliexpress.com): Bạn cũng có thể thử với bit được cung cấp kèm theo máy. Trong trường hợp đó, bạn nên thực hiện một số thay đổi đối với thiết kế.

Bước 2: Khắc và chạm khắc

Khắc và chạm khắc
Khắc và chạm khắc
Khắc và chạm khắc
Khắc và chạm khắc
Khắc và chạm khắc
Khắc và chạm khắc

Tôi lấy một miếng gỗ Maple mềm có kích thước 165X145X18,8 mm để đặt các đèn LED của đồng hồ. Ở trên cùng của mỗi con led, tôi sẽ đặt một viên bi và kích thước của một viên bi chơi tiêu chuẩn là đường kính 15,5mm. Vì vậy, tôi đã tạo các lỗ 15,7 mm với độ sâu 7 mm. Tại tâm của lỗ, tôi đã khoan một mũi khoan 5mm để đặt đèn LED. Tất cả các văn bản được thực hiện với độ sâu 2mm. Bạn có thể tăng hoặc giảm độ sâu tùy ý. Bạn cũng có thể thử khắc laser cho văn bản.

Thiết kế hoàn chỉnh được thực hiện bởi Easel từ Inventables. Easel là một nền tảng phần mềm dựa trên web cho phép bạn thiết kế và khắc từ một chương trình đơn giản và hầu hết các tính năng đều được sử dụng miễn phí. Bạn chỉ cần đăng nhập vào hệ thống bằng cách tạo tài khoản hoặc sử dụng Gmail.

Easel Pro là phần mềm đám mây dựa trên thành viên được xây dựng dựa trên phần mềm Easel miễn phí của Inventables. Easel và Easel Pro giảm thiểu các rào cản liên quan đến phần mềm sản xuất sản phẩm CAD và CAM phức tạp, giúp người dùng dễ dàng sản xuất các sản phẩm vật lý.

Sử dụng Easel, bạn có thể xuất tệp thiết kế ở định dạng G-code hoặc thiết lập trực tiếp CNC của bạn từ môi trường Easel và gửi lệnh đến CNC. Trong trường hợp đó, bạn cần cài đặt trình điều khiển cho Giá vẽ. Bạn cũng có thể nhập mã G đã tạo trước đó vào Easel IDE và sửa đổi. Tôi đã bao gồm tệp thiết kế kèm theo đây. Bạn có thể dễ dàng sửa đổi thiết kế theo sự lựa chọn của mình bằng Easel.

Bước 3: Chà nhám và sơn vecni

Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni
Chà nhám và sơn vecni

Vecni có thể cung cấp một lớp hoàn thiện đẹp cho các đồ án và tranh gỗ. Trước khi phủ vecni lên gỗ, hãy chà nhám đồ đạc của bạn và làm sạch không gian làm việc của bạn. Chà nhám tạo vẻ mịn và chuẩn bị cho gỗ để đánh vecni. Phủ lớp sơn bóng thành nhiều lớp mỏng, để mỗi lớp khô hoàn toàn trước khi tiếp tục lớp tiếp theo. Để đánh vecni cho tranh, hãy để khô hoàn toàn và sau đó cẩn thận đánh vecni lên. Một lớp sơn là đủ cho nhiều bức tranh, nhưng bạn có thể thêm một lớp bổ sung miễn là bạn để lớp trước đó khô hoàn toàn.

Trước khi sơn lớp sơn bóng, bạn cần phải loại bỏ các khuyết điểm và nhược điểm trước khi sơn lớp sơn bóng. Để làm điều đó Sử dụng giấy nhám 100 grit cho các mảnh chưa hoàn thiện và xử lý các thớ của gỗ. Cát nhẹ nhàng cho đến khi miếng mịn. Sau khi làm sạch miếng gỗ, thoa dầu bóng ở nơi thoáng gió.

Vecni giúp gỗ khỏi bụi và hơi ẩm từ môi trường nhưng nó có thể ảnh hưởng đến màu sắc của gỗ.

Bước 4: Tạo mạch

Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch

Thành phần chính của đồng hồ là bo mạch vi điều khiển Arduino Pro Mini và mô-đun DS3231 RTC. Kết nối của Arduino Pro Mini và mô-đun RTC rất đơn giản. Bạn cần kết nối chân SDA của mô-đun RTC với chân SDA của Arduino và chân SCL của mô-đun RTC với chân SCL của Arduino. Các chân SDA và SCL thực tế lần lượt là chân A4 và A5 của Arduino. Bạn cũng cần tạo kết nối mặt đất chung giữa các mô-đun Arduino và RTC. Tôi đã sử dụng dây nhảy để tạo kết nối.

Kết nối giữa Arduino và DS3231 RTC:

Arduino DS3231
SCL (A5) SCL
SDA (A4) SDA
5V VCC
GND GND

Để hiển thị giờ, phút và giây, đồng hồ nhị phân cần 20 đèn LED. Nếu bạn muốn hiển thị ngày, nó yêu cầu nhiều hơn. Bảng Arduino có một hạn chế về các chân GPIO. Vì vậy, tôi đã sử dụng IC trình điều khiển LED MAX7219CNG để điều khiển hàng tấn đèn LED chỉ sử dụng ba chân của bảng Arduino.

IC trình điều khiển MAX7219 có khả năng điều khiển 64 đèn LED riêng lẻ trong khi chỉ sử dụng 3 dây để giao tiếp với Arduino và hơn thế nữa, chúng tôi có thể tạo chuỗi nhiều trình điều khiển và ma trận mà vẫn sử dụng 3 dây giống nhau.

64 LED được điều khiển bởi 16 chân đầu ra của IC. Câu hỏi bây giờ là làm thế nào điều đó có thể. Vâng, số lượng đèn LED tối đa sáng lên cùng một lúc trên thực tế là tám. Các đèn LED được sắp xếp như một tập hợp các hàng và cột 8 × 8. Vì vậy, MAX7219 kích hoạt từng cột trong một khoảng thời gian rất ngắn và đồng thời nó cũng điều khiển từng hàng. Vì vậy, bằng cách nhanh chóng chuyển đổi qua các cột và hàng, mắt người sẽ chỉ nhận thấy một ánh sáng liên tục.

VCC và GND của MAX7219 đi đến các chân 5V và GND của Arduino và ba chân khác, DIN, CLK và CS đi đến bất kỳ chân kỹ thuật số nào của bảng Arduino. Nếu chúng ta muốn kết nối nhiều hơn một mô-đun, chúng ta chỉ cần kết nối các chân đầu ra của bảng đột phá trước đó với các chân đầu vào của mô-đun mới. Thực ra các chân này đều giống nhau ngoại trừ chân DOUT của bảng trước chuyển sang chân DIN của bảng mới.

Kết nối giữa Arduino và MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 TRỌNG TẢI
GND GND

Bước 5: Tải lên chương trình

Tải lên chương trình
Tải lên chương trình

Toàn bộ chương trình được viết trong môi trường Arduino. Hai thư viện bên ngoài đã được sử dụng cho bản phác thảo. Một dành cho mô-đun RTC và một dành cho IC MAX7219. Tải xuống các thư viện từ liên kết và thêm vào Arduino IED trước khi biên dịch chương trình.

Tải lên chương trình trong Arduino Pro Mini là một chút khó khăn. Hãy xem hướng dẫn nếu bạn chưa từng sử dụng Arduino Pro Mini trước đây:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / #include "Wire.h" #include "DS3231.h" #include "LedControl.h" / * Bây giờ chúng ta cần một LedControl để làm việc. ***** Các số pin này có thể sẽ không hoạt động với phần cứng của bạn ***** pin 12 được kết nối với DataIn chân 11 được kết nối với CLK chân 10 được kết nối với LOAD Chúng tôi chỉ có một MAX72XX duy nhất. * / Đồng hồ DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int giây, phút, giờ; số byte [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX đang ở chế độ tiết kiệm năng lượng khi khởi động, chúng tôi phải thực hiện một cuộc gọi đánh thức * / lc.shutdown (0, false); / * Đặt độ sáng thành giá trị trung bình * / lc.setIntensity (0, 15); / * và xóa màn hình * / 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); // Khởi tạo DS3231 clock.begin (); // Đặt thời gian biên dịch sketch //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menu = 0, up, down; int giờ_one; int giờ_ten; int phút_one; int phút_ten; int seconds_one; int seconds_ten; void loop () {if (digitalRead (5) == 0) {delay (300); menu ++; if (menu> 3) menu = 0; } if (menu == 0) {dt = clock.getDateTime (); giờ = dt. giờ; phút = dt.minute; giây = dt.second; if (giờ> 12) giờ = giờ - 12; if (giờ == 0) giờ = 1; giờ_một = giờ% 10; giờ_ten = giờ / 10; phút_một = phút% 10; phút_ten = phút / 10; giây_đơn = giây% 10; giây_ten = giây / 10; lc.setRow (0, 0, number [seconds_one]); lc.setRow (0, 1, number [seconds_ten]); lc.setRow (0, 2, number [minutes_one]); lc.setRow (0, 3, number [minutes_ten]); lc.setRow (0, 4, number [hours_one]); lc.setRow (0, 5, number [hours_ten]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); giờ ++; if (giờ> = 24) giờ = 0; } if (digitalRead (7) == 0) {delay (300); giờ--; nếu (giờ = 60) phút = 0; } if (digitalRead (7) == 0) {delay (300); phút--; if (phút <0) phút = 0; } phút_one = phút% 10; phút_ten = phút / 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, number [minutes_one]); lc.setRow (0, 3, number [minutes_ten]); } if (menu == 3) {clock.setDateTime (2020, 4, 13, giờ, phút, 01); menu = 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, row, (byte) 0); //lc.setColumn(0, col, (byte) 0); // Đối với số 0 đứng đầu, hãy xem ví dụ DS3231_dateformat // Serial.print ("Dữ liệu thô:"); // 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 (""); // // delay (1000); }

Bước 6: Đặt đèn LED

Đặt đèn LED
Đặt đèn LED
Đặt đèn LED
Đặt đèn LED
Đặt đèn LED
Đặt đèn LED
Đặt đèn LED
Đặt đèn LED

Trong giai đoạn này, tôi sẽ đặt tất cả các đèn LED vào các lỗ của tấm gỗ. Các kết nối của đèn LED được hiển thị trong sơ đồ. Vì chúng tôi sẽ sử dụng trình điều khiển LED MAX7219 để điều khiển đèn LED, tất cả các đèn LED phải được kết nối ở dạng ma trận. Vì vậy, tôi đã kết nối các chân cực dương của tất cả các đèn LED trong mọi cột với nhau và tất cả các chân cực âm của mọi hàng với nhau theo sơ đồ. Bây giờ, chân cột của chúng ta thực sự là chân cực dương của đèn LED và chân hàng thực sự là chân cực âm của đèn LED.

Để điều khiển đèn LED sử dụng MAX7219, bạn phải kết nối chân cực âm của đèn LED với chân chữ số của IC và chân cực dương của đèn LED với chân phân đoạn của IC. Vì vậy, chân cột của chúng ta phải được kết nối với chân phân đoạn và chân hàng phải được kết nối với chân chữ số của MAX7219.

Bạn cần kết nối một điện trở giữa chân ISET và VCC của IC MAX7219 và điện trở này kiểm soát dòng điện của chân phân đoạn. Tôi đã sử dụng một điện trở 10K để duy trì 20mA trong mỗi chân phân đoạn.

Bước 7: Kết nối đèn LED

Kết nối đèn LED
Kết nối đèn LED
Kết nối đèn LED
Kết nối đèn LED
Kết nối đèn LED
Kết nối đèn LED

Ở giai đoạn này, tôi đã kết nối tất cả các đèn LED theo định dạng ma trận cột hàng. Tôi cần sử dụng thêm một số dây nhảy để kết nối các đèn LED nhưng bạn có thể thực hiện kết nối mà không cần sự trợ giúp của dây phụ nếu các dây dẫn của đèn LED đủ dài để chạm vào nhau.

Trong cấu hình này, không cần điện trở vì MAX7219 sẽ đảm nhận dòng điện. Nhiệm vụ của bạn là chọn giá trị phù hợp cho điện trở ISET và kéo chân ISET với điện trở này lên. Trước khi đặt và kết nối các đèn LED, tôi sẽ đề nghị bạn kiểm tra mọi đèn LED. Bởi vì đặt một đèn LED không tốt sẽ giết rất nhiều thời gian. Trong bước tiếp theo, chúng tôi sẽ kết nối dây hàng và dây cột với ic MAX.

Bước 8: Kết nối bảng mạch với đèn LED

Kết nối bảng mạch với đèn LED
Kết nối bảng mạch với đèn LED
Kết nối bảng mạch với đèn LED
Kết nối bảng mạch với đèn LED
Kết nối bảng mạch với đèn LED
Kết nối bảng mạch với đèn LED

Bảng mạch của chúng tôi bao gồm RTC, Arduino và MAX7219 đã sẵn sàng trong một thời gian dài và chúng tôi cũng đã chuẩn bị ma trận LED ở giai đoạn trước. Bây giờ chúng ta cần kết nối tất cả mọi thứ với nhau theo sơ đồ. Đầu tiên, chúng ta cần kết nối dây hàng và dây cột với MAX7219IC. Kết nối đã được đề cập trong sơ đồ. Để làm rõ hơn, hãy làm theo bảng dưới đây.

Ma trận LED MAX7219CNG
ROW0 DIGIT0
ROW1 DIGIT1
ROW2 DIGIT2
ROW3 DIGIT3
COLUMN0 SEGA
COLUMN1 SEGB
COLUMN2 SEGC
COLUMN3 SEGD
CỘT 4 SEGE
CỘT 5 SEGF

ROW0-> Hàng trên cùng

COLUMN0 -> Cột ngoài cùng bên phải (SS COLUMN)

Sau khi thực hiện kết nối bạn cần cố định bảng mạch PCB và Arduino bằng miếng gỗ để tránh làm đứt kết nối. Tôi đã sử dụng keo nóng để sửa chữa tất cả các mạch tại chỗ. Để tránh hiện tượng đoản mạch, hãy sử dụng một lượng lớn keo để giấu mối nối hàn ở phía dưới cùng của PCB.

Để làm cho một chiếc đồng hồ có thể sử dụng được, bạn cần giữ một tùy chọn để điều chỉnh thời gian khi cần thiết. Tôi đã thêm ba công tắc nút để điều chỉnh thời gian. Một để thay đổi tùy chọn và hai để tăng và giảm giờ và phút. Các nút được đặt ở góc trên cùng bên phải để có thể dễ dàng truy cập.

Bước 9: Đặt các viên bi

Đặt các viên bi
Đặt các viên bi
Đặt các viên bi
Đặt các viên bi
Đặt các viên bi
Đặt các viên bi

Đây là giai đoạn cuối cùng của dự án của chúng tôi. Tất cả các kết nối mạch đã hoàn thành. Bây giờ bạn cần đặt viên bi ở mặt trên của đồng hồ gỗ. Để đặt các viên bi, tôi đã sử dụng keo nóng. Sử dụng keo dính màu trắng trong suốt cho mục đích. Tôi bôi keo nóng vào mọi lỗ từ phía trên cùng và trên đầu các đèn LED, tôi nhẹ nhàng đặt viên bi vào mỗi lỗ. Thêm đều keo sẽ làm tăng độ phát sáng của đèn led. Tôi đã sử dụng BLUE LED cho đồng hồ của mình. Nó đã cho tôi kết quả tốt nhất.

Cung cấp năng lượng cho đồng hồ. Nếu nó hiển thị thời gian thì Chúc mừng !!!

Bạn đã thực hiện nó!

Thưởng thức!

Cuộc thi Make it Glow
Cuộc thi Make it Glow
Cuộc thi Make it Glow
Cuộc thi Make it Glow

Về nhì trong cuộc thi Make it Glow

Đề xuất: