Daftar Isi:
- Perlengkapan
- Langkah 1: Prototipe dan Uji Sirkuit
- Langkah 2: Program Utama
- Langkah 3: Mencetak Kubus 3D
- Langkah 4: Perakitan
- Langkah 5: Unggah dan Selesai
Video: Jam Kubus Multifungsi Berbasis Posisi: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Proyek Fusion 360 »
Ini adalah jam berbasis Arduino yang menampilkan layar OLED yang berfungsi sebagai jam dengan tanggal, sebagai pengatur waktu tidur siang, dan sebagai lampu malam. "Fungsi" yang berbeda dikendalikan oleh akselerometer dan dipilih dengan memutar jam kubus.
Saya menginginkan jam nakas baru tetapi saya tidak ingin menghabiskan uang untuk jam mewah yang memiliki banyak fungsi yang tidak akan saya gunakan. Selain itu, saya telah mengumpulkan komponen dan sensor yang tergeletak begitu saja, jadi saya memutuskan untuk menggunakannya untuk membuat jam saya sendiri!
Saya memiliki beberapa tujuan untuk proyek ini:
- Tampilkan waktu itu dengan opsi untuk dimatikan
- Sertakan fungsi lampu malam
- Sertakan timer tidur siang 15 menit dengan alarm
- Dapat menampilkan tanggal
Perlengkapan
- Arduino Pro Mini 5V
- Akselerometer 3-Sumbu ADXL335
- DS3231 AT24C32 IIC presisi Jam waktu nyata
- Pembicara Mini
- Layar OLED SSD1306 IIC 0.96in
- Catu daya 5V DC
- LED x 2
- Resistor 220ohm x 2
- Jack tong DC
- Kabel
-
Peralatan
- Pemotong / penari telanjang kawat
- Besi solder / solder
- Pencetak 3D (opsional)
- Pemrogram FTDI untuk menghubungkan antara Pro mini dan Arduino IDE
Langkah 1: Prototipe dan Uji Sirkuit
Hubungkan komponen ke Arduino. Tata letak atau skema papan tempat memotong roti ditunjukkan di atas. RTC dan OLED menggunakan protokol I2C untuk berinteraksi dengan Arduino dan menggunakan pin A4 dan A5. Accelerometer menggunakan 3 pin analog. Saya menggunakan A0, A1, A2. LED dan Piezo dapat menggunakan salah satu pin digital, saya menggunakan masing-masing 4 dan 8.
Antarmuka dengan setiap komponen. Saya harus menginstal beberapa perpustakaan Arduino untuk berinteraksi dengan setiap komponen. Mereka ditunjukkan pada gambar di atas.
Kode menggunakan Arduino IDE. Saya menyaring beberapa contoh sketsa yang disediakan oleh setiap perpustakaan untuk mengetahui sintaks yang tepat untuk setiap komponen berdasarkan apa yang saya ingin mereka lakukan. Saya membuat sketsa untuk setiap komponen untuk mengujinya satu per satu. Mereka disediakan di bawah ini. Saya mulai dengan speaker piezo karena itu yang paling mudah. Sebenarnya tidak perlu library khusus, hanya fungsi khusus yang mengatur frekuensi dan suara. Agar LED berfungsi, Anda hanya perlu menarik salah satu pin digital tinggi dan rendah. Selanjutnya, saya pindah ke OLED dan ini juga cukup mudah untuk diatur. Sketsa di bawah ini adalah demo Adafruit yang melewati semua animasi/teks yang dapat ditampilkan. Kemudian, saya mencoba membuat RTC berfungsi. Sketsa yang saya berikan adalah bagian dari contoh di perpustakaan yang mendapatkan waktu saat ini dan mencetaknya ke monitor serial. Akhirnya, saya menggunakan contoh yang diberikan untuk menguji akselerometer. Output dari setiap sumbu dicetak pada monitor serial.
Sekarang saatnya untuk menyatukan semuanya!
Langkah 2: Program Utama
Sekarang saya tahu semuanya bekerja secara individual, saya dapat mulai membuat program yang menyatukan semuanya. Saya akan membahas proses saya untuk menulis program di bawah ini tetapi jangan ragu untuk mengunduh kode lengkap di bawah ini untuk digunakan untuk proyek Anda sendiri. Saya mencoba untuk meninggalkan komentar khusus sehingga Anda dapat mempelajari kodenya sendiri.
Saya perlu menampilkan waktu dan tanggal pada OLED yang cukup sederhana. Saya hanya perlu mencetak waktu saat ini ke layar alih-alih monitor serial. Ada beberapa hal pemformatan yang harus saya perhitungkan untuk membuatnya menampilkan format 12 jam alih-alih 24 dan menambah/menghapus 0 di tempat yang sesuai. Tanggalnya mirip dengan penambahan tampilan bulan dan hari dalam persegi panjang yang digambar di layar. Saya menggunakan loop FOR bersarang untuk membuat timer dan mematikan piezo setelah akhir loop. Saya memutuskan untuk membuat layar berkedip saat bel berbunyi yang merupakan animasi dasar yang diambil dari demo Adafruit. Saya membuat memutar kubus kembali ke posisi jam satu-satunya cara mematikan bel. Akhirnya, saya ingin cara mematikan layar yang dilakukan hanya dengan membersihkan layar. Sekarang, saya membutuhkan semua fungsi ini untuk bekerja berdasarkan keluaran akselerometer. Saya menggunakan skrip Accel_Test untuk menentukan koordinat sumbu dari setiap posisi yang saya inginkan untuk menjalankan setiap fungsi. Saya secara manual memindahkan chip akselerometer dan mencatat pembacaan pada monitor serial. Diagram di atas memberikan koordinat output dari setiap posisi di GREY. Koordinat dalam RED adalah batas antara setiap posisi dan saya menggunakan angka-angka itu untuk program saya. Dalam 4 posisi tampilan, hanya koordinat sumbu X dan Y yang diperlukan. Posisi kelima untuk lampu malam memanfaatkan sumbu Z. Saya menggunakan pernyataan IF sederhana untuk posisi akselerometer sebelum setiap blok fungsi. Jika Anda menggunakan akselerometer yang berbeda, koordinat ini mungkin berbeda dan perlu disesuaikan dalam program.
Langkah 3: Mencetak Kubus 3D
Saya pikir kubus akan menjadi desain terbaik untuk mengakomodasi bagaimana saya ingin jam berfungsi. Saya menggunakan fusion360 untuk membuat modelnya. Saya membutuhkan guntingan untuk OLED dan jack barel. Saya juga ingin akses mudah untuk mengganti baterai sel di RTC setelah semuanya ditransfer. Saya membutuhkan slot untuk menjaga Arduino dalam orientasi yang mudah diprogram ulang jika perlu. Selain itu, penutup harus mudah dilepas sehingga saya dapat mengakses Arduino. Anda dapat melihat model CAD di atas dan file STL di bawah.
Saya mencetak bodi dalam PLA hitam dengan pengisi 20%, resolusi 0.2mm.
Selungkup atau selongsong dicetak dalam filamen fleksibel Solutech dengan pengisi 100%, resolusi 0,3 mm. Saya menggunakan bahan ini karena memiliki beberapa fleksibilitas yang membuatnya mudah untuk diregangkan di seluruh tubuh. Ini juga terasa lebih lembut saat memutar jam. Terakhir, saya memilih filamen bening sehingga LED untuk lampu malam akan bersinar.
Langkah 4: Perakitan
Saya menghubungkan semuanya menggunakan skema dari Langkah 1. Saya menggunakan sepotong kecil perfboard untuk menghubungkan semua kabel umum sehingga saya tidak perlu menyolder banyak kabel ke satu pin di Arduino. Lem panas digunakan untuk mengamankan segala sesuatu di tempatnya masing-masing kecuali Arduino. Itu baru saja didorong ke slot yang ditentukan. Saya memastikan bahwa papan akselerometer tegak lurus dan rata di bagian bawah bodi sehingga koordinat dalam kode tidak perlu diubah.
Langkah 5: Unggah dan Selesai
Sekarang program terakhir dapat diunggah ke jam untuk mengatur waktu yang tepat. Baterai sel harus menjaga waktu bahkan ketika listrik dicabut. Geser lengan cetak 3D di atas tubuh untuk menyembunyikan semua komponen dan Anda memiliki jam kubus lengkap!
Saya harap Anda menikmati membuat proyek ini dan merasa berguna seperti saya. Bagian yang menyenangkan tentang proyek ini adalah sangat dapat disesuaikan. Jangan ragu untuk menambahkan fungsi Anda sendiri yang berbeda seperti fungsi alarm, gunakan komponen yang berbeda seperti OLED yang lebih besar, penerima radio FM, dll. Selamat membuat!
Direkomendasikan:
Lampu Latar Sepeda Multifungsi Berbasis CD4017: 15 Langkah
Lampu Latar Sepeda Multifungsi Berbasis CD4017: Rangkaian ini dibuat dengan menerapkan rangkaian LED CD4017 yang sangat umum disebut sebagai LED chaser. Tetapi dapat mendukung beragam metode kedipan LED dengan mencolokkan kabel kontrol sebagai cara yang berbeda. Mungkin dapat digunakan sebagai lampu latar sepeda atau indikator visual
Mengubah Warna Mudah Berbasis Kemiringan Lampu Kubus Rubik Nirkabel: 10 Langkah (dengan Gambar)
Lampu Rubik's Cube Nirkabel Berbasis Kemiringan Mudah Berubah: Hari ini kita akan membuat lampu Rubik's Cube-esque yang mengagumkan ini yang berubah warna berdasarkan sisi mana yang menghadap ke atas. Kubus berjalan pada baterai LiPo kecil, diisi oleh kabel micro-usb standar, dan, dalam pengujian saya, memiliki masa pakai baterai beberapa hari. Ini
Generator Musik Berbasis Cuaca (Generator Midi Berbasis ESP8266): 4 Langkah (dengan Gambar)
Weather Based Music Generator (ESP8266 Based Midi Generator): Hai, hari ini saya akan menjelaskan cara membuat generator Musik berbasis Cuaca kecil Anda sendiri. Ini didasarkan pada ESP8266, yang mirip dengan Arduino, dan merespons suhu, hujan dan intensitas ringan. Jangan berharap untuk membuat seluruh lagu atau program akord
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: 11 Langkah (dengan Gambar)
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: Kisah jam ini kembali ke masa lalu - lebih dari 30 tahun. Ayah saya mempelopori ide ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan kecemerlangan menyilaukan mereka saat ini. Benar
Kubus LED 3x3 Berbasis Arduino: 7 Langkah (dengan Gambar)
Kubus LED 3x3 Berbasis Arduino: Halo dan selamat datang di Instructable pertama saya. Saya menyajikan desain yang sederhana dan rapi untuk kubus LED 3x3x3 pemula. Untuk membuatnya lebih mudah untuk membangun, saya memberikan rincian custom PCB, Anda dapat membuat sendiri atau membeli, instruksi dan Anda dapat, seperti saya, menggunakan kembali soft