Isi kandungan:

Jam Meja Perduaan: 9 Langkah (dengan Gambar)
Jam Meja Perduaan: 9 Langkah (dengan Gambar)

Video: Jam Meja Perduaan: 9 Langkah (dengan Gambar)

Video: Jam Meja Perduaan: 9 Langkah (dengan Gambar)
Video: Tips Kunci Jadi Juara Kelas 2024, Julai
Anonim
Jam Meja Perduaan
Jam Meja Perduaan
Jam Meja Perduaan
Jam Meja Perduaan
Jam Meja Perduaan
Jam Meja Perduaan

Jam Binari hebat dan eksklusif untuk orang yang mengetahui binari (bahasa peranti digital). Sekiranya anda seorang lelaki berteknologi, jam pelik ini sesuai untuk anda. Oleh itu, buat sendiri dan rahsia masa anda!

Anda akan menemui banyak jam binari dengan pelbagai jenis di Internet. Malah anda boleh membeli jam binari dari kedai dalam talian seperti amazon.com. Tetapi jam ini berbeza dari semua dan di sini saya menggunakan marmar untuk memberikan penampilan yang elegan.

Sebelum turun sila tonton video demo.

Langkah 1: Bil Bahan

Bil bahan
Bil bahan
Bil bahan
Bil bahan
Bil bahan
Bil bahan

Komponen Perkakasan

1. Arduino Pro Micro (beli dari aliexpress.com): Ini adalah inti jam dan membaca waktu dari RTC dan memberi arahan untuk menggerakkan LED dengan sewajarnya. Anda boleh menggunakan Arduino Nano malah Arduino Uno dan bukan Pro Micro jika ukurannya tidak penting untuk anda.

2. Modul DS3231 RTC (beli dari aliexpress.com): DS3231 RTC mengesan masa walaupun kuasa padam. Walaupun RTC lain seperti DS1307 dapat digunakan, DS3231 lebih tepat.

3. MAX7219CNG LED Driver IC (beli dari aliexpress.com): Arduino mempunyai bilangan pin yang terhad. Oleh itu, jika anda ingin menggerakkan banyak LED tanpa membuang pin Arduino MAX7219 adalah penyelamat. Ia memerlukan data bersiri dan dapat menggerakkan 64 LED secara bebas.

4. 20 PCS Blue LED, 5mm (beli dari aliexpress.com): Biru memberikan hasil terbaik untuk saya. Anda boleh mencuba dengan warna lain.

5. 20 PCS Playing Marble (beli dari aliexpress.com): Bermain marmar ukuran standard telah digunakan. Guli mestilah telus untuk menyebarkan cahaya.

6. Perintang 10K: Digunakan untuk mengawal arus segmen IC MAX7219. Lihat lembaran data untuk mengetahui nilai tepat untuk arus segmen yang berbeza.

7. Wayar

8. Papan Prototaip PCB (beli dari aliexpress.com): Saya menggunakan papan PCB prototaip untuk IC MAX7219 dengan pangkalan IC. Anda juga boleh merancang papan PCB tersuai anda.

Alat Perkakasan

1. CNC 3018 PRO Laser Engraver Wood CNC Router Machine (beli dari aliexpress.com): Mesin DIY CNG ini digunakan untuk mengukir kayu untuk marmar dan LED. Ini adalah mesin yang sangat baik dengan harga rendah untuk mana-mana pembuat dan penggemar.

2. Soldering Station (beli satu dari aliexpress.com): Sebilangan pematerian diperlukan untuk projek tersebut dan besi pematerian yang baik adalah alat yang mesti dimiliki oleh pembuatnya. 60W adalah pilihan yang baik untuk pematerian DIY.

3. Pemotong Kawat (beli dari aliexpress.com)

4. Titanium Coated Carbide End Milling Cutter untuk CNC (beli dari aliexpress.com): Anda juga boleh mencuba dengan bit yang disediakan dengan mesin. Sekiranya demikian, anda harus membuat beberapa perubahan pada reka bentuk.

Langkah 2: Ukiran dan Ukiran

Ukiran dan Ukiran
Ukiran dan Ukiran
Ukiran dan Ukiran
Ukiran dan Ukiran
Ukiran dan Ukiran
Ukiran dan Ukiran

Saya mengambil sekeping kayu Maple Lembut 165X145X18.8 mm untuk meletakkan LED jam. Di bahagian atas setiap led, saya akan meletakkan guli dan ukuran marmar permainan standard adalah diameter 15.5mm. Oleh itu, saya membuat lubang 15.7 mm dengan kedalaman 7mm. Di tengah lubang, saya membuat gerudi 5mm untuk meletakkan LED. Semua teks dibuat dengan kedalaman 2mm. Anda mungkin menambah atau mengurangkan kedalaman pilihan anda. Anda juga boleh mencuba ukiran laser untuk teks tersebut.

Reka bentuk lengkap dibuat oleh Easel dari Inventables. Easel adalah platform perisian berasaskan web yang membolehkan anda merancang dan mengukir satu program sederhana dan kebanyakan ciri-ciri bebas digunakan. Anda hanya perlu masuk ke sistem dengan membuat akaun atau menggunakan Gmail.

Easel Pro adalah perisian cloud berasaskan keahlian yang dibangun berdasarkan perisian Easel percuma Inventables. Easel dan Easel Pro meminimumkan halangan yang berkaitan dengan perisian pembuatan produk CAD dan CAM yang rumit, memudahkan pengguna menghasilkan produk fizikal.

Dengan menggunakan Easel, anda dapat mengeksport fail reka bentuk dalam format G-code atau langsung mengatur CNC anda dari lingkungan Easel dan mengirim perintah ke CNC. Sekiranya demikian, anda perlu memasang pemacu untuk Easel. Anda juga boleh mengimport G-code yang dibuat sebelumnya ke Easel IDE dan mengubah suai. Saya memasukkan fail reka bentuk dengan ini. Anda boleh dengan mudah mengubah reka bentuk mengikut pilihan anda menggunakan Easel.

Langkah 3: Mengamplas dan Memakai Varnish

Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish
Mengamplas dan Memakai Varnish

Varnish dapat memberikan kemasan yang indah untuk projek kayu dan lukisan. Sebelum menggunakan pernis pada kayu, pasangkan sekeping anda dan bersihkan ruang kerja anda. Pengamplasan memberikan rupa yang halus dan menyiapkan kayu untuk varnis. Sapukan varnis di beberapa lapisan nipis, biarkan masing-masing kering dengan bersih sebelum meneruskan ke lapisan berikutnya. Untuk mengecat lukisan, biarkan kering sepenuhnya dan kemudian sikat varnis dengan berhati-hati. Satu lapisan cukup untuk banyak lukisan, tetapi anda boleh menambahkan lapisan tambahan selagi pertama kali membiarkan lapisan sebelumnya kering dengan sempurna.

Sebelum menggunakan varnis, anda perlu menghilangkan sebarang ketidaksempurnaan dan cela sebelum menggunakan varnis. Untuk melakukan itu Gunakan kertas pasir 100 grit untuk kepingan yang belum selesai, dan bekerjasama dengan sebutir kayu. Pasir dengan lembut sehingga sekepingnya halus. Setelah membersihkan bahagian kayu, gunakan varnis di kawasan yang berventilasi baik.

Varnish menyelamatkan kayu dari habuk dan kelembapan persekitaran tetapi boleh mempengaruhi warna kayu.

Langkah 4: Membuat Litar

Membuat Litar
Membuat Litar
Membuat Litar
Membuat Litar
Membuat Litar
Membuat Litar
Membuat Litar
Membuat Litar

Komponen utama jam adalah papan mikrokontroler Arduino Pro Mini dan modul RTC DS3231. Sambungan modul Arduino Pro Mini dan RTC sangat mudah. Anda perlu menyambungkan pin SDA modul RTC ke pin SDA Arduino dan pin SCL modul RTC ke pin SCL Arduino. Pin SDA dan SCL sebenarnya masing-masing A4, dan pin A5 dari Arduino. Anda juga perlu membuat sambungan asas antara modul Arduino dan RTC. Saya menggunakan wayar jumper untuk membuat sambungan.

Sambungan antara Arduino dan DS3231 RTC:

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

Untuk menunjukkan jam, minit dan saat, jam binari memerlukan 20 LED. Sekiranya anda mahu menunjukkan tarikh, ia memerlukan lebih banyak. Papan Arduino mempunyai had pin GPIO. Oleh itu, saya menggunakan IC pemacu LED MAX7219CNG untuk memandu banyak LED menggunakan hanya tiga pin papan Arduino.

IC pemacu MAX7219 mampu menggerakkan 64 LED individu dengan hanya menggunakan 3 wayar untuk komunikasi dengan Arduino, dan lebih-lebih lagi, kami dapat daisy chain banyak pemandu dan matriks dan masih menggunakan 3 wayar yang sama.

64 LED dipacu oleh 16 pin output IC. Persoalannya sekarang adalah bagaimana mungkin. Nah, jumlah maksimum LED menyala pada masa yang sama sebenarnya lapan. LED disusun sebagai set baris dan lajur 8 × 8. Oleh itu, MAX7219 mengaktifkan setiap lajur untuk jangka masa yang sangat singkat dan pada masa yang sama ia juga menggerakkan setiap baris. Oleh itu, dengan pantas menukar lajur dan baris mata manusia hanya akan melihat cahaya berterusan.

VCC dan GND MAX7219 pergi ke pin 5V dan GND Arduino dan tiga pin lain, DIN, CLK, dan CS pergi ke mana-mana pin digital papan Arduino. Sekiranya kita ingin menyambungkan lebih dari satu modul, kita hanya menghubungkan pin output dari papan pelarian sebelumnya ke pin input modul baru. Sebenarnya pin ini semua sama kecuali pin DOUT papan sebelumnya pergi ke pin DIN papan baru.

Hubungan antara Arduino dan MAX7219CNG:

Arduino MAX7219
D12 MAKAN
D11 CLK
D10 PINJAMAN
GND GND

Langkah 5: Memuat naik Program

Memuat naik Program
Memuat naik Program

Keseluruhan program ditulis dalam persekitaran Arduino. Dua perpustakaan luaran digunakan untuk lakaran tersebut. Satu untuk modul RTC dan satu lagi untuk IC MAX7219. Muat turun perpustakaan dari pautan dan tambahkan ke Arduino IED sebelum menyusun program.

Memuat naik program di Arduino Pro Mini agak rumit. Lihat tutorial jika anda tidak pernah menggunakan Arduino Pro Mini sebelum ini:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / #include "Wire.h" #include "DS3231.h" #include "LedControl.h" / * Sekarang kita memerlukan LedControl untuk bekerjasama. ***** Nombor pin ini mungkin tidak akan berfungsi dengan perkakasan anda ***** pin 12 disambungkan ke DataIn pin 11 disambungkan ke CLK pin 10 disambungkan ke LOAD Kami hanya mempunyai satu MAX72XX. * / Jam DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); beberapa saat, minit, jam; nombor bait [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; batal persediaan () {//Serial.begin(9600); / * MAX72XX berada dalam mod penjimatan kuasa semasa permulaan, kita harus melakukan panggilan bangun * / lc.shutdown (0, false); / * Tetapkan kecerahan ke nilai sederhana * / lc.setIntensity (0, 15); / * dan kosongkan paparan * / 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); // Permulaan jam DS3231. mulakan (); // Tetapkan masa penyusunan lakaran //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } menu int = 0, atas, bawah; int jam_satu; int hours_ten; int minit_satu; int minit_ten; int seconds_one; int seconds_ten; gelung void () {if (digitalRead (5) == 0) {kelewatan (300); menu ++; jika (menu> 3) menu = 0; } jika (menu == 0) {dt = clock.getDateTime (); jam = dt.jam; minit = dt.minit; saat = dt.second; jika (jam> 12) jam = jam - 12; jika (jam == 0) jam = 1; hours_one = jam% 10; hours_ten = jam / 10; minit_satu = minit% 10; minit_ten = minit / 10; seconds_one = saat% 10; seconds_ten = saat / 10; lc.setRow (0, 0, nombor [seconds_one]); lc.setRow (0, 1, nombor [seconds_ten]); lc.setRow (0, 2, nombor [minit_satu]); lc.setRow (0, 3, nombor [minit_ten]); lc.setRow (0, 4, nombor [hour_one]); lc.setRow (0, 5, nombor [hour_ten]); } if (menu == 1) {if (digitalRead (6) == 0) {kelewatan (300); jam ++; jika (jam> = 24) jam = 0; } jika (digitalRead (7) == 0) {kelewatan (300); Jam--; jika (jam = 60) minit = 0; } jika (digitalRead (7) == 0) {kelewatan (300); minit--; jika (minit <0) minit = 0; } minit_satu = minit% 10; minit_ten = minit / 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, nombor [minit_satu]); lc.setRow (0, 3, nombor [minit_ten]); } jika (menu == 3) {clock.setDateTime (2020, 4, 13, jam, minit, 01); menu = 0; } //lc.setLed(0, baris, col, false); //lc.setLed(0, row, col, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, baris, (bait) 0); //lc.setColumn(0, col, (byte) 0); // Untuk pandangan sifar terkemuka ke contoh DS3231_dateformat // Serial.print ("Data mentah:"); // Serial.print (dtahun); Cetakan bersiri ("-"); // Serial.print (dt.month); Cetakan bersiri ("-"); // Serial.print (dt.day); Cetakan bersiri (""); // Serial.print (dt.hour); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // kelewatan (1000); }

Langkah 6: Meletakkan LED

Meletakkan LED
Meletakkan LED
Meletakkan LED
Meletakkan LED
Meletakkan LED
Meletakkan LED
Meletakkan LED
Meletakkan LED

Pada peringkat ini, saya akan meletakkan semua LED ke lubang papan kayu. Sambungan LED ditunjukkan dalam skema. Oleh kerana kita akan menggunakan pemacu LED MAX7219 untuk menggerakkan LED, semua LED mesti disambungkan dalam bentuk matriks. Oleh itu, saya menyambungkan pin anod semua LED di setiap lajur bersama dan semua pin katod setiap baris bersama-sama mengikut skema. Sekarang, pin lajur kami sebenarnya adalah pin anode LED dan pin baris sebenarnya adalah pin katod LED.

Untuk mengemudi LED menggunakan MAX7219, anda mesti menyambungkan pin katod dari pin digit ke IC dan pin anod yang dipimpin ke pin segmen IC. Jadi, pin lajur kami harus dihubungkan ke pin segmen dan pin baris harus disambungkan ke pin digit MAX7219.

Anda perlu menyambungkan perintang antara pin ISET dan VCC IC MAX7219 dan perintang ini mengawal arus pin segmen. Saya menggunakan perintang 10K untuk mengekalkan 20mA di setiap pin segmen.

Langkah 7: Menyambungkan LED

Menyambungkan LED
Menyambungkan LED
Menyambungkan LED
Menyambungkan LED
Menyambungkan LED
Menyambungkan LED

Pada peringkat ini, saya menyambungkan semua LED dalam format matriks baris-lajur. Saya perlu menggunakan beberapa kabel jumper tambahan untuk menyambungkan LED tetapi anda boleh membuat sambungan tanpa bantuan wayar tambahan jika petunjuk LED cukup panjang untuk saling bersentuhan.

Dalam konfigurasi ini, tidak diperlukan perintang kerana MAX7219 akan mengurus arus. Tugas anda adalah memilih nilai yang tepat untuk perintang ISET dan menarik pin ISET dengan perintang ini. Sebelum meletakkan dan menyambungkan LED, saya akan mencadangkan anda memeriksa setiap LED. Kerana meletakkan LED yang buruk akan membunuh banyak masa. Pada langkah seterusnya, kami akan menghubungkan wayar baris dan lajur ke ic MAX.

Langkah 8: Menghubungkan Papan Litar dengan LED

Menyambungkan Papan Litar Dengan LED
Menyambungkan Papan Litar Dengan LED
Menyambungkan Papan Litar Dengan LED
Menyambungkan Papan Litar Dengan LED
Menyambungkan Papan Litar Dengan LED
Menyambungkan Papan Litar Dengan LED

Papan litar kami termasuk RTC, Arduino, dan MAX7219 sudah lama siap dan kami juga menyiapkan matriks LED pada peringkat sebelumnya. Sekarang kita perlu menghubungkan semua perkara bersama mengikut skema. Pertama, kita perlu menyambungkan wayar baris dan lajur ke MAX7219IC. Sambungan tersebut disebutkan dalam skema. Untuk membuatnya lebih jelas ikuti jadual yang diberikan di bawah.

Matrik LED MAX7219CNG
ROW0 DIGIT0
ROW1 DIGIT1
ROW2 DIGIT2
ROW3 DIGIT3
COLUMN0 SEGA
COLUMN1 SEGB
COLUMN2 SEGC
COLUMN3 SEGD
COLUMN4 SEGE
COLUMN5 SEGF

ROW0-> Baris paling atas

COLUMN0 -> Lajur paling kanan (SS COLUMN)

Setelah membuat sambungan, anda perlu memasang papan PCB dan Arduino dengan bahagian kayu untuk mengelakkan sambungannya terputus. Saya menggunakan gam panas untuk memperbaiki semua litar di tempatnya. Untuk mengelakkan litar pintas, gunakan sebilangan besar gam untuk menyembunyikan sendi pateri di bahagian bawah PCB.

Untuk menjadikan jam boleh digunakan, anda perlu menyimpan pilihan untuk menyesuaikan waktu apabila diperlukan. Saya menambah tiga suis butang untuk menyesuaikan masa. Satu untuk menukar pilihan dan dua untuk kenaikan dan pengurangan jam dan minit. Butang diletakkan di sudut kanan atas supaya butang ini mudah diakses.

Langkah 9: Meletakkan Guli

Meletakkan Guli
Meletakkan Guli
Meletakkan Guli
Meletakkan Guli
Meletakkan Guli
Meletakkan Guli

Ini adalah peringkat akhir projek kami. Semua sambungan litar selesai. Sekarang anda perlu meletakkan marmar di bahagian atas jam kayu. Untuk meletakkan guli saya menggunakan gam panas. Gunakan tongkat warna putih lutsinar untuk tujuan tersebut. Saya menggunakan gam panas di setiap lubang dari bahagian atas dan di atas LED saya meletakkan marmar dengan lembut di setiap lubang. Menambah gam secara merata akan meningkatkan cahaya pelita. Saya menggunakan LED BIRU untuk jam saya. Ini memberi saya hasil terbaik.

Beri kuasa pada jam. Sekiranya menunjukkan masa maka Selamat !!!

Anda berjaya!

Selamat mencuba!

Jadikannya Peraduan Glow
Jadikannya Peraduan Glow
Jadikannya Peraduan Glow
Jadikannya Peraduan Glow

Naib Johan dalam Peraduan Make it Glow

Disyorkan: