Isi kandungan:

Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)
Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)

Video: Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)

Video: Jam Tangan Perduaan Terbaik: 12 Langkah (dengan Gambar)
Video: Tips Kunci Jadi Juara Kelas 2024, Disember
Anonim
Jam Tangan Perduaan Terbaik
Jam Tangan Perduaan Terbaik
Jam Tangan Perduaan Terbaik
Jam Tangan Perduaan Terbaik
Jam Tangan Perduaan Terbaik
Jam Tangan Perduaan Terbaik

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

Beberapa Teori Binary-Watch
Beberapa Teori Binary-Watch

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

Mendapatkan Kerja
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

Skema
Skema

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
Susun atur PCB
Susun atur PCB
Susun atur PCB
Susun atur PCB
Susun atur PCB
Susun atur PCB
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

Reka Bentuk 3D
Reka Bentuk 3D
Reka Bentuk 3D
Reka Bentuk 3D
Reka Bentuk 3D
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

Kod tersebut
Kod tersebut

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

Pengaturcaraan
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

Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
Pematerian
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

perhimpunan
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

Kesimpulan dan Penambahbaikan
Kesimpulan dan Penambahbaikan
Kesimpulan dan Penambahbaikan
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].

Peraduan Jam
Peraduan Jam
Peraduan Jam
Peraduan Jam

Hadiah Pertama dalam Peraduan Jam

Disyorkan: