Daftar Isi:
- Perlengkapan
- Langkah 1: Hubungkan Komponen
- Langkah 2: Bagian Cetakan 3D
- Langkah 3: Kode
- Langkah 4: Operasi dan Pengaturan
Video: Jam Pensiun / Jam Hitung / Dn: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Saya memiliki beberapa tampilan dot-matrix LED 8x8 ini di laci dan sedang memikirkan apa yang harus dilakukan dengannya. Terinspirasi oleh instruksi lain, saya mendapat ide untuk membuat tampilan hitung mundur/naik untuk menghitung mundur ke tanggal/waktu mendatang dan jika waktu target berlalu, hitunglah darinya. Saya membuat ini sekarang jam pensiun saya duduk di rak.
Ide untuk memasukkannya ke dalam botol lebih merupakan kebetulan saat memikirkan casing. Yang lain memasukkan kapal ke dalam botol, mengapa bukan jam?
Saya juga ingin membuat jam mematuhi waktu musim panas dan tentu saja mengingat pengaturan dan waktu ketika dicabut. Saya menyalakan jam melalui USB yang membuatnya dapat diprogram ulang jika Anda ingin melakukan sesuatu yang berbeda atau hanya menambahkan fitur ke kode. Kode ini cukup sederhana dan juga dapat menggunakan banyak pengoptimalan. Saya tidak memperhatikan konsumsi RAM dengan baik harus saya akui. Jika saya punya waktu dan motivasi, saya akan kembali ke sana.
Perlengkapan
1. Arduino Nano
2. RTC (Saya menggunakan DS3231 umum yang juga memiliki EEPROM)
3. Modul dot matrix 12x 8x8. (Saya memiliki modul quad yang lebih mudah untuk berbaris)
4. LDR untuk mengatur kecerahan layar
5. Resistor 10 kOhm
6. Kapasitor 5x 100 uF menekan paku dari layar
7. Untuk meningkatkan kontras modul 8x8, saya menggunakan "Window Film" berwarna gelap. Layar menunjukkan LED sebagai titik putih jika tidak menyala. Kaca film mengubahnya menjadi tampilan hitam mengkilat.
Langkah 1: Hubungkan Komponen
Saya menggunakan tiga layar quad untuk merakit layar. Untuk menampilkan tanggal dengan garis miring dan waktu dengan titik dua, kita membutuhkan spasi untuk 8 karakter. Menggunakan font tipikal 5x7, kita membutuhkan enam blok 8x8 per baris. Saya memotong salah satu blok quad menjadi dua dan mengaturnya sebagai dua baris dengan enam blok seperti yang ditunjukkan pada skema papan tempat memotong roti.
Langkah 2: Bagian Cetakan 3D
Untuk menahan dua baris tampilan dan menempatkannya di dalam botol, saya mencetak cincin jarak bulat untuk bingkai tampilan. Saya menambahkan file yang saya gunakan di bawah ini. Untuk dapat mencetak ini tanpa dukungan, mereka dibagi menjadi beberapa bagian. Tangkapan layar menunjukkan dua cincin yang direkatkan ke bingkai tampilan. Penutup leher botol menampung tiga tombol untuk beralih di antara mode tampilan dan mengatur waktu saat ini dan waktu target. Penutup leher botol yang saya cetak dalam TPU memungkinkan untuk memasukkan kabel USB ke dalam penutup tanpa memotong konektor dan mengikatnya dengan beberapa gulungan kawat. Saya lupa menyebutkan bahwa saya menggunakan botol anggur 1,5 L yang saya potong di bagian paling bawah. Semua bagian yang akan dicetak dipasang di tempat tidur printer berukuran 20x20 cm (8x8 inci).
Langkah 3: Kode
Kode Arduino menggunakan beberapa perpustakaan yang umum digunakan.
MD_MAX72xx
SPI
Kabel
RTClib
Zona waktu
WaktuLib
Ada beberapa baris dalam file INO yang mungkin perlu diubah:
Baris 38: #define HARDWARE_TYPE MD_MAX72XX::FC16_HW <-- bergantung pada modul 8x8 dan orientasinya
alih-alih FC16_HW itu bisa salah satu dari:
- MD_MAX72XX::PAROLA_HW
- MD_MAX72XX::GENERIC_HW
- MD_MAX72XX::ICSTATION_HW
- MD_MAX72XX::FC16_HW
Kode menggunakan pengaturan untuk waktu Tengah AS dan perlu disesuaikan untuk zona waktu lainnya:
Baris 53/54:
TimeChangeRule myDST = {"CDT", Kedua, Minggu, Mar, 2, -300}; // Waktu Siang Hari UTC-5TimeChangeRule mySTD = {"CST", Pertama, Minggu, 2 Nov, -360}; // Waktu standar UTC -6
Ini mudah disesuaikan. Nama CST/CDT hanya untuk referensi. Saya tidak menampilkan singkatan tiga huruf, jadi tidak masalah. Parameter berikutnya mengacu pada hari di bulan mana peralihan itu terjadi. Penyesuaian dilakukan dalam hitungan menit, jadi lokasi yang menggunakan penyesuaian +/- 30 menit juga akan berfungsi.
RTC berjalan secara internal pada UTC-Time yang memungkinkan perpustakaan zona waktu berfungsi sebagaimana dimaksud. Anda mungkin bertanya-tanya mengapa kode tersebut merujuk pada chip DS1307 yang lebih tua yang bertentangan dengan chip jam yang saya gunakan, tetapi ini tidak masalah. Pustaka bekerja dengan baik dengan salah satu chip. DS1307 memiliki kecenderungan untuk hanyut lebih dari DS3132. DS3132 adalah jam yang disukai. Bagi mereka yang ingin menambah waktu internet, ESP8266 akan melakukan pekerjaan dengan cukup mudah. Ini bisa membuat RTC menjadi usang. Jika Anda membuat perubahan ini, gunakan Arduino EEPROM untuk menyimpan waktu target, saya menggunakan RTC EEPROM untuk melakukannya.
Langkah 4: Operasi dan Pengaturan
Ada tiga tombol
1. Menu / pengaturan
2. Naik
3. Bawah
Tombol menu memungkinkan bersepeda melalui tiga jenis tampilan: Waktu saat ini, Waktu target, Waktu Delta. Waktu Delta menunjukkan jumlah hari, HH/MM/SS antara waktu saat ini dan waktu target. Ini akan menunjukkan t- dan menghitung mundur jika target di masa depan atau t+ dan menghitung naik jika target di masa lalu.
Untuk menyesuaikan waktu saat ini atau waktu target, pilih tampilan waktu saat ini atau waktu target. Untuk mengubah waktu, tahan tombol menu selama 2 detik dan lepaskan yang akan membawa Anda ke mode pengaturan. "/" atau ":" tetangga akan berubah menjadi "" untuk menunjukkan digit mana yang Anda sesuaikan. Gunakan tombol atas/bawah untuk menyesuaikan jj/mm/dt dan bb/hh/tt. Saya tidak menambahkan pengaturan untuk beralih antara mm/dd/yy dan dd/mm/yy, ini perlu diubah dalam kode atau mungkin seseorang bersedia menambahkan fitur ini.
Anda akan melihat bahwa jika Anda melangkah menit lebih dari 59 atau di bawah 00, tampilan jam akan menyesuaikan juga. hal yang sama berlaku untuk detik, jam, dan hari yang mengubah nilai yang lebih tinggi berikutnya jika melewati di bawah 0 atau di atas nilai maksimum untuk digit ini. Saya melakukan ini untuk menghindari pemrograman berbagai batasan bulan individual dan jika Februari membutuhkan 29 hari dalam tahun kabisat. Penyesuaian waktu sebenarnya dilakukan dalam epoch-time, detik sejak 1 Januari 1970.
Saya menambahkan video sederhana untuk menunjukkan penghitungan. Saya ingin membuat ini seperti tampilan roda putar. Jika Anda ingin menyesuaikan durasi perubahan, baris 69 di INO memberi Anda beberapa opsi untuk mempercepat atau memperlambat perubahan. 120ms akan membuat digit bergulir cukup lambat karena itu akan menjadi roda yang terus berjalan.
Saya harap Anda menikmati instruksi ini.
Patrick Geschwindner
Direkomendasikan:
Jam Hitung Mundur Pelantikan Presiden (Wifi): 6 Langkah
Jam Hitung Mundur Pelantikan Presiden (Wifi): Ikhtisar: Jam hitung mundur mirip dengan produk komersial, dengan beberapa putaran: a) Ketika waktu acara target tercapai, jam hitung mundur: menampilkan pengumuman bergulir, dan memainkan efek suara dan lagu mp3 - dalam hal ini, REM lagu: &ld
Arduino Hitung Mundur Dengan Tombol Istirahat: 4 Langkah
Arduino Count Down W/ Rest Button: Instruksi ini akan mengajarkan Anda cara membuat penghitung waktu mundur menggunakan Tampilan 7-Segmen 4 Digit yang dapat diatur ulang dengan sebuah tombol. Saya mendapat ide untuk membuat ini karena saat membuat tampilan 7-segmen 1 digit di kelas, saya ingin membuat sesuatu
Hitung Jam dalam Warna Pelangi: 7 Langkah (dengan Gambar)
CountClock in Rainbow Colors: Instructable ini terinspirasi oleh Instructables' Rainbow Contest: menunjukkan waktu menggunakan konsep CountClock, menggunakan semua warna pelangi. Disajikan semua file desain manufaktur dan kode program Arduino untuk membuat Rainbow Cou
Sesame Street - Jam Hitung Angka Pinball: 8 Langkah (dengan Gambar)
Sesame Street - Jam Hitung Angka Pinball: Instruksi ini akan menguraikan konstruksi jam yang disesuaikan. Sementara ini secara khusus konstruksi jam yang ditampilkan di Sesame Street; animasi Penghitungan Angka Pinball, prosedur umumnya sama dan instruksi
Jam Hitung Mundur Dengan LED: 3 Langkah
Jam Hitung Mundur Dengan LED: Ini adalah beberapa catatan singkat tentang 'Jam hitung mundur' yang saya buat 10 tahun lalu untuk Y2K, Jamnya berukuran 4 kaki persegi dari depan. Tebalnya sekitar 4 inci, dan berjalan pada mikrokontroler tertanam. Setiap Segmen terbuat dari LED sekitar 20x 10mm. saya bisa