Isi kandungan:
- Langkah 1: Bil Bahan
- Langkah 2: Ukiran dan Ukiran
- Langkah 3: Mengamplas dan Memakai Varnish
- Langkah 4: Membuat Litar
- Langkah 5: Memuat naik Program
- Langkah 6: Meletakkan LED
- Langkah 7: Menyambungkan LED
- Langkah 8: Menghubungkan Papan Litar dengan LED
- Langkah 9: Meletakkan Guli
Video: Jam Meja Perduaan: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
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
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
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
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
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
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
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
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
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!
Naib Johan dalam Peraduan Make it Glow
Disyorkan:
Jam Perduaan Mikro: 10 Langkah (dengan Gambar)
Jam Perduaan Mikro: Setelah sebelumnya membuat Instructable (Binary DVM), yang menggunakan kawasan paparan terhad menggunakan binari. Ini hanya langkah kecil yang sebelumnya telah membuat modul kod utama untuk penukaran Decimal to Binary untuk membuat Jam Binari tetapi t
Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)
The Ultimate Binary Watch: Saya baru-baru ini memperkenalkan konsep jam tangan binari dan mula melakukan penyelidikan untuk mengetahui sama ada saya boleh membuat jam tangan sendiri. Walau bagaimanapun, saya tidak dapat menemui reka bentuk sedia ada yang berfungsi dan bergaya pada masa yang sama. Jadi, saya memutuskan
Penguat Meja Dengan Visualisasi Audio, Jam Perduaan & Penerima FM: 8 Langkah (dengan Gambar)
Penguat Meja Dengan Visualisasi Audio, Jam Perduaan & Penerima FM: Saya suka penguat dan hari ini, saya akan berkongsi penguat meja kuasa rendah yang saya buat baru-baru ini. Penguat yang saya reka mempunyai beberapa ciri menarik. Ia mempunyai jam binari bersepadu dan dapat memberikan masa dan tarikh dan dapat memvisualisasikan audio yang sering disebut audio
Jam Perduaan Arduino - Dicetak 3D: 5 Langkah (dengan Gambar)
Arduino Binary Clock - 3D Printed: Saya telah melihat jam Binari beberapa lama untuk meja pejabat saya, namun ia agak mahal dan / atau tidak mempunyai sebilangan besar ciri. Oleh itu, saya memutuskan untuk membuatnya. Satu perkara yang perlu dipertimbangkan semasa membuat jam, Arduino / Atmega328
20 Jam $ 20 Arked Meja Atas Meja Dengan Beratus-ratus Permainan Dibangunkan: 7 Langkah (dengan Gambar)
20 Jam $ 20 Aras Atas Meja Dibangunkan Dengan Beratus-ratus Permainan Dibangunkan: Saya ingin membuat sesuatu seperti ini untuk sementara waktu tetapi tidak tergesa-gesa dengan banyak projek lain yang selalu dilakukan. Oleh kerana saya tidak terburu-buru, saya hanya menunggu sehingga saya mengumpulkan semua komponen yang diperlukan untuk membina dengan harga yang murah. Ini