Daftar Isi:

TANGGAL/JAM LCD Lupakan RTC: 9 Langkah
TANGGAL/JAM LCD Lupakan RTC: 9 Langkah

Video: TANGGAL/JAM LCD Lupakan RTC: 9 Langkah

Video: TANGGAL/JAM LCD Lupakan RTC: 9 Langkah
Video: Jam Digital RTC DS3231 dengan LCD16x2 | arduino project 2024, November
Anonim
TANGGAL/JAM LCD Lupakan RTC
TANGGAL/JAM LCD Lupakan RTC

Sebuah jam logika kuantum NIST 2010 berdasarkan ion aluminium tunggal.

Pada tahun 2010, sebuah eksperimen menempatkan dua jam kuantum ion aluminium berdekatan satu sama lain, tetapi dengan yang kedua lebih tinggi 12 inci (30,5 cm) dibandingkan dengan yang pertama, membuat efek pelebaran waktu gravitasi terlihat dalam skala laboratorium sehari-hari. Demikian menegur teori gravitasi Einstein. Jam dibalik posisinya dan menunjukkan offset waktu yang sama. Peneliti postdoctoral NIST James Chin-wen Chou dengan jam paling presisi di dunia, berdasarkan getaran ion aluminium tunggal (atom bermuatan listrik). Ion terperangkap di dalam silinder logam (kanan tengah). Dia mengatakan 'berkurang 1 detik dalam 3,7 Miliar tahun' …mari kita tunggu dan lihat!

SUPER DUPER WOW.

Jadi dengan menggunakan getaran kuantum yang sangat cepat, Anda berpikir lebih cepat lebih baik. Chip 328 di Unos agak cepat pada 16mhz. Itu jauh lebih cepat dari jam (jam tangan) kristal biasa yaitu 32,768 khz. Itu 500 kali lebih cepat! Dan 328 memiliki sensor suhu untuk mengkompensasi jam.

Jadi mengapa 328 out tidak bisa membentuk kristal jam tangan ciak?

Langkah 1: APA YANG HARUS DIHARAPKAN

APA YANG DIHARAPKAN
APA YANG DIHARAPKAN

Ini adalah upaya kedua saya untuk membuat jam menggunakan HANYA chip 328. Setiap 328 berjalan pada waktu yang berbeda meskipun mereka memiliki kristal 16mhz. Jadi Anda mendapatkan hasil yang buruk hanya dengan menghitung milis(). Yang berjalan pada 1.000 hz. Ini membuat rata-rata SATU milis(1) menjadi sekitar +- 3,6 detik per jam akurat. Pabrik Arduino () tidak menghitung pabrik faksional atau menggunakan pelampung. Hal ini membuat penghitungan pecahan gilingan menjadi tidak mungkin. Jadi menggunakan Arduino micros() adalah pilihan selanjutnya. Tetapi menggunakan micros() habis hanya dalam 71 menit. (ini benar-benar BUKAN masalah). Masalah bagi saya adalah berurusan dengan jumlah besar dan membuat penyesuaian berulang berdasarkan waktu gps clock. Pilihan lain adalah interupsi. Ini menghitung detik di mana pun kode berjalan di dalam loop. Ini membuat 328 sebagus RTC. Bahkan jika bintik 'micros()' dipertimbangkan, pada +- 4 uS, ini berfungsi sebagai jam 250khz. Itu 7 kali lebih baik dari 32.768khz.

Jadi di sini adalah jam lcd Arduino saya berdasarkan timer 16bit, Satu interupsi menggunakan mikrodetik. Ini tidak sebagus menghitung ion aluminium! Tapi itu mudah dan dengan beberapa kalibrasi bisa sebagus RTC. Saya telah membuat 3 versi dari jam ini. Dari terhubung ke komputer usb. Untuk berdiri sendiri dengan 4 tombol. Untuk gps luar dengan suhu menggunakan HC12. Instruksi ini akan mencakup 2 jam pertama dan saya akan menulis 'mendalam' lainnya untuk HC12.

Lihat instruksi saya yang lain tentang masalah jangkauan HC12.

Apa yang dapat Anda harapkan adalah jam/tanggal lcd yang mudah menggunakan UNO dan lcd 16x2. Saya membuat beberapa nomor khusus untuk lcd. Pustaka 'Angka BESAR' membutuhkan 3 ruang, milik saya hanya 1. Tombol 4 memiliki tarikan internal sehingga pembuatannya mudah. Saya memiliki kasus untuk ini dan 2 lcd dan punggung.

Perpustakaan umum di kota kecil saya ini memiliki printer 3d yang dapat digunakan siapa saja. Jadi periksa perpustakaan di dekat Anda untuk membuat kasus lcd.

Tes saya menunjukkan -+ detik setiap 24-48 jam. Itu sekitar satu menit dalam dua bulan. Tiga atau empat penyesuaian menempatkan jam tepat. Hanya turun sekitar 12 detik sebelum BULAN. Upaya berulang untuk 'mengkalibrasi' jahitan agar hanya mengejar angka. Salah satu fitur BURUK menggunakan 'menu' APAPUN mengatur ulang detik ke 00. Ini mengubah waktu saat ini. Saya memang meninggalkan batas waktu 60 detik untuk menekan tombol untuk memungkinkan sinkronisasi dengan jam lain.

Langkah 2: mur dan baut

mur dan baut
mur dan baut
mur dan baut
mur dan baut
mur dan baut
mur dan baut
mur dan baut
mur dan baut

Proyek ini adalah jam STAND ALONE tanpa RTC hanya uno dan lcd. 4 tombol memungkinkan waktu/tanggal diatur dan menyesuaikan zona waktu dan kalibrasi.

File printer 3d memiliki satu dan dua kotak lcd untuk proyek lain.

Lcd memiliki ANGKA BESAR yang hanya menempati SATU ruang. Ini membutuhkan waktu yang cukup lama bagi saya untuk melakukannya

Kasing ini memiliki 8 lubang untuk tombol untuk proyek lain.

Cukup sambungkan kutil dinding 5v untuk mendapatkan daya.

Periksa PERPUSTAKAAN lokal Anda untuk penggunaan printer 3d !!

Langkah 3: TENTANG MEMBANGUN

TENTANG BANGUNAN
TENTANG BANGUNAN
TENTANG BANGUNAN
TENTANG BANGUNAN
TENTANG BANGUNAN
TENTANG BANGUNAN

Papan Arduino apa pun dengan mikro MEGA 328 harus berfungsi. Ini membutuhkan kristal 16mhz dan harus berjalan pada kecepatan itu. Sebuah 3,3 volt pada 8mhz mungkin tidak bekerja dengan waktu interupsi. Untuk casing enklosur, pro-mini paling cocok tetapi Anda mungkin memasukkan nano tetapi kabel usb mungkin menjadi masalah. Ini adalah lcd Hitachi 16x2, sangat populer. Beberapa ciak yang DULL dan hanya pingsan. Konektor tepi diperlukan agar sesuai dengan modul konverter I2c yang populer. Hanya 4 kabel yang dibutuhkan untuk menghubungkan ke uno. Ada banyak tutorial untuk menunjukkan cara menghubungkan lcd tanpa modul konverter jika Anda tidak menginginkannya. Untuk jam tanpa tombol hanya itu yang Anda lakukan.

Lcd memiliki karakter kustom NOMOR BESAR. Angka-angka besar hanya mengambil SATU lebar.

Langkah 4: 4 TOMBOL dan KASUS

4 TOMBOL dan KASUS
4 TOMBOL dan KASUS
4 TOMBOL dan KASUS
4 TOMBOL dan KASUS
4 TOMBOL dan KASUS
4 TOMBOL dan KASUS

Sama seperti di atas tetapi tambahkan 4 sakelar. Papan pc standar 2 inci x 2,5 inci digunakan agar sesuai dengan kasing. Potong saja menjadi dua dan pasang sakelar sehingga kaki mengarah ke kiri ke kanan. Jika Anda meletakkan sakelar dengan kaki ke atas, lubang tidak akan sejajar dalam kasing. Uji apakah mereka sejajar dengan lubang kasing SEBELUM menyolder. Ground kaki bawah (semua) dan jalankan setiap kaki atas ke pin di uno. Lihat skema terlampir. Jika Anda mencetak 3d kasing, bagian tombol harus DILEKATkan ke kasing lcd. Itu TIDAK masuk seperti bagian belakang. Sekrup self-tapping kecil apa pun akan menahan lcd di tempatnya. TERLALU besar dan Anda akan memecahkan kasus ini. Tongkat lem panas mungkin yang terbaik. Sebelum memasang lcd…hitamkan area led dengan selotip hitam. Kalau tidak, itu akan bersinar melalui kasing. Saya menggunakan 2 pita busa samping dalam 2 lapisan untuk memasang pro mini. Rekaman ini sangat murah di 'toko pohon dolar'. Saya menggunakan kawat magnet berlapis padat sekitar 26 gauge. Saya memiliki instruksi yang bagus tentang 'panci solder orang miskin' untuk menggunakan kawat ini dalam sambungan.

Langkah 5: LCD

LCD
LCD
LCD
LCD
LCD
LCD

masalah lcd

Setelah selesai dengan build, unduh dan instal sketsa. Lcd mungkin tidak menyalakan layar. Berikut adalah beberapa tips. Lcd 'led' harus menyala dan membuat layar kebiruan. Jika tidak ada led, periksa pin jumper yang berlawanan dengan pot resistor. Ini membutuhkan jumper atau resistor 150 ohm. Panci biru selalu menjadi masalah. Jadi putar panci sampai layar menunjukkan 2 baris kotak. Kemudian mundur hanya sampai kotak hampir tidak memudar. Jika masih tidak ada tampilan, Periksa koneksi SDA dan SCL. Terlalu mudah untuk membuat mereka mundur. Yaitu A4 ke SDA dan A5 ke SCL. Ini adalah pin A bukan pin D dan beberapa pro mini memiliki pin ini di bagian dalam pc bukan di tepinya. Opsi terakhir adalah memeriksa alamat. Beberapa modul konverter lcd memiliki alamat yang berbeda. Atau dalam menggunakan lebih dari satu perangkat semua membutuhkan alamat yang berbeda. Kebanyakan modul memiliki 3 pin solder untuk mengatur 3 alamat yang berbeda. Ingat I2c hanya menjalankan 2 kabel ke semua dan SEMUA perangkat. Jadi setiap perangkat HARUS memiliki alamat yang unik. Termasuk adalah pemindai alamat I2c. Unduh pemindai, instal dan baca monitor serial. Layar menunjukkan alamat untuk perangkat I2c APAPUN. Periksa Sketsa jam untuk garis di bagian atas sketsa. 'LiquidCrystal_I2C lcd(0x3F, 16, 2); ' 0x3F adalah alamat yang benar untuk konverter saya. Jika alamat Anda berbeda, ubah ke alamat yang benar dari pemindai. Perhatian: salin dan tempel alamat baru terkadang menyertakan end of line atau carriage return. Ketik saja di alamat lain. Huruf pertama selalu nol dan huruf kecil x 0x. Ini memberitahu C++ bahwa itu adalah hex. Setelah 0x huruf apa pun adalah huruf besar.

Langkah 6: HOOKUP

HOOKUP
HOOKUP
HOOKUP
HOOKUP
HOOKUP
HOOKUP

ikuti skema dan sambungkan unit.

Langkah 7: FOTO LAINNYA

FOTO LAINNYA
FOTO LAINNYA
FOTO LAINNYA
FOTO LAINNYA
FOTO LAINNYA
FOTO LAINNYA

semoga berhasil SILAKAN lihat instruksi saya yang lain

Langkah 8: SKETSA

instruksi tidak akan membiarkan saya mengunduh file Arduino !!!! jadi saya menggunakan teks. Anda harus menyalin dan menempelkan teks ke dalam file terbuka arduino BARU di IDE……. MAAF

dan file teks juga tidak dapat dimuat !!! dan mencoba menempel di sini tetapi mencampurnya !!

akhirnya !!! dapatkan sketsa saya untuk diunduh di sini. 26-03-2020 Memperbaiki beberapa hal kecil juga.

Orang-orang yang dibayar untuk menulis kode berguling-guling di lantai ketika mereka melihat kode saya. Sketsa saya biasanya dimulai dengan sederhana. Kemudian saya menambahkan lebih banyak hal yang harus dilakukan. Jadi sketsa menjadi berantakan. Saya harap Anda belajar dari dua kesalahan terbesar saya. Harus ada garis besar dan tujuan yang jelas di awal. Tidak menambahkan banyak hal di seluruh sketsa. Kesalahan terburuk saya adalah menyalahgunakan FUNGSI. Itu harus singkat dan mengembalikan jumlah, dan hanya digunakan ketika itu menggantikan baris kode yang berulang di seluruh sketsa. delay(100) adalah contoh yang baik.

Penggunaan FUNGSI saya adalah untuk memisahkan bagian sketsa. Ini membuat badan utama mudah untuk saya ikuti serta memungkinkan untuk men-debug bagian yang terpisah hanya dengan memanggil fungsi. Saya pikir GOTO pernah melakukan ini tetapi tidak disukai dan TIDAK PERNAH digunakan. kata Nuf. Saya memeriksa tanggal dan waktu sebaik mungkin. Bagian sketsa yang sama menjalankan jam 'TIME SQUARED' saya selama bertahun-tahun. Jika saya melewatkan sesuatu atau ada bug, beri tahu saya. Untuk mengkalibrasi 'tidak ada tombol sketsa' garis dengan 'unsigned long tSec = 1000122; ' (baris 34) adalah apa yang Anda ubah. Konstanta 277 per detik per jam benar. Tetapi dalam praktiknya saya hanya membuat 2 hingga 8 jumlah perubahan ke nilai 'tSec'. Pada 1000122 banyak jam saya berjalan sebaik RTC. Sabar sedikit perubahan hanya 2-8 bisa menjadi jam yang sempurna. Sisi bawah dari setiap perubahan untuk kedua jam berarti bahwa waktu saat ini AKAN diubah. Anda perlu mengubah ke waktu/tanggal saat ini yang benar.

//// easy_one_lcd_clock_no_buttons // // arduino dan jam lcd // gunakan timerSatu timer 16 bit // untuk mengkalibrasi jam ini: // gunakan jam detik yang bagus seperti GPS. // gunakan jam sebagai dasar. Hitung detik // INI tidak aktif. Jika INI di belakang GPS // GPS=00.. THIS=58 KURANGI 277 untuk setiap // detik/jam. Jadi jika lebih lambat 2 detik dalam // 3 jam… (277 * 2)/3 = 184 // KURANG dari tSec. // jika INI di depan GPS=00…THIS=03 // matematika yang sama hanya TAMBAHKAN ke tSec. // hati-hati, sebagian besar jam benar pada 00. // 20 detik adalah pemeriksaan pengatur waktu yang lebih baik.

Langkah 9: File STL KASUS

Berikut adalah file kasus printer 3d. Keypad harus direkatkan ke lcd case. Bagian belakang terkunci ke satu dan dua lcd case depan. Pasang bagian atas terlebih dahulu lalu turunkan untuk mendapatkan ukuran yang pas.

PERIKSA PERPUSTAKAAN lokal Anda untuk penggunaan printer 3d.

Direkomendasikan: