Isi kandungan:
- Bekalan
- Langkah 1: Sambungkan Komponen
- Langkah 2: Bahagian Bercetak 3D
- Langkah 3: Kodnya
- Langkah 4: Operasi dan Tetapan
Video: Jam Persaraan / Jam Naik / Jam Dn: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Saya mempunyai beberapa paparan dot-matriks 8x8 LED di dalam laci dan memikirkan apa yang harus dilakukan dengan mereka. Diilhamkan oleh instruksional lain, saya mendapat idea untuk membuat paparan hitung mundur / naik untuk dihitung ke tarikh / masa yang akan datang dan jika masa sasaran berlalu, hitunglah daripadanya. Saya membuat ini sekarang jam persaraan saya duduk di rak.
Idea untuk memasukkannya ke dalam botol lebih merupakan kebetulan ketika memikirkan selongsong. Yang lain memasukkan kapal ke dalam botol, mengapa tidak jam?
Saya juga ingin membuat jam mematuhi waktu menjimatkan waktu siang dan tentu saja mengingati tetapan dan waktu ketika dicabut. Saya menghidupkan jam melalui USB yang menjadikannya dapat diprogram semula jika anda ingin melakukan sesuatu yang berbeza atau hanya menambahkan ciri pada kod. Kodnya cukup mudah dan juga boleh menggunakan banyak pengoptimuman. Saya tidak mengambil berat tentang penggunaan RAM yang harus saya akui. Sekiranya saya mendapat masa dan motivasi, saya akan mengulanginya.
Bekalan
1. Arduino Nano
2. RTC (Saya menggunakan DS3231 biasa yang juga mempunyai EEPROM)
3. Modul matriks 12x 8x8 dot. (Saya mempunyai modul quad yang lebih mudah disusun)
4. LDR untuk menyesuaikan kecerahan paparan
5. Perintang 10 kOhm
6. Kapasitor 5x 100 uF menekan lonjakan dari paparan
7. Untuk meningkatkan kontras modul 8x8, saya menggunakan "Window Film" berwarna gelap. Paparan menunjukkan LED sebagai titik putih jika tidak menyala. Filem tingkap menjadikannya penampilan hitam berkilat.
Langkah 1: Sambungkan Komponen
Saya menggunakan tiga paparan quad untuk memasang paparan. Untuk menunjukkan tarikh dengan garis miring dan waktu dengan titik dua, kita memerlukan ruang untuk 8 aksara. Dengan menggunakan fon 5x7 biasa, kami memerlukan enam blok 8x8 setiap baris. Saya memotong salah satu blok quad menjadi dua dan menyusunnya sebagai dua baris dengan enam blok seperti yang ditunjukkan dalam skema papan roti.
Langkah 2: Bahagian Bercetak 3D
Untuk memegang dua baris paparan dan meletakkannya di dalam botol saya mencetak cincin jarak bulat untuk bingkai paparan. Saya menambah fail yang saya gunakan di bawah. Untuk dapat mencetaknya tanpa sokongan, ia dibahagikan kepada beberapa bahagian. Tangkapan skrin menunjukkan dua cincin terpaku pada bingkai paparan. Penutup leher botol menempatkan tiga butang untuk beralih antara mod paparan dan menetapkan masa semasa dan waktu sasaran. Penutup leher botol yang saya cetak dalam TPU memungkinkan memasukkan kabel USB ke penutup tanpa memotong penyambung dan mengikatnya dengan beberapa belitan wayar. Saya lupa untuk menyebut bahawa saya menggunakan sebotol wain 1.5 L yang saya potong di bahagian paling bawah. Semua bahagian yang akan dicetak dipasang di tempat tidur pencetak 20x20 cm (8x8 in).
Langkah 3: Kodnya
Kod Arduino menggunakan beberapa perpustakaan yang biasa digunakan.
MD_MAX72xx
SPI
Kawat
RTClib
Zon masa
MasaLib
Terdapat beberapa baris dalam fail INO yang mungkin perlu diubah:
Baris 38: #tentukan HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- bergantung pada modul 8x8 dan orientasinya
bukannya FC16_HW ia boleh salah satu:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Kod tersebut menggunakan tetapan untuk waktu AS Tengah dan perlu disesuaikan untuk zon waktu lain:
Baris 53/54:
TimeChangeRule myDST = {"CDT", Kedua, Matahari, Mac, 2, -300}; // Waktu Siang UTC-5TimeChangeRule mySTD = {"CST", Pertama, Matahari, Nov, 2, -360}; // Waktu standard UTC -6
Ini mudah disesuaikan. Nama CST / CDT hanya untuk mempunyai rujukan. Saya tidak memaparkan singkatan tiga huruf, jadi tidak menjadi masalah. Parameter seterusnya merujuk pada hari mana dalam bulan pertukaran berlaku. Penyesuaian dilakukan dalam beberapa minit, jadi lokasi yang menggunakan penyesuaian +/- 30 minit juga akan berfungsi.
RTC berjalan secara dalaman pada Waktu UTC yang membolehkan perpustakaan zon waktu berfungsi seperti yang diharapkan. Anda mungkin tertanya-tanya mengapa kod tersebut merujuk kepada cip DS1307 yang lebih tua yang bertentangan dengan cip jam yang saya gunakan, tetapi ini tidak menjadi masalah. Perpustakaan berfungsi dengan baik sama ada cip. DS1307 mempunyai kecenderungan untuk melayang lebih jauh daripada DS3132. DS3132 adalah jam pilihan. Bagi mereka yang ingin menambah masa internet, ESP8266 akan melakukan tugas dengan mudah. Ini boleh menjadikan RTC usang. Sekiranya anda membuat perubahan ini, gunakan EEPROM Arduino untuk menyimpan masa sasaran, saya menggunakan EEPROM RTC untuk melakukannya.
Langkah 4: Operasi dan Tetapan
Terdapat tiga butang
1. Menu / tetapan
2. Ke atas
3. Ke bawah
Butang menu membolehkan berpusing melalui tiga jenis paparan: Waktu semasa, Waktu sasaran, Waktu Delta. Waktu Delta menunjukkan bilangan hari, HH / MM / SS antara waktu semasa dan waktu sasaran. Ia akan menunjukkan t- dan menghitung mundur jika sasarannya di masa depan atau t + dan menghitung jika sasaran itu di masa lalu.
Untuk menyesuaikan waktu semasa atau sasaran, pilih paparan waktu semasa atau waktu sasaran. Untuk mengubah waktu, tahan butang menu selama 2 saat dan lepaskan yang akan membawa anda ke mod pengaturan. Jiran "/" atau ":" akan berubah menjadi "" untuk menunjukkan digit yang anda sesuaikan. Gunakan butang atas / bawah untuk menyesuaikan setiap jam / mm / sd dan mm / dd / yy. Saya tidak menambah tetapan untuk menukar antara mm / dd / yy dan dd / mm / yy, ini perlu berubah dalam kod atau mungkin seseorang bersedia menambahkan ciri ini.
Anda akan melihat bahawa jika anda melangkah lebih dari 59 atau di bawah 00, paparan jam juga akan disesuaikan. perkara yang sama berlaku untuk beberapa saat, jam dan hari mengubah nilai lebih tinggi seterusnya jika melintasi di bawah 0 atau di atas maksimum untuk digit ini. Saya melakukan ini untuk mengelakkan pengaturcaraan pelbagai had setiap bulan dan jika Februari memerlukan 29 hari dalam satu tahun lompat. Menyelaraskan waktu sebenarnya dilakukan dalam masa-masa, beberapa saat sejak Jan-1-1970.
Saya menambah video ringkas untuk menunjukkan pengiraan. Saya mahu menjadikannya seperti paparan roda putar. Sekiranya anda ingin menyesuaikan jangka masa perubahan, baris 69 di INO memberi anda beberapa pilihan untuk mempercepat atau memperlahankan perubahan. 120ms akan menjadikan angka digulung cukup perlahan kerana ia akan menjadi roda yang terus berjalan.
Saya harap anda menikmati pengajaran ini.
Patrick Geschwindner
Disyorkan:
GoBabyGo: Buat Kereta Naik-kawalan Joystick: 10 Langkah (dengan Gambar)
GoBabyGo: Membuat Kereta Ride-on yang dikendalikan oleh Joystick: Diasaskan oleh profesor University of Delaware, GoBabyGo adalah inisiatif global yang menunjukkan kepada orang awam bagaimana mengubah suai kereta mainan sehingga mereka dapat digunakan oleh anak-anak kecil dengan mobiliti terhad. Projek ini, yang melibatkan pertukaran pedal kaki
Penjejak Kereta GPS Dengan Pemberitahuan SMS dan Muat Naik Data Perkara, Berbasis Arduino, Automasi Rumah: 5 Langkah (dengan Gambar)
Penjejak Kereta GPS Dengan Pemberitahuan SMS dan Muat Naik Data Thingspeak, Berasaskan Arduino, Automasi Rumah: Saya membuat pelacak GPS ini tahun lalu dan kerana ia berfungsi dengan baik, saya menerbitkannya sekarang di Instructable. Ia disambungkan ke palam aksesori di bagasi saya. Penjejak GPS memuat naik kedudukan kereta, kelajuan, arah dan suhu yang diukur melalui data mudah alih
DIY Logitech Pure Fi Anywhere 2 Penukaran Naik Semula & Pembesar Suara Bluetooth Mini: 14 Langkah (dengan Gambar)
DIY Logitech Pure Fi Anywhere 2 Penukaran Naik Semula & Pembesar Suara Bluetooth Mini: Salah satu yang paling saya gemari untuk dilakukan, adalah dengan mengambil sesuatu yang saya dapat dengan murah di Goodwill, Yardsale, atau bahkan craigslist dan menjadikan sesuatu yang lebih baik darinya. Di sini saya menjumpai stesen dok Ipod lama Logitech Pure-Fi Anywhere 2 dan memutuskan untuk memberikannya
Tanda LED Naik (Kecerahan Diaktifkan): 4 Langkah (dengan Gambar)
Lampu LED Light Up (Brightness Activated): Dalam arahan ini saya telah mendokumentasikan bagaimana membina tanda LED dengan sensor kegelapan / cahaya dan litar dimmer PWM yang dibina. Saya bosan semasa Krismas dan menyatukan projek cepat yang diilhami oleh youtube intro video intro untuk " G
Naik Botol Anda Dengan Laser !: 4 Langkah (dengan Gambar)
Naikkan Botol Anda Dengan Laser !: Mempunyai botol yang sangat baik (dengan skru pada penutup dan segalanya!) Dan ingin memberikannya kehidupan baru? Gunakan LASER! Petunjuk ini akan menunjukkan kepada anda proses dalam 4 langkah mudah