Isi kandungan:

Jam Paparan Tujuh Segmen Mekanikal: 7 Langkah (dengan Gambar)
Jam Paparan Tujuh Segmen Mekanikal: 7 Langkah (dengan Gambar)

Video: Jam Paparan Tujuh Segmen Mekanikal: 7 Langkah (dengan Gambar)

Video: Jam Paparan Tujuh Segmen Mekanikal: 7 Langkah (dengan Gambar)
Video: Bikin Seven Segment Dari LED Strip VLOG179 2024, November
Anonim
Jam Paparan Segmen Tujuh Mekanikal
Jam Paparan Segmen Tujuh Mekanikal
Jam Paparan Segmen Tujuh Mekanikal
Jam Paparan Segmen Tujuh Mekanikal

Beberapa bulan yang lalu saya membina paparan segmen mekanikal 7 digit dua digit yang saya ubah menjadi pemasa undur. Ia keluar dengan cukup baik dan sebilangan orang menyarankan untuk menggandakan layar untuk membuat jam. Masalahnya ialah saya sudah kehabisan PWM IO di Arduino Mega saya dan tidak mempunyai cukup untuk digit kedua atau ketiga. Saya kemudian dihala ke arah pemacu PWM 16 saluran PCA9685 16 ini yang beroperasi melalui antara muka I2C. Ini memungkinkan untuk memacu 28 servo yang saya perlukan semua menggunakan dua pin I2C pada Arduino. Oleh itu, saya terpaksa membina jam yang kini menggunakan modul jam masa nyata DS1302 untuk mengekalkan masa dan dua pemacu servo 16 saluran untuk mengawal 28 servo yang digunakan untuk membuat paparan, semuanya dikuasakan oleh Arduino Uno.

Sekiranya anda menikmati Instructable ini, pertimbangkan untuk memilihnya dalam Peraduan Jam

Bekalan:

Untuk membina jam, anda memerlukan bekalan berikut sebagai tambahan kepada beberapa alat asas:

  • Arduino Uno - Beli Di Sini
  • Modul Jam DS1302 - Beli Di Sini
  • 2 x Pemacu Servo PCA9685 16Ch - Beli Di Sini
  • 28 x Mikro Servos - Beli Di Sini
  • Kabel Riben - Beli Di Sini
  • Jalur Header Pin Lelaki - Beli Di Sini
  • Jalur Pin Pin Wanita - Beli Di Sini
  • MDF 3mm - Beli Di Sini
  • Cat Spray Hitam - Beli Di Sini
  • Litar Penghapusan Bateri 5V 5A - Beli Di Sini
  • Bekalan Kuasa 12V - Beli Di Sini

Untuk projek ini, anda juga memerlukan beberapa bahagian bercetak 3D. Sekiranya anda belum mempunyai pencetak 3D dan anda gemar membuat sesuatu, anda mesti mempertimbangkan untuk membelinya. Creality Ender 3 Pro yang digunakan di sini adalah berpatutan dan menghasilkan cetakan berkualiti yang cukup baik untuk harganya.

  • Pencetak 3D Digunakan - Beli Di Sini
  • Filament - Beli Di Sini

Langkah 1: Cetak 3D Komponen Plastik

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

Saya merancang paparan 7 segmen agar sesederhana mungkin. Servo juga merupakan braket sokongan untuk menahan segmen di atasnya. Terdapat dua komponen cetak 3D yang diperlukan untuk setiap segmen, blok spacer untuk menyokong bahagian bawah servo dan segmen paparan yang terpaku terus ke lengan servo.

Muat turun Fail Cetak 3D - Fail Cetakan 3D Jam Segmen Mekanikal 7

Cetak segmen servo dan titik menggunakan PLA berwarna terang. Saya menggunakan hijau lut, tetapi merah, oren atau kuning juga boleh berfungsi dengan baik. Saya menggunakan PLA hitam untuk blok spacer dan penyokong titik sehingga tidak dapat dilihat ketika segmen dipusingkan ke posisi mati.

Sekiranya anda tidak mempunyai akses ke pencetak 3D, cubalah salah satu perkhidmatan percetakan dalam talian. Terdapat sebilangan perkhidmatan berpatutan yang tersedia yang akan mencetak komponen dan menghantarnya ke pintu anda dalam beberapa hari.

Langkah 2: Siapkan Papan Kawalan & Pendawaian Anda

Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda
Sediakan Papan Kawalan & Pendawaian Anda

Anda perlu menggunakan dua pemacu PWM 16 saluran PCA9685 16 untuk memacu servo 28 jam anda. Saya memisahkan servo menjadi digit jam dan minit, dengan setiap sepasang digit didorong oleh satu papan. Oleh itu, saya mempunyai satu papan yang mengendalikan servo untuk digit dua jam dan yang kedua mengendalikan servo untuk digit dua minit.

Untuk mengikat keduanya bersama-sama, anda perlu membuat penyambung kabel pita 6 wayar dan memateri jalur pengepala kedua ke hujung papan kawalan servo pertama. Anda juga perlu menukar alamat I2C di papan kedua supaya berbeza dengan alamat pertama dan dikenali secara unik.

Anda juga perlu menyusun kabel pendawaian untuk menyambungkan tiga papan (dua papan servo dan modul jam) ke Arduino anda. Anda memerlukan 5V dan GND ke setiap papan serta sambungan I2C ke pin Arduino anda A4 dan A5 (I2C di Arduino Uno), dan modul jam pin CLK, DAT & RST ke pin 6, 7 & 8 di Arduino anda masing-masing.

Kuasa dibekalkan ke Arduino terus dari bekalan kuasa 12V dan ke servos menggunakan 5V 5A BEC yang kemudian disambungkan ke dua terminal di bahagian atas pemacu PWM. Anda hanya perlu menyambungkan satu pemacu servo ke kuasa dan ia akan memberi kuasa kepada yang kedua melalui sambungan kabel pita 6 wayar.

Langkah 3: Himpunkan Servos

Himpunkan Servos
Himpunkan Servos
Himpunkan Servos
Himpunkan Servos
Himpunkan Servos
Himpunkan Servos

Sebaik sahaja anda mencetak segmen anda, anda perlu menyemburkan bahagian belakang dan hitam sehingga ia tidak kelihatan apabila mereka berpusing 90 darjah ke kedudukan mati.

Anda kemudian perlu melekatkan segmen ke lengan servo anda dengan gam lebur panas. Ini membantu melekatkannya ke servo dengan lengan yang sudah ada di servo, dengan cara ini anda dapat memeriksa bahawa anda melekatkannya pada lurus dan rata.

Anda juga perlu merekatkan blok spacer ke bahagian bawah setiap servo.

Pasang titik dengan merekatkan dowel kecil atau tongkat kebab ke belakang titik dan kemudian ke blok asas. Saya menyemburkan kayu ini juga hitam agar tidak kelihatan jika dilihat dari sudut.

Langkah 4: Siapkan & Uji

Sediakan & Uji
Sediakan & Uji
Sediakan & Uji
Sediakan & Uji

Saya menghitung semua servos dan menuliskan nombor tersebut ke setiap petunjuk supaya lebih mudah untuk mengesannya. Saya mulakan dengan segmen teratas pada digit unit dan bekerja ke segmen tengah pada digit puluhan. Ini juga urutan di mana saya memasangkannya ke papan kawalan servo, mengingat bahawa pengecam pada papan tersebut berkisar antara 0 hingga 13 dan bukan dari 1 hingga 14.

Saya kemudian menyusun segmen di atas meja dengan ruang yang cukup di antara mereka untuk diuji sehingga mereka tidak bergerak menjadi satu dan yang lain sambil mengatur had dan arah perjalanan. Sekiranya anda mencuba meletakkannya rapat, anda mungkin mempunyai satu atau dua percubaan untuk bergerak ke arah yang salah atau perjalanan lebih jauh pada tahap tertentu dan memukul yang lain yang boleh merosakkan segmen, lengan servo atau melepaskan roda gigi pada servo.

Langkah 5: Memuat naik Kod

Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod
Memuat naik Kod

Kodnya kelihatan rumit pada pandangan pertama, tetapi sebenarnya agak mudah berkat dua perpustakaan yang digunakan. Terdapat juga banyak pengulangan kerana terdapat empat paparan segmen 7 yang berbeza yang perlu dikemas kini.

Berikut adalah penerangan ringkasan kod, lihat panduan lengkap untuk penjelasan yang lebih terperinci dan pautan untuk memuat turun kod - Jam Paparan Segmen Mekanikal 7

Kita mulakan dengan mengimport dua perpustakaan, virtuabotixRTC.h untuk modul jam dan Adafruit_PWMServoDriver.h untuk pemacu servo. Perpustakaan Adafruit boleh dimuat turun dan dipasang terus melalui pengurus perpustakaan di IDE.

Kami kemudian membuat objek untuk setiap papan kawalan dengan alamat yang berkaitan, satu untuk digit jam dan satu untuk digit minit.

Kami kemudian mempunyai empat susunan untuk menyimpan kedudukan hidup dan mati untuk setiap servo. Anda perlu membuat penyesuaian pada nombor-nombor ini dalam langkah-langkah yang akan datang untuk memastikan bahawa servo anda tegak ketika dihidupkan, dihidupkan 90 darjah ketika mati dan tidak melakukan perjalanan.

Susunan digit menyimpan kedudukan setiap segmen untuk setiap digit yang akan dipaparkan.

Kami kemudian menyiapkan modul jam dan membuat pemboleh ubah untuk menyimpan digit individu semasa dan masa lalu.

Dalam fungsi persediaan kita memulakan dan memasang papan kawalan PWM serta mengemas kini waktu jam jika diperlukan. Kami kemudian menjalankan gelung untuk menetapkan paparan ke 8 8: 8 8 sehingga kami mengetahui kedudukan permulaan semua servos. Ini juga digunakan untuk mengatur servo agar semuanya menghadap ke atas dengan betul.

Dalam gelung utama, kita mendapat masa yang dikemas kini dari modul jam, menumpahkannya menjadi empat digit dan kemudian memeriksa sama ada waktunya telah berubah dari pemeriksaan terakhir. Sekiranya waktunya telah berubah maka kami mengemas kini paparan dan kemudian mengemas kini digit sebelumnya.

Dalam fungsi paparan kemas kini, pertama kita memindahkan segmen tengah. Ini dilakukan terlebih dahulu kerana ada beberapa logik yang diperlukan untuk memindahkan dua segmen atas yang berdekatan dengan segmen tengah keluar sedikit sebelum memindahkan segmen tengah, jika tidak, ia akan bertemu dengan mereka. Setelah segmen tengah dipindahkan maka segmen selebihnya dipindahkan kedudukan yang betul.

Langkah 6: Memasang Jam di Papan Belakang

Memasang Jam di Papan Belakang
Memasang Jam di Papan Belakang
Memasang Jam di Papan Belakang
Memasang Jam di Papan Belakang
Memasang Jam di Papan Belakang
Memasang Jam di Papan Belakang

Setelah selesai menjalani ujian, saya memasang servo ke papan belakang menggunakan susun atur di atas sebagai panduan.

Kawasan putih adalah ukuran papan keseluruhan, kelabu yang lebih terang adalah kawasan yang mengelilingi setiap digit di mana segmen servo bergerak ke dalam dan garis besar di kawasan kelabu gelap adalah garis tengah untuk 6 segmen luar untuk setiap digit.

Saya memotong papan, menandakan susun atur dan kemudian menempelkan digit di tempatnya untuk membentuk muka jam.

Saya kemudian menggerudi lubang di dekat setiap servo dan memasukkan wayar ke bahagian belakang papan supaya tidak kelihatan.

Saya memasang elektronik ke bahagian belakang jam dengan pita dua sisi.

Langkah 7: Persediaan & Operasi Akhir

Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir
Persediaan & Operasi Akhir

Setelah servo semua siap, saya mengeluarkan semua lengan servo untuk penyesuaian akhir pada kedudukan segmen. Anda harus menghidupkan Arduino dalam keadaan ini sehingga 8 8: 8 8 dipaparkan dan kemudian memutuskan bekalan kuasa, ini memusatkan kembali semua servo anda sehingga anda dapat meletakkan kembali lengan servo dengan segmen menghadap hampir sama dengan menegak yang mungkin.

Anda kemudian perlu menguatkan Arduino anda secara berurutan dan membuat penyesuaian pada kedudukan hidup dan mati segmen anda dalam keempat susunan anda sehingga servo betul-betul menegak ketika dihidupkan dan menghidupkan 90 darjah ketika mati tanpa perjalanan berlebihan. Langkah ini cukup memakan masa dan memerlukan sedikit kesabaran tetapi hasil akhirnya sangat berbaloi!

Jam boleh dibiarkan berkuasa menggunakan bekalan kuasa 12V dan 5V BEC disambungkan kepadanya. Sekiranya daya mati, bateri pada modul RTC akan menyimpan masa sehingga apabila kuasa dipulihkan, jam secara automatik akan ditetapkan semula ke waktu yang betul.

Sekiranya anda menikmati Instructable ini, silakan memilihnya dalam pertandingan Jam dan beritahu saya tentang sebarang penambahbaikan atau cadangan yang boleh anda dapatkan di bahagian komen di bawah.

Peraduan Jam
Peraduan Jam
Peraduan Jam
Peraduan Jam

Hadiah Kedua dalam Peraduan Jam

Disyorkan: