Isi kandungan:

Jam, Paparan LCD, Inframerah ke Set: 6 Langkah
Jam, Paparan LCD, Inframerah ke Set: 6 Langkah

Video: Jam, Paparan LCD, Inframerah ke Set: 6 Langkah

Video: Jam, Paparan LCD, Inframerah ke Set: 6 Langkah
Video: Cara Mengatasi Layar Proyektor Terbalik 2024, Julai
Anonim
Jam, Paparan LCD, Inframerah ke Set
Jam, Paparan LCD, Inframerah ke Set
Jam, Paparan LCD, Inframerah ke Set
Jam, Paparan LCD, Inframerah ke Set

Bina jam masa nyata yang terus menggerakkan masa dalam beberapa minit dalam setahun. Kod dan komponen dapat dengan mudah digunakan kembali ke dalam projek lain.

Projek ini memerlukan pendawaian minimum dan tanpa pematerian. Penjaga masa adalah jam masa sebenar DS3231. Masa dipaparkan pada LCD 1602 yang murah. Kedua-dua modul menggunakan komunikasi I2C. I2C hanya menggunakan 2 wayar setiap modul semasa menyambung ke Arduino. Saya menggunakan Arduino Nano kerana sesuai dengan papan roti. Arahan berikut akan berfungsi dengan Arduino Uno kerana mempunyai nombor pin yang sama dengan Nano untuk projek ini. Komponen lain adalah penerima inframerah. Ia membolehkan anda menggunakan alat kawalan jauh biasa seperti alat kawalan jauh TV untuk mengatur waktu seperti yang anda lakukan di TV pintar kami. Penerima inframerah hanya memerlukan satu wayar untuk menyambungkannya ke Arduino.

Langkah pertama adalah menguji Arduino dan memasangnya ke papan roti. Langkah-langkah berikut yang dirancang untuk berfungsi secara bebas. Setiap langkah mempunyai arahan pendawaian dan arahan ujian. Semasa saya membina projek, saya menyusun dan menguji setiap komponen untuk mengesahkan bahawa ia berfungsi. Ini membantu mengintegrasikan bilangan komponen kerana tahu bahawa setiap kerja dan saya dapat menumpukan pada keperluan integrasi.

Instructable ini memerlukan anda memasang Arduino IDE. Anda juga diharuskan memiliki kemahiran asas untuk memuat turun program sketsa Arduino dari pautan dalam projek ini, membuat direktori untuk program (nama direktori sama dengan nama program). Langkah seterusnya adalah memuat, melihat dan mengedit program di IDE. Kemudian, muat naik program melalui kabel USB ke papan Arduino anda.

Bekalan

  • Papan pengawal mikro Nano V3 ATmega328P CH340G untuk Arduino. Sebagai alternatif, anda boleh menggunakan Uno.
  • Jam masa nyata DS3231 dan bateri CR2032.
  • 1602 LCD dengan modul I2C
  • Penerima inframerah dan alat kawalan jauh. Saya menggunakan Kit Modul Kawalan Jauh Tanpa Wayar IR yang disertakan dengan penerima Inframerah dan alat kawalan jauh inframerah.
  • Papan roti
  • Kabel wayar
  • Penyesuai dinding 5 volt

Saya membeli alat ganti di eBay, kebanyakannya dari pengedar Hong Kong atau China. Pengedar AS kadang-kadang mempunyai bahagian yang sama atau serupa dengan harga yang berpatutan dan penghantaran lebih cepat. Bahagian China mengambil masa 3 hingga 6 minggu untuk dihantar. Pengedar yang saya gunakan semuanya boleh dipercayai.

Kos anggaran: Nano $ 3, DS3231 $ 1, LCD $ 3, Infrared kit $ 1, papan roti $ 2, bungkusan kabel 40 wayar $ 1, $ 1 untuk penyesuai dinding 5 volt. Jumlahnya, kira-kira $ 11. Perhatikan, saya membeli Nano dan LCD dengan pin papan roti sudah terpateri di tempatnya, kerana kemahiran pematerian saya lemah. Untuk bateri jam, saya membeli 5 pek bateri lithium CR2032 dengan harga sekitar $ 1.25. Saya juga membeli 5 pek DS3231s kerana saya suka masa. Projek ini menggunakan 1 papan roti. Saya membeli pakej 3 papan roti dengan harga sekitar $ 7; perjanjian yang lebih baik daripada membeli papan individu.

Langkah 1: Tambahkan Arduino Nano ke Breadboard

Tambahkan Arduino Nano ke Breadboard
Tambahkan Arduino Nano ke Breadboard

Pasang Arduino Nano ke Breadboard. Atau, jika anda mahu, anda boleh menggunakan Arduino Uno untuk projek ini; mereka berdua menggunakan pin yang sama untuk projek ini. Sambungkan Nano (atau Uno) ke komputer anda melalui kabel USB.

Sambungkan kuasa dan tanah dari Arduino ke bar kuasa papan roti. Sambungkan pin Arduino 5+ ke bar positif papan roti. Sambungkan pin Arduino GRN (tanah) ke bar negatif (tanah) papan roti. Ini akan digunakan oleh komponen lain.

Muat turun dan jalankan program ujian Arduino asas: arduinoTest.ino. Semasa menjalankan program, lampu LED onboard akan menyala selama 1 saat, kemudian mati selama 1 saat. Juga, mesej diposkan yang dapat dilihat di Arduino IDE Tools / Serial Monitor.

+++ Persediaan.

+ Memulakan pin digital LED on board untuk output. LED mati. ++ Pergi ke gelung. + Loop counter = 1 + Loop counter = 2 + Loop counter = 3…

Sebagai latihan, ubah kelewatan waktu pada lampu berkedip, muat naik program yang diubah, dan sahkan perubahannya.

Dalam gambar di atas adalah kotak kawat jumper papan roti tanpa kepingan 140 keping yang anda dapat dengan harga 3 hingga 5 dolar. Mereka membuat papan lebih kemas yang menggunakan kabel panjang untuk sambungan pendek.

Langkah 2: Tambahkan Modul Jam DS3231 dan Sambungkannya ke Arduino

Tambahkan Modul Jam DS3231 dan Sambungkannya ke Arduino
Tambahkan Modul Jam DS3231 dan Sambungkannya ke Arduino

Pasangkan modul jam ke papan roti. Sambungkan pin GND modul jam, ke jalur bar tanah papan roti. Sambungkan pin VCC modul jam, ke jalur bar positif papan roti. Sambungkan pin modul jam (data) SDA ke pin A4 Arduino (pin data I2C). Sambungkan pin modul jam SCL (jam) ke pin A5 Arduino (pin jam I2C).

Di Arduino IDE, pasang Perpustakaan Jam DS3231. Pilih Alat / Urus Perpustakaan. Tapis carian anda dengan menaip 'rtclib'. Pilih RTClib by Adafruit (untuk rujukan, pautan perpustakaan).

Muat turun dan jalankan program ujian asas: clockTest.ino. Semasa menjalankan program, mesej waktu jam disiarkan yang dapat dilihat di Arduino IDE Tools / Serial Monitor.

+++ Persediaan.

+ Set jam. ++ Pergi ke gelung. ---------------------------------------- + Tarikh & Masa Semasa: 2020/3 / 22 (Ahad) 11: 42: 3 + Tarikh & Masa Semasa: 2020/3/22 (Ahad) 11: 42: 4 + Tarikh & Masa Semasa: 2020/3/22 (Ahad) 11: 42: 5…

Sebagai latihan, gunakan rtc.adjust () untuk menetapkan waktu dan tarikh jam, memuat naik program yang diubah, dan mengesahkan perubahannya.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Hari pertama musim bunga, 2020.

Langkah 3: Tambahkan Modul Paparan LCD 1602 dan Sambungkannya ke Arduino

Tambahkan Modul Paparan LCD 1602 dan Sambungkannya ke Arduino
Tambahkan Modul Paparan LCD 1602 dan Sambungkannya ke Arduino

Pasangkan modul LCD ke papan roti. Sambungkan pin GND modul jam, ke jalur bar tanah papan roti. Sambungkan pin VCC modul jam, ke jalur bar positif papan roti. Sambungkan pin modul jam (data) SDA ke pin A4 Arduino (pin data I2C). Sambungkan pin modul jam SCL (jam) ke pin A5 Arduino (pin jam I2C).

Di Arduino IDE, pasang 1602 Perpustakaan LCD. Pilih Alat / Urus Perpustakaan. Tapis carian anda dengan menaip 'LiquidCrystal'. Pilih LiquidCrystal I2C oleh Frank de Barbander (untuk rujukan, pautan perpustakaan).

Muat turun dan jalankan program ujian asas: lcd1602Test.ino. Semasa menjalankan program, mesej waktu jam disiarkan yang dapat dilihat di Arduino IDE Tools / Serial Monitor.

+++ Persediaan.

+ LCD siap digunakan. +++ Pergi ke gelung. + theCounter = 1 + theCounter = 2 + theCounter = 3…

Sebagai latihan, ubah mesej paparan LCD, muat naik program yang diubah, dan sahkan perubahannya.

Langkah 4: Tambahkan Penerima Inframerah dan Sambungkannya ke Arduino

Tambahkan Penerima Inframerah dan Sambungkannya ke Arduino
Tambahkan Penerima Inframerah dan Sambungkannya ke Arduino

Pasangkan wayar kabel wanita ke lelaki ke penerima inframerah (hujung wanita). Sambungkan pin ground modul jam, ke jalur bar tanah papan roti. Sambungkan pin kuasa modul jam, ke jalur bar positif papan roti. Sambungkan pin output penerima inframerah, ke pin Arduino A1.

Sambungkan penerima inframerah, pin dari kiri atas ke kanan:

Paling kiri (sebelah X) - Nano pin A1 Center - 5V Right - ground

A1 + - - Sambungan pin nano

| | | - Pin penerima inframerah --------- | S | | | | --- | | | | | | --- | | | ---------

Di Arduino IDE, pasang perpustakaan inframerah. Pilih Alat / Urus Perpustakaan. Tapis carian anda dengan menaip 'IRremote'. Pilih IRremote oleh Shirriff (untuk rujukan, pautan perpustakaan).

Muat turun dan jalankan program ujian asas: infraredReceiverTest.ino. Semasa menjalankan program, arahkan alat kawalan jauh anda ke penerima dan tekan pelbagai butang seperti nombor dari 0 hingga 9. Mesej bersiri dikeluarkan (dicetak) yang dapat dilihat di Arduino IDE Tools / Serial Monitor.

+++ Persediaan.

+ Memulakan penerima inframerah. ++ Pergi ke gelung. + Kekunci OK - Toggle + Key> - Next + Key <- sebelumnya + Key up + Key down + Key 1: + Key 2: + Key 3: + Key 4: + Key 6: + Key 7: + Key 8: + Kekunci 9: + Kekunci 0: + Kekunci * (Kembali) + Kekunci # (Keluar)

Sebagai latihan, gunakan alat kawalan jauh TV untuk melihat nilai yang dicetak. Anda kemudian boleh mengubah suai program untuk menggunakan nilai dalam pernyataan suis fungsi infraredSwitch (). Sebagai contoh, tekan kekunci "0" dan dapatkan nilai untuk alat kawalan jauh anda, sebagai contoh, "0xE0E08877". Kemudian, tambahkan casing ke dalam pernyataan beralih seperti dalam coretan kod berikut.

kes 0xFF9867:

kes 0xE0E08877: Serial.print ("+ Kunci 0:"); Serial.println (""); rehat;

Langkah 5: Muatkan Program Sketsa Jam Arduino dan Uji Ia

Muatkan Program Sketsa Jam Arduino dan Uji Ia
Muatkan Program Sketsa Jam Arduino dan Uji Ia
Muatkan Program Sketsa Jam Arduino dan Uji Ia
Muatkan Program Sketsa Jam Arduino dan Uji Ia
Muatkan Program Sketsa Jam Arduino dan Uji Ia
Muatkan Program Sketsa Jam Arduino dan Uji Ia

Sekarang semua komponen ditambahkan ke papan roti, berwayar, dan diuji; sudah tiba masanya untuk memuatkan program jam utama dan menjalankannya. Program jam mendapat waktu dari modul jam, memaparkan waktu pada LCD, dan membolehkan anda mengatur waktu menggunakan alat kawalan jauh inframerah.

Muat turun dan jalankan program jam projek: clockLcdSet.ino.

Apabila program dimulakan, ia akan memaparkan waktu DS3231 pada layar 1602 LCD. Mesej dapat dilihat di Arduino IDE Tools / Serial Monitor.

+++ Persediaan.

+ Set LCD. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Jam ditetapkan dan diselaraskan dengan pemboleh ubah program. + Penerima inframerah diaktifkan. ++ Pergi ke gelung. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17…

Arahkan alat kawalan jauh anda ke penerima dan tekan butang anak panah kanan. Tahun akan dipaparkan untuk pengaturan. Tekan butang anak panah kanan beberapa kali untuk melihat bahawa anda dapat menetapkan tahun, bulan, hari, jam, minit, dan saat. Untuk menetapkan nilai masa, pergi ke nilai. Gunakan anak panah atas dan bawah untuk menetapkan nilai paparan. Kemudian gunakan kekunci "OK" untuk menetapkan nilai jam. Satu nilai ditetapkan pada satu masa.

Langkah 6: Bekalan Kuasa Luaran

Bekalan Kuasa Luaran
Bekalan Kuasa Luaran

Setelah jam anda diuji dan berfungsi, anda boleh mencabutnya dari komputer dan menggunakan bekalan kuasa bebas. Untuk kesederhanaan, saya menggunakan penyesuai dinding 5 volt, yang boleh dibeli dengan harga lebih kurang satu dolar, dan kabel USB, satu dolar lagi. Kabel menghubungkan Arduino ke penyesuai dinding + 5V. Oleh kerana pin Arduino dan pin tanah disambungkan ke papan roti, itu akan menggerakkan komponen lain.

Oleh kerana kesederhanaan dan kos rendah, saya menggunakan kombinasi yang sama untuk menggerakkan projek lain.

Saya harap anda berjaya dan menikmati pembinaan jam LCD inframerah.

Disyorkan: