Isi kandungan:
- Bekalan
- Langkah 1: Idea
- Langkah 2: Beberapa Teori Tontonan Binari
- Langkah 3: Mendapatkan Kerja
- Langkah 4: Memilih Komponen
- Langkah 5: Skematik
- Langkah 6: Susun atur PCB
- Langkah 7: Reka Bentuk 3D
- Langkah 8: Kodnya
- Langkah 9: Pengaturcaraan
- Langkah 10: Pematerian
- Langkah 11: Perhimpunan
- Langkah 12: Kesimpulan dan Penambahbaikan
Video: Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Saya baru-baru ini diperkenalkan dengan konsep jam tangan binari dan mula melakukan penyelidikan untuk mengetahui sama ada saya boleh membuatnya sendiri. Namun, saya tidak dapat menemui reka bentuk yang ada yang berfungsi dan bergaya pada masa yang sama. Oleh itu, saya memutuskan untuk membuat reka bentuk sendiri sepenuhnya dari awal!
Bekalan
Semua fail untuk projek ini:
Perpustakaan untuk kod Arduino boleh dimuat turun dari GitHub di sini:
Perpustakaan M41T62 RTC
Perpustakaan FastLED
Perpustakaan LowPower
Langkah 1: Idea
Saya baru-baru ini menemui video berikut:
Jam Tangan Perduaan DIY
Video di atas menunjukkan jam tangan binari buatan sendiri. Saya tidak tahu bahawa perkara seperti itu wujud tetapi setelah membuat kajian lebih lanjut mengenai topik jam tangan binari, saya dengan cepat menyedari terdapat banyak reka bentuk yang berbeza di luar sana! Saya mahu membuatnya sendiri tetapi tidak dapat menemui reka bentuk yang saya suka. Jam tangan binari yang saya dapati kekurangan banyak ciri dan tidak kelihatan sangat bagus. Oleh itu, saya memutuskan untuk merancang sendiri sepenuhnya dari awal!
Langkah pertama adalah menetapkan kriteria reka bentuk saya. Inilah yang saya buat:
- Antara muka RGB perduaan
- Paparan masa (dengan ketepatan masa yang sangat tepat)
- Paparan tarikh
- Fungsi jam randik
- Fungsi penggera
- Hayat bateri sekurang-kurangnya 2 minggu
- Pengecasan USB
- Perisian mudah disesuaikan oleh pengguna
- Reka bentuk yang bersih dan ringkas
Kriteria ini menjadi asas bagi keseluruhan projek. Langkah seterusnya adalah untuk mengetahui bagaimana saya mahu jam tangan berfungsi!
Langkah 2: Beberapa Teori Tontonan Binari
Rancangannya mudah. Jam tangan binari akan beroperasi seperti jam tangan biasa kecuali bahawa antara muka adalah binari, khususnya, BCD (Binary Coded Decimal). BCD adalah sejenis pengekodan binari di mana setiap digit perpuluhan diwakili oleh bilangan bit yang tetap. Saya memerlukan 4 bit untuk dapat mewakili digit dari 0-9. Dan untuk standard
jh: mm
format masa, saya memerlukan 4 digit tersebut. Ini bermaksud bahawa saya memerlukan sejumlah 16 bit yang akan diwakili oleh 16 LED.
Membaca waktu dalam BCD cukup mudah setelah anda membiasakannya. Baris di bahagian bawah jam tangan mewakili bit paling tidak signifikan (1) dan baris di bahagian atas adalah bit paling signifikan (8). Setiap lajur mewakili digit di
jh: mm
format masa. Sekiranya LED menyala, anda akan mengira nilainya. Sekiranya LED mati, anda akan mengabaikannya.
Untuk membaca digit pertama, jumlahkan semua nilai LED yang diaktifkan pada lajur pertama (paling kiri). Lakukan perkara yang sama untuk digit lain dari kiri ke kanan. Anda sekarang telah membaca masa di BCD!
Prinsip ini akan sama untuk fungsi-fungsi lain pada jam tangan. Penggunaan LED RGB akan membantu membezakan antara fungsi dan mod yang berbeza menggunakan warna yang berbeza. Warna dipilih oleh pengguna dan dapat dengan mudah disesuaikan dengan palet warna apa pun yang mereka sukai. Ini membolehkan pengguna menavigasi fungsi dengan mudah tanpa merasa bingung.
Langkah seterusnya ialah membuat gambarajah blok!
Langkah 3: Mendapatkan Kerja
Seperti mana-mana projek elektronik biasa, gambarajah blok adalah bahagian penting dalam peringkat reka bentuk awal. Dengan menggunakan kriteria, saya berjaya mengumpulkan rajah blok di atas. Setiap blok dalam rajah mewakili fungsi dalam litar dan anak panah menunjukkan hubungan fungsi. Gambarajah blok secara keseluruhan memberikan gambaran keseluruhan yang baik tentang bagaimana litar berfungsi.
Langkah seterusnya adalah mula membuat keputusan mengenai komponen individu untuk setiap blok dalam rajah blok!
Langkah 4: Memilih Komponen
Ternyata terdapat banyak komponen dalam rangkaian ini. Di bawah ini, saya telah memilih beberapa yang paling penting berserta penjelasan mengapa saya memilihnya.
LED
Untuk antara muka binari, pilihannya agak lurus ke hadapan. Saya tahu bahawa saya mahu menggunakan LED untuk paparan dan mengetahui bahawa saya memerlukan 16 daripadanya (dalam grid 4 × 4) untuk memaparkan sebanyak mungkin maklumat. Semasa penyelidikan saya untuk LED yang sempurna, APA102 terus muncul. Ini adalah LED yang sangat kecil (2mm x 2mm) yang dapat dialamatkan dengan pelbagai warna dan agak murah. Walaupun sebelum ini saya tidak pernah bekerja dengan mereka, mereka nampaknya sangat sesuai untuk projek ini, jadi saya memutuskan untuk menggunakannya.
Pengawal Mikro
Pemilihan mikrokontroler juga cukup mudah. Saya mempunyai banyak pengalaman menggunakan Atmega328P-AU dalam aplikasi mandiri dan sangat memahami ciri-cirinya. Ini adalah mikrokontroler yang sama yang digunakan di papan Arduino Nano. Saya sedar bahawa mungkin ada mikrokontroler yang lebih murah yang boleh saya gunakan tetapi mengetahui bahawa Atmega328 akan mendapat sokongan penuh untuk semua perpustakaan Arduino adalah faktor besar dalam memilihnya untuk projek ini.
RTC (Jam Masa Nyata)
Keperluan utama untuk RTC adalah ketepatan. Saya tahu bahawa jam tangan tidak akan mempunyai sambungan internet dan dengan itu tidak dapat menentukur semula dirinya melalui sambungan internet, pengguna perlu mengkalibrasinya semula secara manual. Oleh itu, saya ingin membuat ketepatan masa setepat mungkin. M41T62 RTC mempunyai salah satu ketepatan tertinggi yang dapat saya temukan (± 2ppm bersamaan ± 5 saat sebulan). Menggabungkan ketepatan tinggi dengan keserasian I2C dan penggunaan arus yang sangat rendah menjadikan RTC ini pilihan yang baik untuk projek ini.
Penukar Boost DC-DC
Memilih DC-DC Boost Converter IC dilakukan hanya dengan melihat litar dan mengetahui voltan dan arus yang diperlukan. Menjalankan litar pada voltan rendah akan mengurangkan penggunaan semasa tetapi saya tidak dapat berada di bawah 4.5V (voltan mikrokontroler minimum pada jam 16MHz) dan saya tidak boleh melebihi 4.5V (voltan maksimum RTC). Ini bermaksud bahawa saya harus menjalankan litar tepat pada 4.5V untuk mengendalikan komponen mengikut spesifikasi yang disyorkan. Saya mengira bahawa arus maksimum litar tidak akan melebihi 250mA. Oleh itu, saya mula mencari penukar dorongan yang dapat memenuhi syarat dan dengan cepat menemui TPS61220. TPS61220 memerlukan komponen luaran minimum, cukup murah dan dapat memenuhi keperluan arus dan voltan.
Bateri
Keperluan utama bateri adalah ukuran. Bateri perlu cukup kecil sehingga boleh masuk ke dalam penutup jam tanpa membuatnya kelihatan besar. Saya fikir baterinya tidak boleh melebihi 20mm × 35mm × 10mm. Dengan kekangan ukuran ini dan keperluan semasa 250mA pilihan bateri saya terhad kepada bateri LiPo. Saya menjumpai bateri "Turnigy nano-tech 300mAh 1S" di Hobbyking yang saya memutuskan untuk digunakan.
IC Pengecasan
Tidak ada syarat khusus untuk pengawal caj kecuali bahawa ia harus serasi dengan bateri 1S LiPo. Saya dapati MCP73831T yang merupakan pengawal cas bersepadu sepenuhnya yang direka untuk aplikasi pengecasan sel tunggal. Salah satu ciri-cirinya adalah kemampuan untuk menyesuaikan arus pengecasan melalui perintang luaran yang menurut saya agak berguna dalam aplikasi ini.
Perlindungan LiPo
Saya ingin memasukkan voltan dan pemantauan semasa untuk melindungi bateri daripada keadaan berlebihan dan berlebihan yang berbahaya. Terdapat sejumlah IC yang menyediakan ciri tersebut dan salah satu pilihan yang lebih murah adalah IC BQ29700. Ia memerlukan sedikit komponen luaran dan merangkumi semua perlindungan yang diperlukan untuk bateri LiPo sel tunggal.
Setelah komponen dipilih, inilah masanya untuk membuat skema!
Langkah 5: Skematik
Dengan menggunakan Altium Designer, saya dapat mengumpulkan skema di atas menggunakan cadangan dari setiap lembar data komponen. Skema dibahagikan kepada blok yang berbeza untuk menjadikannya lebih mudah dibaca. Saya juga menambah beberapa nota dengan maklumat penting sekiranya ada orang lain yang ingin membuat reka bentuk ini.
Langkah seterusnya adalah menyusun skema pada PCB!
Langkah 6: Susun atur PCB
Susun atur PCB ternyata menjadi bahagian yang paling mencabar dari projek ini. Saya memilih untuk menggunakan PCB 2 lapisan untuk mengurangkan kos pembuatan PCB minimum. Saya memilih untuk menggunakan ukuran jam standard 36mm kerana nampaknya sesuai dengan LED dengan baik. Saya menambah beberapa lubang skru 1mm untuk menahan PCB di penutup jam. Tujuannya adalah untuk mengekalkan reka bentuk yang bersih dan tampan dengan meletakkan semua komponen (kecuali LED tentu saja) di lapisan bawah. Saya juga ingin menggunakan bilangan vias minimum yang minimum untuk mengelakkan vias yang kelihatan di lapisan atas. Ini bermaksud bahawa saya harus mengarahkan semua jejak pada satu lapisan sambil memastikan bahagian "bising" litar jauh dari jejak isyarat sensitif. Saya juga memastikan untuk menyimpan semua jejak sesingkat mungkin, meletakkan kapasitor pintas dekat dengan beban, menggunakan jejak yang lebih tebal untuk komponen berkuasa tinggi dan mengikuti semua amalan reka bentuk PCB yang baik. Peralihan memerlukan sedikit masa, tetapi saya rasa ia berjalan lancar.
Langkah seterusnya ialah membuat model 3D untuk penutup jam tangan!
Langkah 7: Reka Bentuk 3D
Kandang jam direka mengikut reka bentuk jam tangan yang sangat konvensional, klasik menggunakan Fusion 360. Saya menggunakan jarak 18mm standard untuk tali jam untuk menjadikan jam tangan serasi dengan sebilangan besar tali lain. Potongan untuk PCB dirancang 0, 4 mm lebih besar daripada PCB itu sendiri untuk menampung sebarang ketidaktepatan pembuatan. Saya memasukkan beberapa tiang skru untuk memasang PCB dan tepi kecil untuk meletakkan PCB. Saya memastikan untuk melekatkan PCB fem milimeter dari atas untuk mengelakkan tepi tajam LED tersekat pada pakaian. Ketinggian kandang ditentukan sepenuhnya oleh ketebalan bateri. Bahagian selebihnya dirancang untuk kelihatan cantik dengan tepi bulat dan sudut yang digilap. Saya mesti memastikan reka bentuk cetak 3Dnya mesra sehingga saya dapat mencetak 3D di rumah tanpa bahan sokongan.
Setelah perkakasan selesai, inilah masanya untuk mula mengerjakan perisian!
Langkah 8: Kodnya
Saya memulakan kod dengan memasukkan semua perpustakaan yang diperlukan. Ini termasuk perpustakaan untuk berkomunikasi dengan RTC dan untuk memandu LED. Selepas itu, saya membuat fungsi yang berasingan untuk setiap mod. Apabila pengguna menukar mod dengan menekan butang, program memanggil fungsi yang sesuai dengan mod itu. Sekiranya pengguna tidak menekan butang dalam jangka masa yang ditentukan, jam tangan akan tidur.
Mod tidur ditunjukkan oleh semua LED memudar sehingga mati sepenuhnya. Menggunakan mod tidur akan meningkatkan jangka hayat bateri dan menyalakan LED ketika mereka tidak digunakan. Pengguna boleh membangunkan jam tangan dengan menekan butang atas. Apabila terbangun, jam tangan akan memeriksa tahap bateri untuk memastikan bahawa ia tidak memerlukan pengisian. Sekiranya pengecasan diperlukan, LED akan berkedip merah beberapa kali sebelum memaparkan waktu. Sekiranya bateri berada di bawah tahap kritikal, ia tidak akan sama sekali menyala.
Pengaturcaraan selebihnya dilakukan untuk menjadikan mod-mod lain yang intuitif mungkin. Saya berpendapat bahawa mempunyai butang yang sama yang bertanggungjawab untuk fungsi yang sama di semua mod akan menjadi yang paling intuitif. Selepas beberapa ujian, ini adalah konfigurasi butang yang saya buat:
- Tekan Butang Atas: Bangun / Putar antara mod "Waktu Paparan", "Tarikh Paparan", "Jam randik" dan "Penggera".
- Tahan Butang Teratas: Masukkan mod "Tetapkan Masa", "Tetapkan Tarikh", "Mulakan Jam Randik" atau "Tetapkan Penggera".
- Tekan Butang Bawah: Meningkatkan Kecerahan.
- Tahan Butang Bawah: Masukkan Mod "Pilih Warna".
Butang bawah selalu bertanggungjawab untuk penyesuaian kecerahan dan warna, tidak bergantung pada mod yang anda gunakan. Apabila pengguna memasuki mod "Pilih Warna", LED mula mengitar semua kemungkinan warna RGB. Pengguna dapat menjeda animasi dan memilih warna yang mereka sukai untuk mod tertentu itu (Waktu Paparan berwarna merah, Tampilan Paparan dengan warna biru, dll.). Warna dimaksudkan agar mudah disesuaikan oleh pengguna untuk membantunya membezakan antara mod yang berbeza.
Setelah kod selesai, sudah tiba masanya untuk memuat naiknya ke mikrokontroler!
Langkah 9: Pengaturcaraan
Sudah hampir masa untuk pematerian dan pemasangan tetapi sebelum itu saya perlu memprogram mikrokontroler. Saya mengikuti tutorial ini
Bakar pemuat but ke SMD ATmega328P-AU
mengenai cara membakar bootloader dan memprogram mikrokontroler menggunakan Arduino Uno biasa sebagai pengaturcara.
Langkah pertama adalah mengubah Arduino Uno menjadi ISP dengan memuat naik kod contoh "ArduinoISP". Saya menggunakan papan roti bersama dengan soket pengaturcaraan dan menyusun skema dari tutorial. Selepas itu, saya dapat menyalakan bootloader ke mikrokontroler dengan hanya menekan "Burn Bootloader" di Arduino IDE.
Setelah mikrokontroler mempunyai bootloader, saya hanya mengeluarkan mikrokontroler yang ada dari Arduino Uno dan menggunakan papan Arduino Uno sebagai USB ke Serial Adapter untuk memuat naik kod ke mikrokontroler di soket pengaturcaraan. Setelah muat naik selesai, saya dapat memulakan proses pematerian.
Langkah seterusnya adalah mengumpulkan semua komponen dan menyatukannya bersama-sama!
Langkah 10: Pematerian
Proses pematerian dibahagikan kepada dua bahagian. Pertama lapisan bawah perlu disolder, dan kemudian lapisan atas.
Saya mengamankan PCB jam tangan antara beberapa papan prototaip menggunakan pita. Ini memastikan bahawa PCB tidak bergerak semasa pematerian, yang sangat penting. Saya kemudian meletakkan stensil pematerian di atas PCB dan menggunakan sejumlah besar solder paste untuk menutup semua solder pad. Saya terus menggunakan sepasang pinset nipis untuk meletakkan semua komponen pada pad yang sesuai. Saya kemudian menggunakan senapang api untuk mengembalikan solder semua komponen di tempatnya.
Semasa lapisan bawah disolder, saya memberikan pemeriksaan visual yang cepat untuk memastikan bahawa pematerian itu berjaya. Saya kemudian membalikkan papan dan mengulangi proses pematerian di sisi lain, kali ini dengan semua LED. Adalah sangat penting untuk tidak terlalu panas papan ketika menyolder lapisan atas kerana semua komponen di bahagian bawah berisiko jatuh. Syukurlah, semua komponen tetap berada di tempatnya dan setelah menyolder butang di tempatnya menggunakan besi pematerian biasa, PCB selesai!
Sudah tiba masanya untuk perhimpunan terakhir!
Langkah 11: Perhimpunan
Perhimpunannya sangat sederhana. Saya menyambungkan bateri ke PCB dan meletakkan bateri dan PCB di dalam cetakan 3D. Saya terus memasukkan empat skru di lubang pemasangan di setiap sudut PCB. Selepas itu, saya memasang tali jam menggunakan batang spring 18mm dan jam tangan sudah lengkap!
Langkah 12: Kesimpulan dan Penambahbaikan
Jam tangan ini berfungsi seperti yang diharapkan dan saya sangat gembira dengan hasilnya. Saya tidak menghadapi masalah sejauh ini dan bateri hampir habis sepenuhnya setelah seminggu digunakan.
Saya mungkin menambah ciri lain pada jam tangan pada masa akan datang. Oleh kerana port USB disambungkan ke mikrokontroler, firmware dapat dikemas kini pada bila-bila masa dengan ciri baru. Untuk masa ini, saya akan terus menggunakan versi jam tangan ini dan melihat bagaimana ia bertahan setelah penggunaan lama.
Sekiranya anda mempunyai idea, komen atau pertanyaan mengenai projek ini, tinggalkan di bawah. Anda juga boleh menghantarnya ke [email protected].
Hadiah Pertama dalam Peraduan Jam
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 Meja Perduaan: 9 Langkah (dengan Gambar)
Jam Meja Binari: 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 menjumpai banyak pilihan binari
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
Microdot - Jam Tangan Corak LED Jam Tangan: 7 Langkah (dengan Gambar)
Microdot - Jam Tangan Corak LED Jam Tangan: Satu lagi pengeluaran RGB Sunset Productions! Projek ini adalah papan litar untuk membuat versi jam tangan jam tangan minidot saya: https: //www.instructables.com/id/EEGLXQCSKIEP2876EE/dengan beberapa lagi berfungsi lebih sesuai untuk peranti mudah alih. A