Daftar Isi:

Jam Tampilan Mekanik Tujuh Segmen: 7 Langkah (dengan Gambar)
Jam Tampilan Mekanik Tujuh Segmen: 7 Langkah (dengan Gambar)

Video: Jam Tampilan Mekanik Tujuh Segmen: 7 Langkah (dengan Gambar)

Video: Jam Tampilan Mekanik Tujuh Segmen: 7 Langkah (dengan Gambar)
Video: Cara mengganti controller dan mengatur Jam waktu shalat seven segment 2024, Juli
Anonim
Jam Tampilan Mekanik Tujuh Segmen
Jam Tampilan Mekanik Tujuh Segmen
Jam Tampilan Mekanik Tujuh Segmen
Jam Tampilan Mekanik Tujuh Segmen

Beberapa bulan yang lalu saya membuat tampilan 7 segmen mekanis dua digit yang saya ubah menjadi penghitung waktu mundur. Itu keluar dengan cukup baik dan sejumlah orang menyarankan untuk menggandakan tampilan untuk membuat jam. Masalahnya adalah saya sudah kehabisan PWM IO di Arduino Mega saya dan tidak cukup tersedia untuk digit kedua atau ketiga. Saya kemudian diarahkan ke driver PWM 16 saluran PCA9685 ini yang beroperasi melalui antarmuka I2C. Ini memungkinkan untuk menggerakkan 28 servo yang saya butuhkan semuanya menggunakan dua pin I2C pada Arduino. Jadi saya harus bekerja membangun jam yang sekarang menggunakan modul jam waktu nyata DS1302 untuk menjaga waktu dan dua driver servo 16 saluran untuk mengontrol 28 servo yang digunakan untuk membuat tampilan, semuanya ditenagai oleh Arduino Uno.

Jika Anda menikmati Instruksi ini, harap pertimbangkan untuk memilihnya di Kontes Jam

Perlengkapan:

Untuk membuat jam, Anda memerlukan perlengkapan berikut selain beberapa alat dasar:

  • Arduino Uno - Beli Disini
  • Modul Jam DS1302 - Beli Di Sini
  • 2 x Driver Servo PCA9685 16Ch - Beli Di Sini
  • 28 x Servo Mikro - Beli Di Sini
  • Kabel Pita - Beli Di Sini
  • Strip Header Pin Pria - Beli Di Sini
  • Strip Header Pin Wanita - Beli Di Sini
  • MDF 3mm - Beli Di Sini
  • Cat Semprot Hitam - Beli Disini
  • Sirkuit Penghapusan Baterai 5V 5A - Beli Di Sini
  • Catu Daya 12V - Beli Di Sini

Untuk proyek ini, Anda juga memerlukan beberapa bagian cetak 3D. Jika Anda belum memiliki printer 3D dan Anda senang membuatnya, maka Anda harus mempertimbangkan untuk membelinya. Creality Ender 3 Pro yang digunakan di sini terjangkau dan menghasilkan cetakan dengan kualitas yang cukup bagus untuk harganya.

  • Printer 3D Bekas - Beli Disini
  • Filamen - Beli Di Sini

Langkah 1: Cetak 3D Komponen Plastik

Cetak 3D Komponen Plastik
Cetak 3D Komponen Plastik
Cetak 3D Komponen Plastik
Cetak 3D Komponen Plastik
Cetak 3D Komponen Plastik
Cetak 3D Komponen Plastik

Saya merancang tampilan 7 segmen sesederhana mungkin. Servo juga merupakan braket pendukung untuk menahan segmen di atasnya. Ada dua komponen cetak 3D yang diperlukan untuk setiap segmen, blok pengatur jarak untuk menopang sisi bawah servo dan segmen tampilan yang menempel langsung ke lengan servo.

Unduh File Cetak 3D - Jam Tampilan Mekanik 7 Segmen File Cetak 3D

Cetak segmen dan titik servo menggunakan PLA berwarna cerah. Saya menggunakan hijau transparan, tetapi merah, oranye, atau kuning juga berfungsi dengan baik. Saya menggunakan PLA hitam untuk blok spacer dan penyangga titik sehingga tidak terlihat saat segmen diputar ke posisi mati.

Jika Anda tidak memiliki akses ke printer 3D, cobalah salah satu layanan pencetakan online. Ada sejumlah layanan terjangkau yang tersedia yang akan mencetak komponen dan mengirimkannya ke pintu Anda dalam beberapa hari.

Langkah 2: Siapkan Papan Kontrol & Pengkabelan Anda

Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda
Siapkan Papan Kontrol & Pengkabelan Anda

Anda harus menggunakan dua driver PWM PCA9685 16 saluran untuk menggerakkan servos 28 jam Anda. Saya memisahkan servo ke dalam digit jam dan menit, dengan setiap pasangan digit digerakkan oleh satu papan. Jadi saya memiliki satu papan yang mengendalikan servos untuk dua digit jam dan yang kedua mengendalikan servos untuk dua digit menit.

Untuk menyatukan keduanya, Anda harus membuat konektor kabel pita 6 kawat dan menyolder strip header kedua ke ujung lain dari papan kontrol servo pertama. Anda juga harus mengubah alamat I2C di papan kedua sehingga berbeda dengan yang pertama dan dapat diidentifikasi secara unik.

Anda juga harus membuat rangkaian kabel untuk menghubungkan tiga papan (dua papan servo dan modul jam) ke Arduino Anda. Anda memerlukan 5V dan GND ke setiap papan serta koneksi I2C ke pin Arduino Anda A4 dan A5 (I2C pada Arduino Uno), dan modul jam menyematkan CLK, DAT & RST ke pin 6, 7 & 8 pada Arduino Anda masing-masing.

Daya disuplai ke Arduino langsung dari catu daya 12V dan ke servos menggunakan BEC 5V 5A yang kemudian dihubungkan ke dua terminal di bagian atas driver PWM. Anda hanya perlu menghubungkan satu driver servo ke daya dan itu akan memberi makan daya ke yang kedua melalui koneksi kabel pita 6 kawat.

Langkah 3: Pasang Servos

Merakit Servos
Merakit Servos
Merakit Servos
Merakit Servos
Merakit Servos
Merakit Servos

Setelah Anda mencetak segmen Anda, Anda harus menyemprot bagian belakang dan samping menjadi hitam agar tidak terlalu terlihat saat diputar 90 derajat ke posisi mati.

Anda kemudian perlu merekatkan segmen ke lengan servo Anda dengan lem panas meleleh. Ini membantu merekatkannya ke servo dengan lengan yang sudah ada di servo, dengan cara ini Anda dapat memeriksa apakah Anda menempelkannya lurus dan rata.

Anda juga harus merekatkan blok pengatur jarak ke bagian bawah setiap servo.

Kumpulkan titik-titik dengan menempelkan dowel kecil atau tongkat kebab ke bagian belakang titik-titik dan kemudian ke blok dasar. Saya juga menyemprotkan stik ini dengan warna hitam agar tidak terlalu terlihat jika dilihat dari sudut.

Langkah 4: Menyiapkan & Menguji

Pengaturan & Pengujian
Pengaturan & Pengujian
Pengaturan & Pengujian
Pengaturan & Pengujian

Saya memberi nomor semua servos dan menuliskan nomornya ke setiap lead sehingga lebih mudah untuk melacaknya. Saya mulai dengan segmen atas pada digit satuan dan bekerja di sekitar segmen tengah pada digit puluhan. Ini juga urutan di mana saya menghubungkannya ke papan kontrol servo, mengingat bahwa pengidentifikasi pada papan dihitung dari 0 hingga 13 dan bukan dari 1 hingga 14.

Saya kemudian mengatur segmen di atas meja dengan ruang yang cukup di antara mereka untuk pengujian sehingga mereka tidak berpindah ke satu dan lainnya sambil mengatur batas perjalanan dan arah. Jika Anda mencoba mengaturnya berdekatan, Anda mungkin akan memiliki satu atau dua percobaan untuk bergerak ke arah yang salah atau melewati perjalanan pada tahap tertentu dan menabrak yang lain yang dapat merusak segmen, lengan servo atau melepaskan roda gigi pada servo.

Langkah 5: Mengunggah Kode

Mengunggah Kode
Mengunggah Kode
Mengunggah Kode
Mengunggah Kode
Mengunggah Kode
Mengunggah Kode

Kodenya terlihat rumit pada pandangan pertama, tetapi sebenarnya relatif sederhana berkat dua perpustakaan yang digunakan. Ada juga banyak pengulangan karena ada empat tampilan 7 segmen berbeda yang perlu diperbarui.

Berikut ringkasan deskripsi kode, lihat panduan lengkap untuk penjelasan lebih rinci dan tautan untuk mengunduh kode - Jam Tampilan Mekanik 7 Segmen

Kita mulai dengan mengimpor dua library, virtuabotixRTC.h untuk modul clock dan Adafruit_PWMServoDriver.h untuk driver servo. Pustaka Adafruit dapat diunduh dan diinstal langsung melalui pengelola pustaka di IDE.

Kami kemudian membuat objek untuk setiap papan kontrol dengan alamat yang relevan, satu untuk digit jam dan satu untuk digit menit.

Kami kemudian memiliki empat array untuk menyimpan posisi on dan off untuk setiap servo. Anda harus melakukan penyesuaian pada angka-angka ini dalam langkah-langkah berikutnya untuk memastikan servo Anda tegak saat dihidupkan, diputar 90 derajat saat dimatikan, dan tidak terlalu jauh.

Array digit menyimpan posisi setiap segmen untuk setiap digit yang akan ditampilkan.

Kami kemudian mengatur modul jam dan membuat variabel untuk menyimpan digit individu saat ini dan masa lalu.

Dalam fungsi pengaturan, kami memulai dan mengatur papan kontrol PWM serta memperbarui waktu jam jika diperlukan. Kami kemudian menjalankan loop untuk mengatur tampilan ke 8 8: 8 8 sehingga kami mengetahui posisi awal semua servos. Ini juga digunakan untuk mengatur servos sehingga semuanya menghadap ke atas dengan benar.

Di loop utama kami mendapatkan waktu yang diperbarui dari modul jam, menumpahkannya ke dalam empat digit dan kemudian memeriksa apakah waktu telah berubah dari pemeriksaan terakhir. Jika waktu telah berubah maka kami memperbarui tampilan dan kemudian memperbarui angka sebelumnya.

Dalam fungsi tampilan pembaruan, pertama-tama kita pindahkan segmen tengah. Ini dilakukan terlebih dahulu karena ada beberapa logika yang diperlukan untuk memindahkan dua segmen atas yang berdekatan dengan segmen tengah keluar sedikit sebelum memindahkan segmen tengah, jika tidak maka akan menabrak mereka. Setelah segmen tengah dipindahkan maka segmen yang tersisa dipindahkan ke posisi yang benar.

Langkah 6: Merakit Jam di Papan Belakang

Merakit Jam di Papan Belakang
Merakit Jam di Papan Belakang
Merakit Jam di Papan Belakang
Merakit Jam di Papan Belakang
Merakit Jam di Papan Belakang
Merakit Jam di Papan Belakang

Setelah saya selesai dengan pengujian, saya merakit servos ke papan belakang menggunakan tata letak di atas sebagai panduan.

Area putih adalah ukuran papan keseluruhan, abu-abu yang lebih terang adalah area di sekitar setiap digit tempat segmen servo bergerak dan garis besar pada area abu-abu gelap adalah garis tengah untuk 6 segmen luar untuk setiap digit.

Saya memotong papan, menandai tata letak dan kemudian menempelkan angka di tempatnya untuk membuat tampilan jam.

Saya kemudian mengebor lubang di dekat setiap servo dan memasukkan kabel ke bagian belakang papan sehingga tidak terlalu terlihat.

Saya memasang elektronik ke bagian belakang jam dengan selotip dua sisi.

Langkah 7: Penyiapan & Pengoperasian Akhir

Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir
Penyiapan & Pengoperasian Akhir

Setelah semua servo siap, saya melepas semua lengan servo untuk penyesuaian akhir pada posisi segmen. Anda harus menyalakan Arduino dalam keadaan ini sehingga 8 8: 8 8 ditampilkan dan kemudian lepaskan daya, ini memusatkan kembali semua servo Anda sehingga Anda dapat memasang kembali lengan servo dengan segmen menghadap sedekat vertikal mungkin.

Anda kemudian perlu menyalakan Arduino Anda secara berurutan dan membuat penyesuaian pada posisi on dan off segmen Anda di empat array Anda sehingga servos benar-benar vertikal saat hidup dan berputar 90 derajat saat mati tanpa bepergian. Langkah ini cukup memakan waktu dan membutuhkan sedikit kesabaran tetapi hasil akhirnya sangat berharga!

Jam dapat dibiarkan bertenaga menggunakan catu daya 12V dan 5V BEC yang terhubung dengannya. Jika listrik padam, baterai pada modul RTC akan menjaga waktu sehingga saat listrik kembali menyala, jam otomatis akan direset ke waktu yang tepat.

Jika Anda menikmati Instruksi ini, silakan pilih dalam kontes Jam dan beri tahu saya tentang perbaikan atau saran apa pun yang dapat Anda berikan di bagian komentar di bawah.

Kontes Jam
Kontes Jam
Kontes Jam
Kontes Jam

Hadiah Kedua dalam Kontes Jam

Direkomendasikan: