Jam pada matriks. Jam buatan sendiri pada matriks LED

Di Internet, tidak ada kekurangan berbagai jenis jam tangan elektronik. Jam terlihat solid pada indikator matriks, misalnya, skema terkenal dari kucing radio, tetapi saya menginginkannya dengan indikasi tidak hanya jam dan menit, tetapi juga detik. Saya memutuskan untuk membuat jam tangan seperti itu, menambahkan beberapa fungsi lainnya.

Selain itu, jam elektronik yang disajikan di sini memungkinkan Anda mengukur suhu di dalam ruangan. Ada empat alarm independen, serta indikator acara kalender yang menandakan permulaan acara seperti hari jadi, ulang tahun, dll. Memungkinkan Anda mengubah kecerahan dalam mode manual dan otomatis, yang secara dramatis meningkatkan kenyamanan persepsi dalam gelap , dan akhirnya, mereka dikendalikan oleh remote control dari BRA atau dengan tombol lokal.

Karakter utama:

  • Tegangan suplai (V) ………… .……………………… 5
  • Konsumsi saat ini (mA) …………………………………. 100 - 200
  • Total ukuran matriks (piksel) …………………… 8 x 40
  • Batas suhu terukur (derajat) …….. -40 - +99,5
  • Akurasi pengukuran suhu (derajat) ……….. 0.5
  • Batas koreksi kursus harian (detik) ………. -9.9 - +9.9
  • Jumlah gradasi perubahan kecerahan …………………… 31 + mode “otomatis”
  • Jumlah alarm ………………………………. empat
  • Volume teks setiap alarm (karakter) ……….. 11
  • Jumlah indikator kejadian ……………………….. 14
  • Volume teks untuk setiap peristiwa (karakter) ......... limabelas
  • Kontrol mode ………………………………. Tombol / remote control apa pun

Diagram rangkaian jam secara kondisional dibagi menjadi bagian indikator dan "pengontrol", yang ditunjukkan pada gambar di bawah ini. Penomoran elemen sama dan selanjutnya, dalam deskripsi, kami akan mempertimbangkan rangkaian secara keseluruhan.

Skema tampilan

Skema kontrol

Kontrol aktual register dilakukan melalui tiga port mikrokontroler (MK) DD7, dalam interupsi dari timer TMR0 dengan interval 2 ms, yang memberikan frekuensi perubahan informasi total 63 Hz. Juga, sinyal PWM disuplai dari MK ke pin 9 DD6 (output on-off) untuk mengubah kecerahan indikator. MK DD7 dipilih sebagai PIC16F88, yang berbeda dari PIC16F628A populer dengan adanya ADC dan dua kali kapasitas memori program. MK beroperasi dari osilator internal pada frekuensi 8 MHz (perbedaan lain dari 628A).

Perangkat menggunakan chip jam waktu nyata DS1307, yang menyediakan penghitungan dan penyimpanan detik, menit, jam, hari dalam seminggu, tanggal (termasuk tahun dari 0 hingga 99). Selama inisialisasi awal, DS1307 dikonfigurasi dalam mode di mana gelombang persegi dengan frekuensi 1 Hz hadir di pin 7, yang diumpankan ke input RB0 dari MK. Interupsi diaktifkan pada input ini, di mana flag khusus diatur sekali per detik. Dalam program utama, menggunakan bendera ini, tindakan utama dilakukan sekali per detik: membaca data dari DS1307, menunjukkan waktu, memeriksa kecocokan antara alarm dan indikator acara, mengatur kecerahan dalam mode otomatis. Baterai tambahan BAT1 memungkinkan Anda untuk menyimpan data tanpa adanya tegangan suplai perangkat untuk waktu yang hampir tidak terbatas. MK mengontrol DS1307 melalui bus I2C dengan port RB1, RB2. Sensor suhu juga dikendalikan oleh I2C - sirkuit mikro DS1621.

Perangkat dikendalikan menggunakan tombol S1 dan S2, masing-masing terhubung ke port MK RA4, RA2. Fungsi tombol S1 dapat dilakukan menggunakan remote control apa pun dari ABR menggunakan rangkaian pada penerima TSOP48 tipe DA1 dan vibrator tunggal pada pemicu D DD8.1 dan elemen C8, R47 dan D1. Durasi sinyal vibrator tunggal dipilih sebagai 0,2 detik, yang memastikan konversi semburan pulsa pendek dari output DA1 menjadi pulsa durasi ini dengan menekan sebentar dan menjadi sinyal kontinu sambil menahan tombol apa pun pada remote control. Sinyal dari output terbalik pemicu melalui dioda D2 menduplikasi tombol S1. Dengan bantuan elemen R48, HL6, indikasi fakta ini diatur.

Pada pemicu kedua chip DD8.2 dan emitor piezoceramic LS1, sirkuit alarm yang dapat didengar dirakit ketika jam alarm atau indikator acara dipicu. Input penghitungan pemicu menerima sinyal PWM dari output MK dengan frekuensi 8 kHz. Dengan sinyal logis 1 pada input gabungan R dan S pemicu, ada log.1 pada kedua output dan tidak ada suara. Ketika peristiwa indikasi terjadi, MC mengubah level pada input ini dengan frekuensi 1 Hz, dan pulsa antifase dengan frekuensi 4000 Hz muncul pada output pemicu dengan frekuensi ini. Karena frekuensi ini beresonansi untuk radiator ini, sinyal intermiten yang keras dihasilkan. Langkah-langkah telah diambil secara terprogram untuk menghemat pulsa PWM bahkan pada nilai kecerahan ekstrim.

Sensor cahaya dipasang pada elemen FR1, R45 dan C6. MK, menggunakan ADC internal, membaca tegangan yang bergantung pada pencahayaan dari pembagi ini dan menetapkan siklus tugas yang sesuai dari sinyal PWM.

Perangkat ini ditenagai oleh tegangan + 5V yang disuplai ke konektor J1 dan kemudian melalui sirkuit filter R41C3C4, R42C5, C7R46 ke elemen sirkuit. Sirkuit R49 D3 melindungi perangkat dari koneksi yang tidak disengaja dari tegangan berlebih atau terbalik. Lebih mudah menggunakan pengisi daya smartphone 5 volt sebagai IP.

Perangkat ini dirakit pada papan sirkuit tercetak yang terbuat dari fiberglass dengan metalisasi satu sisi dengan dimensi 60 mm kali 170 mm

DD1-DD5 digunakan dalam paket SO16, DD6 - dalam paket SOIC20. DD8 digunakan dalam paket DIP. Itu bisa diganti dengan K561TM2 domestik. DD9, DD10 - dalam kasus SO8. Hampir semua resistor dan kapasitor SMD berukuran 0805, C1, C7, C3, C5 - ukuran 1206. Lebih baik menyolder resonator kuarsa dari motherboard lama - biasanya lebih stabil. Fotoresistor FR1, bila diganti dengan yang lain, harus memiliki resistansi gelap sekitar 1 - 2 MΩ. Baterai BAT1 jenis CR2032 dipasang pada dudukan standar. Itu dapat diganti dengan voltase ukuran 3V yang sesuai. Saat mengganti emitor piezo dengan yang lain, frekuensi resonansi sangat diinginkan mendekati 4000 Hz. Fotodetektor dapat disolder dari TV lama. LED - cahaya merah terang apa pun. Dioda dapat diganti dengan KD521, KD522. Dioda Zener - tegangan 5.6V dan lebih disukai dengan daya minimal 1 watt. Karena indikator matriks yang diterapkan ternyata dengan anoda umum, perlu untuk memasangnya dengan rotasi 90 derajat selama pengembangan papan dan menggunakan baris sebagai kolom dan sebaliknya. Saat mengganti dengan indikator dengan katoda umum, misalnya 1088AS, Anda harus mengubah diagram pengkabelan sepenuhnya. Tombol - jam apa saja, bersudut. Saat menutup indikator di depan dengan kaca plexiglass berwarna, respons yang salah diamatiDA 1 memantulkan sinyal kecerahan dari indikator. Efek ini mudah dihilangkan dengan menempelkan layar kertas hitam di antara indikator dan fotodetektor.

Perangkat yang dirakit dengan benar biasanya tidak perlu disesuaikan. Namun, jika ketergantungan pencahayaan yang ada dan kecerahan indikator yang sesuai dalam mode otomatis tidak sesuai dengan Anda, Anda harus memilih nilai resistor R45. Dalam hal ini, resistansi yang lebih rendah sesuai dengan kecerahan yang lebih rendah untuk penerangan yang diberikan.

Penampilan papan yang dirakit ditunjukkan dalam foto-foto.

Alasan resistor pembatas arus yang disolder tidak terlalu indah adalah karena setelah pembuatan papan, ternyata nilai nominalnya bukan 0805, tetapi 1206. Entah bagaimana saya harus menyolder ...

Program kontrol pengontrol ditulis dalam bahasa C dan diterjemahkan dalam lingkungan MikroC untuk PIC. Kata konfigurasi terdapat dalam firmware dan dimasukkan secara otomatis. Orientasi penulis jam - matriks ada di atas, yang meminimalkan kemungkinan dampak dari detail sirkuit pada suhu sirkuit mikro DD9, DD10. Namun, jika seseorang menyukai lokasi jam dengan matriks di bawah, Anda harus mengubah nilai parameter di baris pertama dari 1 menjadi 0 di file "watch.c" sebelum menerjemahkan program, menurut komentar. Firmware terpasang untuk kedua kasus. Dimungkinkan juga untuk mengubah font angka menjadi tipis (tebal secara default), mirip dengan huruf (omong-omong, ini akan sedikit mengurangi konsumsi saat ini dalam mode awal). Untuk melakukan ini, di baris pertama dalam file "font.c", Anda perlu mengubah nilai parameter "font_2" dari 1 menjadi 0.

Sekarang mari kita beralih ke deskripsi mode jam tangan dan bekerja dengannya.

Segera ketika dihidupkan, jam masuk ke mode utama - indikasi waktu. Pada saat yang sama, digit jam dan menit tingginya 8 piksel, dan detik - 7 (secara umum, setiap digit atau huruf ditampilkan dalam bidang piksel 5x8, digit detik - 5x7). Saat Anda menekan tombol S1 atau tombol apa pun pada remote control (tindakan ini setara, dan selanjutnya kami akan mengingat bahwa ketika menekan tombol S1, hal yang sama terjadi dengan sinyal dari remote control), arus tanggal dan hari penuh dalam seminggu ditampilkan menggunakan garis merayap. Jika tidak ada tindakan lebih lanjut yang diambil, setelah 16 detik. perangkat kembali ke keadaan semula - indikasi waktu. Jika Anda menekan tombol S1 lagi selama tampilan tanggal, maka tampilan suhu juga dimulai melalui garis berjalan selama 16 detik. (menekan tombol lagi - segera kembali ke keadaan awal).

Dengan terus menekan tombol S1 selama 9 detik, arloji beralih ke mode "MENU", seperti yang ditunjukkan oleh tulisan yang sesuai. Tekan lama seperti itu dipilih untuk mengurangi kemungkinan masuknya menu secara tidak sengaja selama penggunaan normal remote control (sebenarnya untuk mengontrol peralatan rumah tangga).

Ini diikuti oleh penyimpangan kecil - kami akan menjelaskan pekerjaan dengan tombol secara umum. Jam dikontrol sedemikian rupa sehingga semua tindakan dengannya dapat dilakukan hanya dengan menggunakan tombol S1 (atau remote control). Lagi pula, jam dapat digantung tinggi di dinding, dan akses hanya ke tombol S1 (melalui remote control). Jadi, menyortir item menu, serta menyortir daftar alarm atau acara, dilakukan dengan menekan S1, dan transisi ke item yang dipilih dilakukan dengan lama (lebih dari 3 detik). ) mendesak. Tidak ada dampak selama 15 - 30 detik. (tergantung pada mode tertentu) – kembali ke keadaan awal. Di tempat yang sama di mana nilai parameter berubah, penekanan singkat meningkatkan nilainya bukan sebesar 1, tetapi dengan menahannya selama lebih dari 2 detik. - nilai meningkat secara otomatis sekitar 3 kali per detik. Di sini, tidak adanya pengaruh untuk beberapa waktu yang dapat disesuaikan (dari 5 hingga 8 detik) mengarah ke transisi ke parameter berikutnya sambil mempertahankan parameter saat ini. Di sinilah Anda dapat menggunakan tombol S2 - untuk menyimpan parameter dengan transisi ke yang berikutnya tanpa menunggu, segera. Jadi, memegang arloji di tangan Anda dapat secara signifikan mempercepat manipulasi semacam itu.

Mari kita kembali ke item menu. Ada lima item di sini: INSTALASI, KOREKSI, JAM ALARM, ACARA, PENGATURAN. Mari kita bicarakan masing-masing secara berurutan.

INSTALASI. Di sinilah Anda mengatur tanggal dan waktu saat ini. Parameter yang akan diubah awalnya disorot oleh inversi, yang menghilang dengan awal perubahan. Nilai hanya berubah ke atas, dengan transisi dari nilai maksimum (ketika tercapai) ke minimum dan kemudian dalam lingkaran. Di bagian paling akhir, ketika tanggal dan jam dengan menit disetel, akan ada nol terbalik di tempat detik. Di sini, pada saat mengatur ulang detik referensi, tekan S1 dan jam akan kembali ke keadaan semula dengan tanggal dan waktu yang diubah.

KOREKSI. Seiring waktu, mau tidak mau ada kesalahan dalam perjalanan jam. Paragraf ini berfungsi untuk mengoreksinya. Sebelumnya perlu untuk mengukur "meninggalkan" arloji selama 10 hari. Katakanlah jamnya 58 detik lebih cepat. Kami kemudian memasuki mode ini, seperti yang ditunjukkan oleh baris "perawatan selama 10 hari". Ketika Anda menekan S1, garis digantikan oleh tulisan statis "XX detik", di mana XX adalah nilai koreksi saat ini, katakanlah 31. Karena jam sedang terburu-buru, kami mengurangi 58 detik kami dari nilai ini. (jika mereka tertinggal, kami menambahkan). Mendapatkan diterima (-27) detik. Setelah keluar, nilai ini akan disimpan di EEPROM. Interval nilai input adalah dari -99 hingga 99, tanda berubah ketika melewati 0. Koreksi terjadi setiap hari pada pukul 00:00:19, di mana seluruh sepersepuluh dari nilai koreksi (dalam kasus kami (-2)) ditambahkan ke waktu saat ini, dan sisanya (kita punya (-7)) disimpan di EEPROM dan waktu berikutnya ditambahkan ke koefisien sebelum diproses. Artinya, dalam sehari, 3 detik akan dikurangi dari waktu dan (-4) (-27-7 \u003d -34) akan tetap ada.

ALARM. Saat Anda memasukkan item ini, garis berjalan di layar, terdiri dari: nomor (1-4), tanda penyertaan ("+" atau "-"), waktu respons, nama jam alarm (teks 11 karakter) . Secara default, misalnya, di jam alarm kedua, akan ada data: “2. - JAM ALARM 12:00-2. Dengan menekan singkat, Anda dapat beralih dari satu alarm ke alarm lain, dengan menekan lama Anda dapat pergi ke alarm saat ini, di mana Anda dapat mengubah data, mengaktifkan atau menonaktifkan, memilih aktivitas untuk setiap hari dalam seminggu, mengatur waktu respons, ubah nama teks dengan mengetikkan karakter setiap posisi. Semua informasi tentang empat jam alarm disimpan dalam memori bebas chip DS1307 (56 byte). Jika waktu saat ini bertepatan dengan beberapa jam alarm yang dihidupkan dan aktif pada hari ini dalam seminggu, baris dengan data tentang jam alarm ini ditampilkan, dengan sinyal suara terputus-putus, selama satu menit. Sinyal alarm dapat diinterupsi "awal" dengan menekan tombol S1.

PERKEMBANGAN. Saat Anda memasukkan item ini, pada indikator dengan menekan tombol sebentar, acara aktif berjalan secara bergantian ditambah item "TAMBAHKAN BARU". Secara default, tidak ada acara yang aktif, oleh karena itu, hanya akan ada undangan untuk menambahkan acara baru. Format acara aktif: "<дата> <текст из 16 знаков>". Ketika semua 14 acara aktif, item "TAMBAHKAN BARU" tidak ditampilkan dan acara baru hanya dapat ditambahkan sebagai pengganti acara yang sudah ada. Tekan lama untuk beralih ke mode pengeditan acara. Di sini Anda dapat mengaktifkan atau menonaktifkan, mengubah tanggal, serta menulis teks Anda sendiri yang sesuai dengan acara ini. Semua perubahan disimpan dalam memori non-volatile (EEPROM) MK.

Tanggal saat ini diperiksa kebetulan dengan tanggal acara setiap hari pada pukul 8:00, dan jika cocok, string ditampilkan dari tanggal saat ini dan teks acara dengan sinyal suara terputus-putus selama satu menit. Sinyal tersebut akan diberikan setiap jam hingga pukul 19.00, asalkan tidak terputus oleh tombol. Sinyal terputus oleh tombol tidak lagi diulang.

PENGATURAN. Saat memasuki mode ini, pesan seperti "BRIGHT.XX" ditampilkan di layar, di mana "XX" adalah kecerahan saat ini. Dengan menekan tombol S1, nilai ini dapat diubah dalam rentang 1 hingga 31, atau diatur ke “AB”, yang berarti “otomatis”. Saat Anda mengubah nilai kecerahan, kecerahan indikator yang sebenarnya segera berubah secara visual. Jika Anda menyimpan mode otomatis, kecerahan tampilan jam kemudian berubah tanpa intervensi, tergantung pada tingkat cahaya di dalam ruangan. Dalam hal ini, kita sampai ke item untuk mengatur kecerahan minimum untuk mode otomatis ("MIN.XX" ditampilkan). Nilai ini paling baik diatur dalam kondisi iluminasi minimum yang diharapkan. Jika nilai kecerahan numerik tertentu ditetapkan di paragraf sebelumnya, paragraf ini akan dilewati.

Item pengaturan selanjutnya adalah menyesuaikan waktu tunggu sebelum menyimpan nilai berbagai macam parameter variabel dalam kisaran 5 hingga 8 detik. Dengan nilai minimum parameter ini, ada bahaya menyimpan nilai yang salah, dengan nilai maksimum, total waktu untuk memasukkan data dari remote control meningkat. Pengguna memilih nilai yang nyaman baginya.

Semua pengaturan disimpan dalam memori EEPROM MK dan tidak hilang jika terjadi kegagalan daya.

Dalam aplikasi, selain kode sumber dan firmware, ada model Proteus dan papan dalam format Lay6.

Daftar elemen radio

Penamaan Jenis Denominasi Kuantitas CatatanSkorbuku catatan saya
DD7 MK PIC 8-bit

PIC16F88

1 Untuk notepad
DD1-DD5 register geser74HC5955 SOP-16 Untuk notepad
DD8 Flip-flop D gandaCD40131 K561TM2 Untuk notepad
DD9 Jam waktu nyata (RTC)

DS1307

1 Untuk notepad
DD10 sensor temperatur

DS1821

1 Untuk notepad
DA1 fotodetektorTSOP481 Untuk notepad
DD6 Register geser yang kuatTPIC6B5951 Untuk notepad
LS1 Buzzer piezoXCFT-14A1 Untuk notepad
HL1-HL5 Matriks LED1088BS5 Untuk notepad
HL6 Dioda pemancar cahayaARL-35141 merah Untuk notepad
X1 Resonator kuarsa32768 Hz1 Untuk notepad
BAT1 baterai lithiumCR20321 3V Untuk notepad
D1-D2 dioda1N47482 Untuk notepad
D3 dioda zener

1N4734A

1 Untuk notepad
S1, S2 tombol jambersudut2 Untuk notepad
FR1 fotoresistorNCL-49521 Untuk notepad
R1-R40 Penghambat

220 ohm

40 0805

Pada topik jam tangan buatan sendiri, dan berjanji untuk melanjutkan, jadi jika Anda mau. Jam tangan pada matriks LED buatan sendiri.
, dan

Ini dilakukan untuk mencoba membuat jam segmen, berdasarkan tiga LED per segmen 7 * 4 * 3 = 84 + 2 = 86 buah

Kira-kira seperti ini:

Saya ingin mencoba warna yang berbeda dan pasti cerah (tapi bagaimana lagi?)

Menurut ini, pesta 100 buah cukup cocok untuk saya, terutama karena harganya cukup dapat diterima, dan saya juga memesannya di toko yang sama - untuk membuat angka multi-warna sehingga Anda dapat membandingkan warna pada satu tampilan - mana yang akan menjadi lebih cantik, baik, dan sebagainya - bersenang-senang ... :)

Barang sudah dipesan dan sudah dibayar 20 Agustus 2016, dan tiba 15 September 2016, menurut standar kami cukup cepat. TETAPI! LED merah - tidak datang! Di akhir masa perlindungan pembeli, perselisihan dibuka dan penjual mengembalikan uang. Itu hanya buang-buang waktu...

Produk datang dalam amplop pos kuning-dan-berjerawat standar, LED sendiri dikemas dalam kantong plastik terpisah, jumlah potongan biru, hijau sedikit lebih dari 100 (saya tidak ingat persis sekarang, tapi saya ingat bahwa ada 4-5 buah lagi)

Semua pekerja (yaitu bercahaya)

Pada yang multi-warna - itu dikemas dalam tas terpisah, di mana warna R G B W Y ditandai dengan spidol - warnanya cocok di mana-mana, dan juga 2-3 yang ekstra - sepertinya semua orang mungkin melakukannya, tetapi kemudian saya yakin bahwa tidak selalu begitu yang terjadi dan sebaliknya...

Jika bukan karena kusen dengan warna merah, penjual bisa saja memberi lima gemuk dengan nilai plus untuk non-keserakahan.

Di sisi lain, uang dikembalikan - masalahnya adalah waktu yang hilang, dan dia juga mengirim surat di mana dia menulis bahwa dia mengembalikan uang SAYA kepada saya, dan jika barang tiba, dia meminta saya untuk mengembalikan jumlah ini kepadanya

Kata demi kata:

Hai, teman saya, saya sekarang pengembalian dana, ketika Anda menerima paket, tolong kembalikan uang saya, Tolong beri saya pujian tinggi bintang lima.

Di mana dia harus menggulung surat yang bukan itu MILIKNYA uang, tetapi dia hanya mengembalikan saya sebagai akibat dari perselisihan KU uang, karena Saya tidak pernah menerima barangnya dan pada saat yang sama kehilangan banyak waktu menunggu barangnya

Omong-omong, ketika semua pesanan lain darinya tiba, 10 hari kemudian, saya menulis kepadanya bahwa mereka mengatakan saya khawatir, karena. aneh - semua orang datang, tetapi salah satu pesanan tidak datang

Yang dia, tanpa "halo teman", dengan datar menjawab "60 hari belum berlalu"

Dan kemudian tiba-tiba dia menjadi "teman", dan sepertinya uangnya dan diperkosa ...

Tetapi secara umum - penjual memenuhi kewajibannya, menanggapi surat, dari barang yang dikirim - hanya emosi positif, uang untuk tidak dikirim dikembalikan - semuanya sesuai ATURAN

Nah, sekarang tentang untuk apa itu diperoleh

Jam buatan sendiri pada matriks LED buatan sendiri

Jam + radio + cuaca + remote control

Saya sudah lama ingin membuat jam pada matriks RGB. Matriks GMT2088 ditemukan dan dipesan. Tapi seperti yang mereka katakan, nafsu makan datang dengan makan. Karena bahkan jam tangan berwarna saja sudah membosankan, diputuskan untuk memasang tuner FM, equalizer, sensor kelembaban, suhu dan tekanan ke dalamnya. Dimungkinkan juga untuk beroperasi dari baterai jika terjadi kehilangan tegangan listrik utama.

Hasilnya adalah jam tangan ini:




Di LED merah, Anda dapat melihat 4 titik bercahaya, itu tidak empat kali lipat di mata Anda dan itu bukan kesalahan kamera, hanya dua film yang dimasukkan di depan matriks yang berada di depan matriks LCD monitor dan cahaya dioda dibagi menjadi 4 bagian. Jika Anda bermain-main dengan lokasi film relatif satu sama lain, Anda bisa mendapatkan banyak tampilan yang berbeda. Kualitas foto lumpuh tetapi dasar-dasarnya terlihat.

Opsi pengaturan jam:

1. Warna tampilan stasiun radio yang diterima. Untuk nilai keseluruhan dan pecahan stasiun, Anda dapat mengatur warna Anda sendiri.

2. Sesuaikan warna ticker.

3. Ubah kecepatan garis lari.

4. Pengaturan warna tampilan jam. Anda dapat mengatur warna Anda sendiri untuk setiap karakter.

5. Jangkauan radio 65MHz hingga 108MHz. Menyimpan hingga 20 stasiun radio dalam memori.

6. Suara untuk setiap stasiun disimpan secara terpisah serta pengaturan equalizer.

7. Alarm 7 . Waktu penyalaan yang dapat dikonfigurasi, waktu penyalaan, volume suara, hari penyalaan, peningkatan suara atau tidak, dan stasiun radio atau bel yang akan dinyalakan.

8. Penyesuaian frekuensi LF dan HF.

9. Pemilihan font tampilan jam hingga 8 font, Anda dapat mengunggah font Anda sendiri.

10. Penyesuaian kecerahan matriks secara otomatis atau manual.

A) Sepenuhnya otomatis tergantung pada iluminasi

B) Tombol manual pada remote control atau jam tangan itu sendiri

C. Pada waktu yang telah ditentukan. Menyetel waktu penyalaan kecerahan minimum dan maksimum.

11. Kontrol pengisian baterai cadangan jam.

12. Kontrol jam dengan remote control. Memungkinkan untuk mempelajari kendali jarak jauh (format NEC, RC5, SAMSUNG)

13. Membuat 6 opsi untuk mengganti karakter saat mengubah waktu. (Lebih banyak opsi akan ditambahkan nanti)

14. Kontrol tegangan suplai utama. Ketika gagal, itu beralih ke baterai cadangan, ketika muncul, itu mematikan baterai.

15. Off timer dengan interval maksimal 99 menit. Mematikan suara radio.

16. Mengatur batas kecerahan minimum dan maksimum.

17. Tampilan paksa garis merayap dengan informasi tentang suhu di dalam ruangan dan di jalan

Perangkat lunak ini sepenuhnya ditulis dalam assembler dan AVR Studio. Mungkin di suatu tempat program ini tidak ditulis dengan sangat kompeten, karena saya menggunakan assembler selama lebih dari setahun, dan kemudian hanya di waktu luang saya, tetapi yang utama adalah ia bekerja dengan stabil dan cepat.

Jantung dari perangkat ini adalah AVR Atmega32 pada frekuensi 16 MHz. Jam dibuat di dua papan. Pada satu matriks dengan strapping. Pada yang kedua segala sesuatu yang lain.

Kontrol matriks kolom diberikan ke register STP16CP05 dalam paket TSSOP-24. Register ini memiliki 16 output dan memuat setiap output hingga 80mA. Dekoder kontrol string 74HC138. Transistor efek medan IRF7314 dipasang pada output decoder.Modul RGB tidak disolder ke papan, tetapi dipasang di konektor.

Jam ini menggunakan chip jam real-time DS3231. Pilihan jatuh padanya karena fakta bahwa dia tidak memerlukan kuarsa eksternal, karena resonator kuarsa yang cukup akurat dengan kompensasi suhu terpasang di dalamnya dan sensor suhu juga terpasang.

Radio FM diimplementasikan pada chip RDA5807. Chip ini memiliki sensitivitas yang cukup baik.

Modul AM2321 yang sudah jadi digunakan sebagai sensor kelembaban. Modul BMP180 siap pakai sebagai sensor tekanan. Sensor ini juga memiliki sensor suhu.

Sensor BMP180:

Modul AM2321:


Chip TEA6330T digunakan sebagai equalizer. Dia bertanggung jawab untuk mengatur volume dan mengatur frekuensi bass dan treble.

Penguat daya dibuat pada PAM8403. Chip kecil tetapi memberikan daya yang cukup. Speaker 8 ohm 2W terhubung ke output. Anda juga dapat menghubungkan speaker 4 ohm. Pada 8 ohm, daya keluaran sekitar 1,6 watt. Pada speaker 4 ohm 3 watt.

Jam tangan dirancang untuk bekerja dengan daya baterai. Baterai merek L12T1P31 3.7V 3700 mAh dipasang.

Ketika tegangan listrik gagal, kecerahan matriks secara otomatis disesuaikan ke minimum. Jika ada mode kontrol kecerahan otomatis, maka diganti dengan manual. Kemampuan untuk menyesuaikan kecerahan tanpa adanya tegangan listrik tetap ada. Anda juga dapat mengaktifkan mode otomatis. Ketika tegangan listrik dipulihkan, kecerahan akan kembali ke tingkat yang disetel sebelum listrik padam.

Daya tahan baterai dalam mode jam dengan kecerahan yang dikurangi adalah sekitar 15 jam. Waktu pengoperasian dengan kecerahan maksimum, font lebar, volume radio rata-rata sekitar 5 jam.

Menerapkan kontrol tegangan baterai. Karena pengontrol internal baterai mematikannya ketika tegangan di bawah 2,5 V, dan ketika tegangan turun di bawah 3,2 V, konverter mulai bekerja dengan tidak benar dan outputnya hanya 5V. Jam masuk ke reset tanpa akhir. Oleh karena itu, ambang tegangan 3,2V dipilih agar tidak diturunkan ke tegangan minimum untuk konverter. Jika voltase turun di bawah 3.2V, jam akan dimatikan.

Papan menyediakan kemungkinan memasang sirkuit mikro kontrol tegangan khusus dari tipe BU48xx. Di sirkuit ini, BU4832 mengontrol 3,2 V.

Kontrol pengisian daya baterai dipasang pada ms TP4056. Konverter tegangan dari 3.7v ke 12v dipasang pada LM3488.

Dimungkinkan untuk memasang baterai 3- dan 2-pin. Jika Anda tidak memerlukan kontrol suhu baterai, maka kami tidak memasang beberapa elemen (untuk detailnya, lihat diagram).Semua papan sirkuit dan firmware ada di akhir artikel.

Pembagi dipasang pada elemen R13 R14 untuk mengontrol tegangan baterai cadangan.

Pada elemen R1 R10 R11 R12 pembagi dipasang untuk mengontrol iluminasi dalam mode otomatis.

Level matcher dipasang pada elemen Q1 Q2 R19-R22, karena beberapa ms ditenagai oleh 3V, dan beberapa dengan 5V.

Untuk memulai rangkaian modul utama, modul matriks RGB dan modul sensor suhu luar ruangan

Beberapa foto papan matriks RGB yang sudah jadi. Papan terbuat dari fiberglass dua sisi. Beberapa perbaikan dilakukan selama proses debugging. Oleh karena itu, beberapa foto sedikit berbeda dari papan yang ada di arsip. Dalam arsip, semua perubahan diperhitungkan.

Sisi bawah papan:


Di bagian bawah, resistor 2,4 kΩ hanya disolder ke pin.

Sisi atas tanpa matriks terpasang:


Tampilan samping:


Pemandangan dari atas:


Efek perubahan angka (tidak semua efek ditampilkan dalam video)

Manajemen jam


Saat Anda menyalakan arloji untuk pertama kalinya, Anda hanya dapat mengontrolnya dengan tombol. Untuk dapat mengontrol remote control, Anda perlu mempelajari sinyal jam dari remote control. Untuk melakukan ini, tahan salah satu tombol kontrol dan tekan tombol "Reset".Garis gulir "Mengatur remote control" akan berjalan dan kita akan melihat tampilan format pertama dari remote control - NEC. Secara default, protokol NEC pertama ditampilkan pada matriks. Jelajahi protokol dengan menekan salah satu tombol di bagian belakang jam tangan. Protokol berubah dalam lingkaran NEC - Samsung - RC5.




Seperti yang saya tulis di atas, protokol NEC diatur secara default. Kami mengambil remote control dan menekan tombol apa saja di atasnya. Jika protokol yang dipilih dan protokol remote control cocok, tulisan akan berubah menjadi hijau dan kemudian perangkat akan masuk ke mode pembelajaran remote control. Jika protokol tidak cocok, maka tidak akan ada perubahan pada matriks dan tulisan akan tetap biru. Kami mengatur ulang ke protokol berikutnya dan menekan lagi tombol apa saja pada remote control.
Definisi protokol harus bekerja dari penekanan pertama tombol remote control. Jika berhasil dari penekanan kedua tombol remote control atau lebih, maka protokol tidak cocok dan Anda harus memilih protokol lain.
Karena protokol NEC dan Samsung agak mirip, remote control format NEC dapat dilatih dalam mode protokol Samsung, tetapi Anda harus menekan tombol yang sama dua kali. Di masa depan saya akan mencoba untuk memperbaiki interval untuk mengukur pulsa dan mungkin ini akan dihapus.

Protokol RC5 adalah yang paling sederhana. Dalam mode ini, Anda dapat melatih remote control apa pun, tetapi itu tidak akan berfungsi secara normal. Dalam mode ini, hanya remote control protokol RC5 yang akan bekerja secara normal.
Banyak artikel telah ditulis tentang perbedaan antara protokol kendali jarak jauh dan saya tidak akan menjelaskan semuanya di sini.

Setelah menentukan protokol, program akan beralih ke mode pembelajaran tombol remote control. Matriks akan ditampilkan tombol mana yang harus ditekan. Dalam mode siaga, warna simbol akan menjadi biru.


Kami menekan tombol pada remote control. Jika data berhasil diterima, warna simbol akan berubah menjadi hijau:


Jika data diterima dengan kesalahan, warna akan berubah menjadi merah selama beberapa detik, dan kemudian perangkat akan beralih ke menunggu tombol ditekan lagi.


Setelah tombol yang terakhir diminta ditekan. Jam akan memasuki mode operasi utama. Jika tidak ada sensor atau chip real-time yang dipasang, baris berjalan "Tidak ada sensor yang ditemukan" akan terus ditampilkan. Jika Anda tidak menginstal DS3231 dan menginstal salah satu sensor, maka hanya titik berkedip yang akan ditampilkan pada matriks.

Deskripsi lebih lanjut akan untuk remote control. Akan ada penjelasan tersendiri untuk mengontrol tombol, karena dengan remote control Anda bisa langsung menuju menu yang diinginkan, dan menggunakan tombol hanya transisi berurutan dari awal ke satu menu, lalu ke menu lain, dan seterusnya dalam lingkaran. .

Setelah mengatur remote, kita akan melihat waktu yang ditampilkan. Dari mode ini, Anda dapat pergi ke menu yang berbeda. Program ini menyediakan kontrol chip TEA6330 dan RDA5807 yang terpasang. Jika beberapa sirkuit mikro tidak diinstal, maka tidak mungkin untuk pergi ke menu pengaturannya dan baris yang sesuai akan dimasukkan "Equalizer tidak ditemukan" atau "Radio tidak ditemukan".

Deskripsi pengoperasian tombol remote control:

Tombol On / Off - nyalakan - matikan matriks

Tombol panah atas dan bawah - sesuaikan kecerahan matriks atau ubah data dalam mode pengaturan. Kecerahan tombol-tombol ini disesuaikan di semua menu.

Tombol panah kiri atau panah kanan - ubah font dalam mode tampilan waktu, dan dalam mode pengaturan alarm, bergerak melalui submenu alarm

Tombol "1" - menu "Jam"

Tombol "2" - menu "Radio"

Tombol "3" - menu "Alarm"

Tombol "4" - menu "Equalizer"

Tombol "5" - tampilan garis lari

A) satu klik tampilan informasi dari semua sensor

B) dua kali menekan dalam waktu 3 detik hanya menampilkan suhu luar ruangan.

Tombol "6" - menu "Pengatur waktu mati"

Tombol "8" - mengatur / mengatur ulang kecerahan minimum dan maksimum

Tombol "9" - atur ulang detik dan koreksi waktu melalui Internet

Tombol "0" - kontrol kecerahan otomatis atau manual

Tombol CH + dan CH - menelusuri stasiun radio dalam mode FM

Suara tombol + dan suara - kontrol volume

Tombol On / Off suara - nyalakan matikan suara

Tombol "MENU" - buka pengaturan utama dalam mode waktu, buka pengaturan radio dalam mode radio dan pengaturan alarm dalam mode alarm

Tombol "ESC" - keluar dari submenu

Transisi tergantung pada mode apa perangkat berada. Jika dalam mode "Waktu", maka transisi akan berada di pengaturan utama. Jika dalam mode "Radio", maka pergi ke pengaturan radio. Jika dalam mode "Jam Alarm", maka dalam pengaturan alarm

Tombol "OK" - konfirmasi perubahan dalam mode pengaturan

Jam memiliki 8 font untuk menampilkan waktu. Beralih di antara font menggunakan tombol "Kiri" atau "Kanan" pada remote control atau S6 pada papan jam.

Contoh font lebar:


Contoh font yang sempit:


Menambahkan font Anda sendiri

Font disimpan di EEprom. Maksimal 8 font dapat diunggah.

Font dibuat menggunakan PixelFontEdit-2.7
Font itu sendiri dan sumber Eprom untuk Atmel studuo6.2 ada di arsip di akhir halaman.
Font ditambahkan dari label eeFront1:
Jumlah font tidak lebih dari 8, tidak akan muat lagi. Program itu sendiri akan menentukan jumlah font yang diunduh.
Font harus diakhiri dengan garis .db "E", "N", "D" menandakan akhir font.
Surat AKHIR mungkin besar atau kecil tapi Latin.
Kompilasi file EEprom dan flash. Anda dapat segera mengisi semua nilai Anda di EEprom di dalamnya dengan komentar terperinci untuk setiap baris.
Juga dalam font diatur apa yang akan menjadi poin yang memisahkan jam dan menit, ini hanya diatur dalam karakter pertama dari setiap font.
Pada karakter pertama, jika bit0 dari byte pertama diatur, maka akan menjadi ganda, jika di-reset, itu akan menjadi tunggal.

Pengaturan dalam mode tampilan waktu

Di menu ini, ubah parameter dengan tombol "Atas" dan "Turun", konfirmasikan perubahan dengan tombol "OK". Anda dapat keluar dari pengaturan kapan saja dengan menekan tombol "ESC".

Kami menekan tombol "Menu", baris yang berjalan "Pengaturan dasar" akan berjalan, lalu baris "Warna radio". Seluruh bagian jangkauan FM akan berkedip, gunakan tombol "Atas" atau "Bawah" untuk mengatur warna yang diinginkan dan tekan tombol "OK". Bagian pecahan dari pita FM akan berkedip. Atur juga warna yang diinginkan dan klik "OK".



Jika dipasang pilihan warna untuk running line seperti pada foto :


Kemudian, ketika garis bergulir ditampilkan, warnanya akan selalu baru.

Selanjutnya, baris "Pengaturan jam" akan berjalan. Nilai jam akan mulai berkedip. Gunakan tombol "Naik" atau "Turun" untuk mengatur jam saat ini dan tekan "OK". Menit akan mulai berkedip. Gunakan tombol "Naik" atau "Turun" untuk mengatur menit saat ini dan tekan "OK".


Selanjutnya, baris "Warna jam" akan berjalan. Dalam menu ini, Anda dapat mengatur warna yang berbeda untuk setiap simbol jam. Pilih warna menggunakan tombol Atas atau Bawah. Total ada 7 pilihan warna. Opsi kedelapan adalah simbol multi-warna dengan warna bergantian. Setelah Anda memilih warna yang diinginkan, tekan tombol "OK". Selanjutnya, atur warna untuk karakter berikut dan klik "OK".


Gunakan tombol "Naik" atau "Turun" untuk mengatur tanggal saat ini dan tekan "OK".




Selanjutnya, baris "Pengaturan hari dalam seminggu" akan berjalan. Hari-hari dalam seminggu ditampilkan dalam singkatan Minggu-Minggu, Sabtu-Sabtu, Jumat-Jumat, dll. Gunakan tombol "Naik" atau "Turun" untuk mengatur hari saat ini dalam seminggu dan tekan "OK". Ini melengkapi pengaturan dasar.


Selanjutnya, garis bergulir akan berjalan dengan hari saat ini dalam seminggu, tanggal, tahun, tekanan, suhu dan kelembaban. Perangkat akan memasuki mode tampilan waktu. Dalam mode ini, ticker yang menampilkan informasi tentang suhu, tekanan, dan kelembaban di dalam ruangan akan ditampilkan setelah sekitar 4 menit. Keluaran informasi dari semua sensor tombol "5" RC. Garis tentang suhu dan kelembaban di jalan ditampilkan setiap 15 menit sekali (Anda dapat mengatur sendiri interval yang diinginkan, lebih lanjut di bawah ini.) Jika karena alasan tertentu sensor tidak dipasang, maka informasi dari sensor ini tidak akan ditampilkan di garis lari. Karena ada sensor suhu di ketiga sensor, data akan dibaca dari sensor yang dipasang. Secara default, suhu dibaca dari DS3221.

Modus radio.

Transisi ke mode ini dilakukan dengan menekan tombol "2" pada remote control. Jangkauan radio 65MHz - 108MHz.

Dalam mode ini, ticker juga berjalan setelah sekitar 4 menit.

Menu berikut ditampilkan:


Empat digit pertama adalah frekuensi stasiun yang diterima. Huruf "M" atau "C" adalah sinyal mono atau stereo yang diterima. Di bawah huruf merah adalah tingkat sinyal yang diterima. Volume ditampilkan di bagian paling bawah Gulir stasiun yang disetel dengan tombol "CH +" dan "CH-", dan sesuaikan volume dengan tombol "GR+" dan "GR-". Nilai volume disimpan untuk setiap stasiun satu per satu. Juga, untuk setiap stasiun, pengaturan treble dan bass equalizer disimpan secara terpisah. Untuk beralih ke mode equalizer, tekan tombol "4" pada remote control (deskripsi pengaturan ada di bawah).

Untuk beralih ke mode pengaturan radio, tekan tombol "Menu" pada remote control. Baris berjalan "Pengaturan radio" akan ditampilkan.

Huruf yang menunjukkan Stereo atau Mono akan berubah menjadi merah. Dalam mode pemutaran, warnanya biru. Jika tidak ada tombol yang ditekan dalam waktu 15 detik, perangkat akan beralih ke mode pemutaran radio.


Mengubah frekuensi stasiun dilakukan dengan menggunakan tombol "CH +" dan "CH-" dan tombol "Kiri" "Kanan" pada remote control.

Dalam kisaran 76-108 MHz, tombol "Kiri" dan "Kanan" mengubah rentang sebesar 1 MHz, dan tombol "CH-" dan "CH +" pada remote control berubah sebesar 0,1 MHz.
Dalam kisaran 65-76 MHz, tombol "Kiri" dan "Kanan" mengubah rentang sebesar 0,1 MHz, dan tombol "CH-" dan "CH +" pada remote control berubah sebesar 0,01 MHz.

Sesuaikan volume dengan tombol "Gr+" dan "Gr-". Setelah memilih frekuensi dan level volume yang diinginkan, tekan tombol "OK". Kotak untuk entri stasiun saat ini akan ditampilkan. Jika sudah ada stasiun yang direkam di dalam sel, maka nomornya akan berwarna merah.



Jika sel bebas, itu akan menjadi hijau.


Pilih sel yang diinginkan dengan tombol "CH+" dan "CH-". Sebanyak 20 sel tersedia untuk perekaman. Setelah memilih sel yang diinginkan, tekan tombol "OK". Sel akan merekam frekuensi stasiun, dan tingkat volume. Perangkat akan kembali ke mode penyiapan. Untuk keluar dari mode pengaturan, tekan tombol "ESC" atau jangan tekan apa pun selama 15 detik. Perangkat akan memasuki mode pemutaran radio.

Menyetel alarm

Beralih ke mode pengaturan alarm dengan tombol "3" dari remote control. Garis berjalan "Jam Alarm" akan ditampilkan. Jika tidak ada tombol yang ditekan dalam waktu 15 detik, perangkat akan memasuki mode tampilan waktu.

Setelah masuk ke menu alarm, kita akan melihat seperti berikut:


B1 berarti nomor alarm. Ada tujuh total. Tanda hubung setelah nomor berarti alarm tidak diaktifkan. Gunakan tombol "Kiri" dan "Kanan" untuk mengubah nomor alarm. Jika alarm dimatikan, pengaturannya tidak dapat dilihat. Untuk menyalakan alarm, tekan tombol "OK". LED akan menyala menandakan bahwa ada alarm yang diaktifkan dan bel akan muncul.


Sekarang jika Anda dapat melihat pengaturan alarm. Menu setiap alarm dibagi menjadi empat bagian. Pada bagian pertama, waktu dan volume penyalaan disesuaikan. Di bagian kedua, waktu mati diatur dan mode suara linier atau naik. Di bagian ketiga, stasiun yang akan dinyalakan diatur atau bel dipilih. Di bagian keempat, hari alarm dipilih. Tekan tombol "Kanan" di depan kita akan menjadi bagian pertama.


Waktu alarm ditampilkan di sini. Di pojok kanan bawah ada tombol power on volume. Untuk mengubah pengaturan, tekan tombol "OK". Jam pengaktifan mulai berkedip. Gunakan tombol "Kiri" dan "Kanan" untuk mengubah nilainya dan tekan tombol "OK". Jadi kami mengatur keempat parameter.

Setelah menyesuaikan level volume, klik "OK". Ini melengkapi pengaturan di bagian pertama jam alarm.

Di bagian ini, Anda dapat mengatur waktu mati dan volume meningkat saat alarm berbunyi atau linier.

Volume linier ditampilkan di sebelah kanan sebagai persegi panjang:


naik groKapasitansi ditampilkan sebagai segitiga:


Semua langkah konfigurasi sama seperti pada bagian pertama.

Sedikit tentang pengaturan volume. Di menu pertama, kami menyesuaikan level volume. Jika volume linier diatur di bagian kedua, maka saat alarm berbunyi, volume maksimum akan menjadi volume yang diatur di bagian pertama. Jika volume diatur untuk meningkat, maka ketika alarm berbunyi, volume dari nilai minimum akan meningkat secara bertahap ke nilai yang ditetapkan di bagian pertama.

Setelah mengatur bagian kedua, tekan tombol "Kanan" dan masuk ke bagian ketiga dari pengaturan alarm.


Di bagian ini, stasiun radio yang akan dinyalakan dikonfigurasi atau bel dipilih dengan menggulir ke tulisan BEEP.


Pengaturan tombol yang sama seperti pada bagian sebelumnya. Stasiun dipilih hanya dari stasiun yang disetel dalam mode "Radio".

Setelah mengatur bagian ketiga, tekan tombol "Kanan" dan masuk ke bagian keempat dari pengaturan alarm.

Di sini kita mengatur hari-hari alarm.


Penunjukan hari dalam seminggu dilakukan dalam angka. 1-Senin, 2-Selasa, 3-Rabu, dll.

Tekan "OK" Remote control akan mulai mem-flash karakter pertama. Gunakan tombol "Kiri" atau "Kanan" pada remote control untuk mengaktifkan hari dalam seminggu atau mematikannya. Warna hijau hari aktif, merah tidak aktif. LED di bawah hari aktif menyala. Dibuat untuk mereka yang mengumpulkan jam tangan pada LED biasa untuk melihat hari mana dalam seminggu yang aktif.

Setelah pengaturan, tekan tombol "Kanan" pada remote control dan pergi ke alarm berikutnya atau tekan "ESC" dan keluar dari mode tampilan waktu.

Ketika alarm berbunyi, LED akan berkedip. Jika Anda menekan tombol "Off" saat alarm berjalan, LED remote control akan berhenti berkedip dan alarm tidak akan mati ketika waktu mati tercapai, yaitu alarm dibatalkan.

Pengaturan equalizer

Beralih ke menu pengaturan equalizer dengan menekan tombol "4" pada remote control. Baris berjalan "Equalizer" akan berjalan. Dalam mode ini, frekuensi bass dan treble disesuaikan. Pengaturan equalizer disimpan secara terpisah untuk setiap saluran radio. Jika tidak ada tombol yang ditekan dalam waktu 15 detik, itu akan beralih ke mode tampilan waktu.

Untuk menyesuaikan frekuensi yang diinginkan, tekan tombol "Kiri" atau "Kanan" pada remote control.

Tuning LF dan HF maksimum:



Untuk mengubah filter low-pass atau high-pass, tekan tombol "OK". Bilah di sebelah kiri akan mulai berkedip. Gunakan tombol "Kiri" dan "Kanan" untuk mengubah nilainya. Untuk menyimpan nilai yang ditetapkan, tekan "OK" pada remote control. Tergantung pada besarnya nilai, warna penunjuk dan angka yang menunjukkan level juga berubah. Mendekati nilai maksimum akan berwarna merah. Lebih dekat ke nilai minimum dengan warna biru, dan di kisaran tengah berwarna hijau.

Pengaturan bass minimum:


Nilai rata-rata pengaturan bass:


Pengaturan-menghapus ambang kecerahan minimum

Secara default, kecerahan disesuaikan dari indikator maksimum hingga pengosongan penuh. Tapi ini sangat tidak nyaman dalam mode otomatis. Dalam kegelapan total, indikator akan padam dan tidak ada yang terlihat. Untuk ini, mode ini dibuat agar kecerahan minimum tidak turun di bawah atau di atas set

Kami menekan tombol 8 pada remote control untuk masuk ke menu untuk mengatur batas kecerahan.

Yang pertama menetapkan batas kecerahan minimum.


Gunakan tombol "Atas" "Bawah" pada remote control untuk mengatur kecerahan yang diinginkan dan tekan "OK" pada remote control. Akan ada sinyal panjang bel dan merekam ambang kecerahan minimum.


Gunakan tombol "Atas" "Bawah" pada remote control untuk mengatur kecerahan yang diinginkan dan tekan "OK" pada remote control.

Akan ada bel panjang dan ambang batas kecerahan minimum akan direkam.

Bagian berikutnya mengatur waktu penyalaan kecerahan minimum, dan kemudian waktu penyalaan kecerahan maksimum.

Keluar dari menu pengaturan mereka "ESC" remote control. Sekarang, saat menyesuaikan kecerahan, tidak mungkin membuatnya lebih gelap atau lebih terang dari ambang batas yang ditetapkan, dan dalam mode otomatis, kecerahan tidak akan lebih rendah atau lebih tinggi dari yang ditetapkan.

Untuk mengaktifkan mode kontrol kecerahan otomatis pada remote control, tekan "0" untuk beralih ke mode otomatis. LED di bagian depan jam akan menyala.

Agar penyesuaian kecerahan waktu nyata berfungsi, tergantung pada waktu iluminasi, kecerahan minimum dan maksimum harus sama. Jika tidak, kecerahan akan diatur sesuai dengan waktu yang dipilih. Perubahan kecerahan dari tingkat minimum ke maksimum dan sebaliknya mulus.

Untuk mengatur ulang ambang kecerahan, cukup masuk ke menu pengaturan ambang kecerahan lagi dan semua batas akan diatur ulang.

Untuk mengatur ambang dari tombol, baca paragraf 8 di bawah ini.

Kontrol tombol

Tombol S4-S9 terletak di bagian belakang jam tangan. Tergantung pada menu mana kita berada, fungsi tombol berubah.

Tombol S8 beralih ke menu yang berbeda. Untuk masuk ke menu yang diinginkan, tekan S8 dan tahan. Setelah jumlah sinyal buzzer yang diperlukan, lepaskan dan masuk ke menu yang dipilih. Jumlah sinyal buzzer akan sesuai dengan jumlah tombol remote control. Jika ada 4 sinyal, maka kita akan masuk ke menu "Equalizer", jika ada 1 sinyal, maka menu tampilan waktu, dll.

1. Fungsi tombol di menu arloji:

perubahan font S6

S7 mengatur ulang detik dan memperbarui waktu melalui internet

S9 pergi ke pengaturan dasar.

Dengan menekan S9 kita masuk ke menu setup. Dalam menu ini, tombol S4 dan S5 mengubah parameter, tombol S6 pergi ke parameter pengaturan berikutnya. Keluar dari menu tidak mungkin; Anda harus melalui semua parameter yang dapat disesuaikan.

Setelah mengatur parameter terakhir, garis gulir akan berjalan dan perangkat akan kembali ke mode tampilan waktu.

2. Fungsi tombol di menu radio:

Penyesuaian suara S4 dan S5 "+" dan "-"

Transisi S6 dan S7 pada saluran yang dikonfigurasi "+" dan "-"

S9 masuk ke mode penyetelan radio

Di menu pengaturan, aksi tombol:

Penyesuaian suara S4 dan S5 "+" dan "-"

Perubahan frekuensi radio S6 dan S7 "+" dan "-"

S9 masuk ke menu untuk menyimpan stasiun di memori. Dengan tombol S6 dan S7 kami mengubah nomor sel memori, dan tombol S9 mengonfirmasi entri.

Keluar dari menu pengaturan - jangan tekan tombol apa pun dan keluar akan otomatis setelah 15-20 detik.

3. Fungsi tombol di menu pengaturan alarm:

Alarm gulir S4 dan S5 "+" dan "-"

S6 dan S7 tidak terlibat

S9 Hidupkan dan matikan alarm

Jika alarm menyala, tekan S4 untuk masuk ke pengaturan utama alarm yang diaktifkan. Menavigasi melalui submenu alarm S4 dan S5. Untuk mengatur parameter, tekan S9 dan S4 dan S5 mengubah parameter. Tekan S9 berikutnya pindah ke parameter pengaturan berikutnya. Perangkat akan keluar dari pengaturan alarm secara otomatis jika dalam waktu 15 detik. salah satu tombol tidak akan ditekan.

4. Fungsi tombol di menu equalizer:

S4 dan S5 menelusuri parameter yang dapat disesuaikan.

S6 masuk ke mode mengubah parameter yang dipilih. Dalam mode ini, S4 dan S5 mengubah parameter, dan S6 mengonfirmasi perubahan.

S7 tidak terlibat.

Keluar dari mode otomatis setelah 15 detik jika tidak ada tombol yang ditekan.

6. Fungsi tombol di menu pengatur waktu mati:

Pengaturan S4 dan S5 dari interval waktu mati dalam langkah 5 menit. Interval 0 menit berarti timer mati

S6 keluar ke menu tampilan waktu.

7. Gratis. Ini dapat digunakan di masa depan.

8. Fungsi tombol di menu pengaturan batas kecerahan:

Perubahan kecerahan S4 dan S5.

Konfirmasi S6 dari kecerahan yang dipilih.

Pengaturan keluar S7.

9. Gratis. Ini dapat digunakan di masa depan.

Sedikit tentang suku cadang yang digunakan dan penggantian serta penyesuaiannya.

Semua elemen SMD berukuran 0805. Stabilizer U1 LM317ADJ dapat diganti dengan stabilizer apa pun dengan tegangan stabilisasi 3 Volt, misalnya ASM1117-30. Dalam hal ini, ganti R18 dengan jumper, dan jangan pasang R17. Stabilizer 5V U8 LM2576-5 dapat diganti dengan LM2596-5. LED D6 D7 D11 D12 D13 ukuran 2835. Resistor R24 ​​mengatur volume buzzer. Jangan lupa untuk mengatur arus pengisian baterai yang digunakan dengan resistor R44 R45 (lihat tabel pada diagram). Dengan arus pengisian yang tinggi, saya sarankan memasang radiator pada TP4056. Resistor R38 dan R49 dapat membatasi volume maksimum atau menggantinya dengan jumper. Kapasitor C28 C29 C42 C43 dalam pipa TEA6330T harus dipasang seperti yang ditunjukkan dalam diagram. Berangkat dari kapasitansi dalam satu arah atau lainnya untuk mengubah rentang penyesuaian frekuensi. C28 dan C43 bertanggung jawab untuk frekuensi rendah, dan C29 dan C42 untuk frekuensi tinggi. Saya mencoba mengatur frekuensi 6.8nF C29 dan C42 HF praktis tidak berubah. Resistor R28 R33 R31 dapat mengubah tegangan pada output konverter. Dengan peringkat yang ditunjukkan dalam diagram, tegangannya adalah 11,86V.

Tegangan dihitung dengan rumus:

Uout=1,26*(1+((R33+R28)/R31))

Dioda Schottky D4 D5 D1 D8 D10 dapat diganti dengan apa saja untuk arus 2A. Dioda Zener D3 dapat dihentikan oleh tegangan stabilisasi 4.3V 4.7V atau 5V.

Instalasi lebih baik dimulai dengan pemasangan semua stabilisator tegangan dan memeriksa pengoperasiannya, sehingga tidak akan memalukan bagi pengontrol dan sensor yang terbakar. Maka lebih baik memasang konverter dan memeriksanya dengan menerapkan tegangan ke kaki ke-8 LM3488 di kisaran 3,2-5V. Outputnya harus sekitar 12V.

Selanjutnya, kami memasang elemen untuk mengisi daya baterai dan memantau tegangan baterai dan memeriksa pengoperasiannya. Untuk baterai 2-kawat, kami tidak memasang R39, tetapi mengganti R43 dengan jumper. Kami juga bertindak untuk 3-kawat jika kontrol suhu baterai tidak diperlukan. Terminal tengah baterai tetap hang out. Jika kontrol suhu diperlukan, maka kami memasang semua elemen, meskipun R43 tidak dapat dipasang karena akan terhubung secara paralel ke termistor baterai dan tidak akan banyak mempengaruhi operasi.

Pengontrol tegangan baterai dipasang pada TL431 dan LM358. Sumber tegangan referensi 2,5 V dipasang pada TL431. Tegangan ini disuplai ke pin 2 LM358, dan tegangan disuplai ke pin 3 LM358 dari baterai melalui pembagi R58 R62 segera setelah tegangan pada baterai di bawah 3,2 pada pin 3, tegangan juga akan menjadi kurang dari 2,5 volt dan pada 1 output akan menjadi 0 Q9 akan menutup. Tegangan positif melalui R56 R51 akan menuju ke basis Q8. Q8 akan menutup dan menutup transistor Q7.1 yang menghilangkan energi seluruh papan. Setelah dimatikan, memulai jam hanya dapat dilakukan jika catu daya eksternal tersambung, karena LM358 ditenagai oleh sumber daya eksternal.

Jika ada chip BU4832, maka TL431 LM358 tidak memasang perpipaan dan R56. Jika kami merakit pada TL431 dan LM358, maka kami tidak menginstal R53 dan mungkin perlu menyesuaikan ambang respons dengan pembagi R58 R62. Jika ada catu daya utama, baterai harus diisi, dan tidak boleh ada tegangan pada keluaran konverter. Jika tegangan baterai lebih tinggi dari 3,2 volt, maka pada basis transistor Q9 seharusnya sekitar 0,7-0,8V.

Sekarang kami memeriksa pengoperasian catu daya cadangan. Pertama, kami memberi daya pada sirkuit dari sumber utama. Kemudian kami menariknya keluar dari jaringan dan 12V akan muncul di output konverter. Jika konverter tidak memulai, maka kami melihat apa yang didasarkan pada Q9. Jika tegangan di sana kurang dari 0,7V, dan baterai terisi daya, maka kami mengukur tegangan pada pin 2 LM358 harus 2.5V dan pada pin 3 lebih dari 2.5V. Jika semuanya normal, maka LM358 rusak atau daya tidak terhubung. Ambang batas dapat disesuaikan R62. Dengan peningkatan nilainya, ambang batas shutdown meningkat, yaitu perangkat akan sepenuhnya dihilangkan energinya dengan pelepasan baterai yang lebih dalam. Saat nilai menurun, ambang batas menurun.

Kapasitor C6 C11 C21 C20 C37 direkomendasikan untuk ESR rendah.

Jika semuanya berfungsi, maka kami memasang prosesor, mem-flash-nya, dan memasang semua elemen lainnya .. Untuk kenyamanan menginstal, kontak untuk konektor ISP disediakan di papan tulis. Kami menyolder pin GND untuk ISP di tempat yang nyaman.

indikasi LED

LED D11 menyala, yang berarti mode kontrol kecerahan otomatis diatur. Penyesuaian manual tidak berfungsi. Mode diaktifkan oleh tombol "0" dari remote control.

LED D12 menyala, yang berarti ada alarm yang diaktifkan. Jika berkedip, alarm telah dipicu.

LED D13 menyala, artinya baterai cadangan jam perlu diganti. Bahkan jika Anda melepas baterai, waktu tidak akan diatur ulang, karena karena pengisian kapasitor, DS3231 akan diberi daya untuk beberapa waktu. Jadi ada 5 menit untuk mengganti baterai.

LED D6 menyala, yang berarti baterai sedang diisi

LED D7 menyala, artinya baterai sudah terisi.

Jika kedua LED D6 dan D7 tidak menyala, jam ditenagai oleh baterai internal.

Kami memproduksi papan sirkuit cetak (PP)

Ada kesalahan perhitungan kecil dalam pengikatan speaker, guntingan dibuat lebih dari yang diperlukan dan saya harus pintar dengan pengikatannya. Arsip memperhitungkan semua perubahan yang dikenakan di papan.

Versi papan dengan WI-FI.



Saya membuat papan sirkuit tercetak menggunakan photoresist negatif. Saya mencetak template pada film dengan printer inkjet Epson L800dengan cara yang negatif. Saya membersihkan benda kerja dengan bedak Pemolux. Saya menerapkan photoresist film ke benda kerja basah. Per kurangnya Saya menyetrika laminator dengan set besi ke divisi 1. Saya menerapkan templat dan meneranginya dengan tiga lampu UV masing-masing 20W selama 1 menit 10 detik. Kemudian lagi di bawah setrika, lalu saya mencuci area yang tidak kecokelatan dan racun. Saya mengebor beberapa lubang di bantalan ekstrem dan membuat tusukan di tempat yang sama di templat. Papan dan templat digabungkan dengan jarum. Sisi kedua tergores. Yang pertama disegel dengan selotip.

Kami mengebor lubang. Saya biasanya mengebor lubang dengan diameter 0,4 mm dan menyolder kabel ke dalamnya. Kami menyolder elemen.

Foto papan jadi dengan WI-FI



Kami lebih memperhatikan penginstalan agar nantinya tidak kami cari kenapa tidak berhasil. Beberapa elemen keluaran perlu disolder di kedua sisi. Pin elemen-elemen ini seperti vias. Di bawah kuarsa di papan, Anda harus menempelkan pita perekat atau pita listrik sehingga tidak ada kontak dengan trek atau menyoldernya ke sisi Atmega32.

Kasing terbuat dari plastik lunak 4mm. Memotong dengan baik dengan pisau utilitas. Karena LED dalam, maka panduan cahaya diperlukan. Tutup kotak lampu mobil digunakan sebagai pemandu cahaya. Kasing digambar dalam CorelDRAW, dicetak di atas kertas biasa dan direkatkan ke plastik dengan selotip dua sisi dan dipotong. Kami menyembunyikan semua yang ada di kasing, kencangkan antena:


Sensor menonjol dari atas:


Agar terlihat normal dan bukan hanya sensor yang menonjol dari kasing, satu set untuk memperbaiki nomor dibeli di toko mobil dan tutup reflektif direkatkan di atas kasing.

Ternyata seperti ini:


Itu seperti semua. Kami berencana untuk menambahkan kemampuan untuk menampilkan informasi dari RDS. Buat saja opsi lain untuk pembuat enkode.

Sebuah program ditulis untuk modul ESP8266. Firmware untuk Atmega32 juga telah diubah dalam arsip, semuanya diperbarui. Perubahan juga dilakukan pada skema. Sinyal TX RX dari Atmega ke ESP8266 salah terhubung. Semua perubahan yang dijelaskan di sini diperhitungkan dalam skema di arsip.

Perubahan kecil telah dibuat pada diagram. Gabungan Reset sinyal Atmega dan ESP8266. Tetapi untuk ini, Anda harus mencocokkan sinyal tegangan. Menambahkan resistor 9,1 kΩ antara Reset Atmega dan GND. Resistor 10k antara Reset ESP8266 dan rel 3V dilepas. Tegangan pada pin Reset harus berada dalam 3V-3.3V.

Menambahkan pencocokan level TX RX. Meskipun Anda dapat melakukannya tanpa itu, tetapi lakukanlah sebagaimana mestinya sesuai aturan.

Untuk mem-flash modul ESP8266, Anda perlu:

1. Unduh (jika tidak diinstal) Arduino IDE dari situs luar (https://www.arduino.cc/en/Main/Software), Install.

2. Jalankan Arduino IDE, laluFile - Pengaturan- di lapangan URL Manajer Dewan Tambahanmasukkan tautan ke versi stabilhttp://arduino.esp8266.com/package_esp8266com_index.json

4.B Manajer Dewanmasukkan esp8266 di bidang filter atau gulir daftar secara manual dan klik ESP8266 oleh Forum Komunitas ESP8266
Klik Instal dan tunggu hingga unduhan selesai (sekitar 130 MB).
Jika pengunduhan terlalu cepat, kemungkinan Anda telah menginstal Arduino IDE untuk ESP8266 dan Anda perlu menghapus cache Boards Manager, jika tidak, Anda akan berakhir dengan versi lama yang diinstal. Anda harus terlebih dahulu menghapus versi lama, dan kemudian Anda perlu menghapus file cache. Untuk Win7 x64, hapus file dari folder C:UsersUserAppDataRoamingArduino15 dan ulangi semuanya dari langkah 2
Tutup Boards Manager dan dari menu Tools pilih Board - Generic ESP8266

Pilih port serial yang papan terhubung. Buka file firmwarenya.

Saya menggunakan PL2303 untuk mem-flash modul. Driver untuknya di bawah ini dalam arsip berfungsi pada Win 8.1. Driver diinstal secara manual.

Anda dapat menggunakan adaptor USB-COM apa pun.

Kami menyolder modul ESP 8266 ke papan. Kami menghubungkan modul dengan adaptor USB-COMkoneksi sinyal TX RXmenyeberang yaitu TX ESP8266 ke RX USB-COM dan RX ESP8266 ke TX USB-COM. Instal jumper pada XP10 dan lepaskan jumper XP11 dan XP12. Klik Setel Ulang.

Dalam firmware untuk modul yang perlu diubah dalam jam.

Di firmware, masukkan nama jaringan WI-FI Anda dan kata sandinya.

Tekan ikon "Panah Kanan" untuk mulai mem-flash modul.

Setelah firmware selesai, lepaskan jumper XP10 dan instal kembali XP11 dan XP12.

Saya sarankan untuk memeriksa apakah Anda memiliki port 123 yang terbuka di PC dan di router.
Lebih mudah melakukan ini di PC, di pengaturan waktu, tab waktu Internet - Ubah pengaturan. Kami berkendara ke lapangantime.nist.govdan klik "Perbarui Sekarang". Jika dikatakan waktu berhasil diperbarui, maka port Anda terbuka. Jika error, maka buka port di router.
Di rumah, pada router ASUS RT16 dengan firmware Tomat, semuanya bekerja dengan baik secara default.
Di tempat kerja, saya harus membuka port pada router Zuxel Keenetic Giga II dengan firmware asli, meskipun waktu diperbarui dari Internet di router itu sendiri.

Waktu diperbarui dengan menekan tombol "9" pada remote control. Satu-satunya hal yang perlu dipertimbangkan saat memperbarui waktu, jika tidak ada akses ke Internet, maka semua detik akan diatur ulang dengan tepat ke nol.
Setelah menyalakan jam atau menekan tombol Reset, untuk memperbarui waktu melalui Internet, Anda harus menunggu 30 detik.Waktu ini diperlukan agar modul terhubung ke jaringan atau mengembalikan kesalahan jika tidak ada koneksi. Jika Anda menekan tombol "9" pada remote control sebelumnya, tidak akan terjadi apa-apa. Selama sinkronisasi waktu, matriks selama 1-2 detik akan padam.
Jika tidak ada akses ke Internet, maka saluran akan ditampilkan"Ups Tidak Ada Jaringan".
Jika ada akses ke jaringan tetapi tidak ada akses ke server waktu yang tepat, maka saluran akan ditampilkan"Tidak dapat mengakses server waktu"

Jaringan baru juga akan muncul dengan nama "Datchik". Anda juga dapat mengubah namanya menjadi apa saja di Arduino dan mengubah kata sandinya. Modul kedua dengan sensor luar akan terhubung ke jaringan ini.

PS. Saya memutuskan untuk menolak sinkronisasi otomatis, karena DS3231 memiliki penyimpangan waktu yang sangat kecil dan sinkronisasi diperlukan tidak lebih dari sebulan sekali, dan kemudian penyimpangan itu beberapa detik. Jadi lebih mudah melakukannya secara manual.

Program uji matriks ditulis. Sekering seperti untuk firmware utama.
Semuanya dikendalikan secara visual.

LED untuk Status Baterai Cadangan, Alarm Aktif, dan Kecerahan Otomatis harus menyala. Buzzer harus diam.

1. Tes pertama menyalakan semua LED matriks. Tes berjalan pada semua warna. Secara visual, Anda dapat menentukan LED mana yang tidak menyala atau warnanya berbeda dari yang lain, jadi jangan menghilang di suatu tempat. Tes dimulai dengan matriks yang dibatalkan sepenuhnya.

2. Bagian kedua dari pengujian hanya menyalakan satu LED dan menjalankannya melalui semua baris di masing-masing dari tiga warna RG dan B . Hanya satu LED yang harus menyala. Jika dua LED menyala, maka di suatu tempat ada korsleting pada output register matriks.

Catu daya harus menyediakan arus minimal 2A dalam mode uji, karena tidak ada kontrol kecerahan dan konsumsinya cukup besar (terutama jika warnanya putih). Jika blok tidak dapat memberikan arus seperti itu, maka pengujian tidak akan dimulai, yaitu akan ada upaya untuk memulai dan segera mengatur ulang.

Modul sensor suhu luar ruangan.

Modul sensor suhu outdoor juga dibuat pada ESP8266 dan AM2321 digunakan sebagai sensor. Sensor suhu ruangan juga dipasang di modul ini. Ini dilakukan agar jika beberapa jam identik dikumpulkan dan kemudian mereka dapat menerima data dari satu modul. Modul eksternal memiliki pengisian USB bawaan untuk baterai, serta kontrol tegangan baterai. Ketika tegangan baterai turun di bawah 3,2 volt, LED akan menyala.

Juga menambahkan kontrol kesalahan visual.

1. Tidak ada sensor AM2321 LED hijau menyala

2. Tidak ada sensor BME280 LED merah menyala

3. Koneksi tidak berhasil ke jaringan WI-FI, LED biru menyala



Firmware dilakukan dengan cara yang sama seperti untuk modul di jam. Satu-satunya hal adalah bahwa beberapa baris perlu diubah dalam program.

Atur waktu pemungutan suara untuk sensor suhu. Defaultnya adalah 900 detik = 15 menit
Ubah nilai di baris:

ESP.deepSleep(900*1000000,WAKE_RFCAL);// waktu 900 detik = 15 menit
Ubah ke nilai Anda. Simpan dan flash.

Modul saya ditenagai oleh baterai 1000mA.

Banyak amatir radio pemula, dan tidak hanya, suka "menemukan kembali roda" - semua orang ingin membuat jam elektronik mereka sendiri. Nasib ini juga tidak melewati saya. Ada banyak desain jam tangan di Internet, tetapi hanya ada beberapa jam tangan dengan matriks LED. Di Internet berbahasa Rusia, saya hanya menemukan satu desain yang sepenuhnya selesai dengan deskripsi.
Pada saat yang sama, array LED baru-baru ini jatuh harganya, dan biayanya bahkan mungkin kurang dari tampilan tujuh segmen dengan ukuran yang sama. Misalnya, GNM23881AD yang digunakan dengan ukuran 60x60mm dibeli oleh saya seharga satu setengah dolar (tiga indikator berharga empat setengah dolar), untuk uang sebanyak itu Anda hampir tidak dapat membeli empat indikator tujuh segmen dengan ukuran yang sama. Tetapi untuk menempatkan informasi pada indikator matriks, itu akan menjadi lebih banyak. Selain indikasi digital, berbagai huruf, tanda, dan teks dapat ditampilkan pada matriks LED. Setelah menganalisis semua ini, diputuskan untuk membangun jam multifungsi pada matriks LED, sementara ada keinginan untuk tidak memperumit sirkuit lebih dari pada tampilan tujuh segmen. Saya juga ingin skemanya multifungsi dan tidak seperti yang lain. Dan skema ini lahir.

Fungsionalitas arloji:
Waktu, kalender, hari dalam seminggu. (tahun kabisat diperhitungkan, tetapi tidak ada perubahan ke musim panas / musim dingin). Menjaga jam agar tetap berfungsi saat catu daya eksternal dimatikan (konsumsi arus hanya 15 A). Koreksi kecepatan jam + - 59,9 detik \ hari, langkah 0,1 detik. 9 alarm. Tiga di antaranya "sekali pakai", dan 6 "permanen", dapat disesuaikan secara individual berdasarkan hari dalam seminggu. Durasi sinyal suara untuk setiap alarm dapat disesuaikan secara individual (1-15 menit).

Konfirmasi terdengar saat tombol ditekan (dapat dinonaktifkan). Bip setiap jam (dapat dinonaktifkan). Dari 00-00 hingga 08:00 mode tidur, tidak ada sinyal yang diberikan. 1 atau 2 sensor suhu (Jalan dan rumah). Garis merayap yang dapat disesuaikan, yang dengannya Anda dapat menampilkan semua informasi (kecuali waktu) Koreksi kursus, dan pengaturan "garis merayap" - disimpan dalam memori bahkan ketika catu daya cadangan dimatikan.

AtMega16A dipilih sebagai "jantung" jam tangan, kriterianya adalah murah dan terjangkau. 40 kakinya akan memungkinkan Anda untuk mewujudkan semua ide Anda. Ada keinginan untuk menyederhanakan sirkuit sebanyak mungkin, dan karena itu semua fungsi ditugaskan ke pengontrol. Akibatnya, kami mendapat sirkuit dengan hanya dua sirkuit mikro, pengontrol dan register TPIC6B595. Jika tidak memungkinkan untuk mendapatkan TPIC6B595, maka sangat mungkin untuk menggantinya dengan 74HC595 + ULN2803. Semua opsi telah diuji. Anda juga dapat mencoba menggantinya dengan TPIC6С595, tetapi agak lemah, dan menjadi sedikit hangat, tetapi bekerja dengan cukup stabil.

Hitung mundur dilakukan menggunakan timer asinkron - T2. Ketika daya utama hilang, jam disimpan. Dalam hal ini, hampir seluruh rangkaian tidak diberi energi, dan pengontrol ditenagai oleh baterai, baterai, atau superkapasitor. Ada keinginan untuk "bermain" dengan ionistor, itu sebabnya saya menerapkannya. Jam tangan mengkonsumsi sekitar 15 A dalam mode siaga. Dengan daya cadangan dari ionistor pada 1F, kapasitasnya cukup untuk empat hari, yang cukup untuk mempertahankan jam selama pemadaman listrik. Jika Anda menggunakan baterai CR2032, maka pengisian daya akan berlangsung selama satu setengah tahun.

Kontroler mendengarkan keberadaan jaringan melalui pin. PB3 (input pembanding pembalik). Tegangan suplai disuplai melalui pembagi R2-R3 ke pin. 3, dan kira-kira sama dengan 1,5 V. Jika tegangan suplai turun menjadi 4,1 volt, maka tegangan pada pin. 3 akan menjadi kurang dari 1,2 V, sementara interupsi dari komparator akan dihasilkan, dan dalam pengendali interupsi ini, semua node pengontrol "ekstra" dimatikan dan pengontrol itu sendiri ditidurkan. Dalam mode ini, hanya timer T2 yang terus berjalan. Ketika catu daya eksternal muncul, tegangan pada PB3 akan kembali naik di atas 1,23V, pengontrol "melihat" ini akan membuat semua node dalam kondisi kerja. Jika alih-alih ionistor, baterai CR2032 digunakan, maka baterai itu harus dihubungkan melalui dioda (lebih disukai dioda Schottky). Anoda dioda terhubung ke baterai +, dan katoda ke katoda VD1.

Dalam mode normal, layar menampilkan waktu dalam format jam-menit. Dengan interval satu menit, garis lari diluncurkan. Garis berjalan menampilkan hari dalam seminggu, tanggal, tahun, suhu. di rumah, dan suhu di jalanan. Jalur lari dapat disesuaikan, mis. Anda dapat mengaktifkan / menonaktifkan tampilan salah satu elemen. (Misalnya, saya selalu mematikan tampilan tahun ini). Ketika semua elemen dimatikan, garis merayap tidak dimulai, dan jam terus-menerus menampilkan waktu saat ini.

9 alarm dibagi menjadi 3 sekali pakai dan 6 dapat digunakan kembali. Saat Anda menyalakan alarm 1-3, mereka hanya berfungsi sekali. Agar dapat berfungsi kembali, mereka harus diaktifkan kembali secara manual. Dan jam alarm 4-9 dapat digunakan kembali, mis. mereka akan bekerja setiap hari, pada waktu yang ditentukan. Selain itu, alarm ini dapat disetel agar berbunyi hanya pada hari-hari tertentu dalam seminggu. Ini nyaman, misalnya, jika Anda tidak ingin jam alarm membangunkan Anda di akhir pekan. Atau, misalnya, Anda harus bangun pada hari kerja pukul 7-00, dan pada hari Kamis pukul 8-00, dan pada akhir pekan Anda tidak memerlukan jam alarm. Kemudian kami menetapkan satu dapat digunakan kembali pada jam 7-00 pada hari Senin-Rabu dan Jumat, dan yang kedua pada jam 8-00 pada hari Kamis ... .. Selain itu, semua jam alarm memiliki pengaturan durasi sinyal, dan jika Anda tidak memiliki cukup sinyal selama 1 menit untuk bangun, maka Anda dapat meningkatkannya untuk waktu dari 1 hingga 15 menit.

Koreksi kursus dilakukan sekali sehari, pada pukul 00-00. Jika jam lebih cepat, misalnya 5 detik per hari, maka pada 00-00-00 waktu akan diatur ke 23-59-55, jika jam di belakang, maka pada 00-00-00 waktu akan diatur ke 00-00-05. Langkah koreksi - 0,1 detik. Koreksi maksimum adalah 59,9 detik/hari. Dengan kuarsa yang dapat diservis, lebih banyak tidak mungkin dibutuhkan. Koreksi juga dilakukan dalam mode standby saat ditenagai oleh baterai.

Anda dapat menerapkan matriks LED 8 * 8 LED dengan katoda umum. Seperti yang telah disebutkan, saya menggunakan GNM23881AD. Tetapi Anda dapat "memutar" matriks dari masing-masing LED. Mikrokontroler AtMega16a dapat diganti dengan AtMega16 "lama" dengan huruf L. Dalam hal ini, secara teoritis, konsumsi arus dari baterai harus sedikit meningkat. Mungkin hanya berfungsi AtMega16, tetapi mungkin ada masalah saat menggunakan baterai. Dioda D1 - lebih disukai dioda Schottky apa pun. Ini juga berfungsi dengan penyearah konvensional, tetapi untuk melindungi diri Anda dari berbagai gangguan yang terkait dengan fakta bahwa bagian dari rangkaian ditenagai oleh tegangan "sebelum dioda", dan bagian "setelah dioda" lebih baik untuk mencari Schottky . Transistor VT1 - n-p-n apa saja.

Jam dikendalikan oleh dua tombol. Jumlahnya dapat ditingkatkan menjadi 8 buah, tanpa menambahkan komponen sama sekali, kecuali tombol itu sendiri, tetapi saya ingin mencoba "keluar" hanya dengan dua. Tombol-tombol tersebut secara konvensional diberi nama "OK" dan "STEP". Tombol "STEP" biasanya beralih ke item menu berikutnya, dan tombol "OK" mengubah parameter menu saat ini. Sinyal alarm yang dipicu juga dimatikan oleh tombol "OK" atau "STEP". Menekan tombol apa saja selama alarm akan mematikan alarm. Skema kontrol ternyata seperti ini.

Jam sederhana pada matriks LED. Banyak amatir radio, pemula dan tidak hanya suka "menemukan kembali roda" - untuk membangun jam elektronik MEREKA. Nasib ini juga tidak menyayangkan saya. Tentu saja, ada banyak desain jam tangan di Internet saat ini, tetapi untuk beberapa alasan hanya ada beberapa jam tangan dengan matriks LED. Di Internet berbahasa Rusia, saya hanya menemukan satu desain yang lengkap dan dijelaskan. Pada saat yang sama, matriks LED sekarang jauh lebih murah, dan biayanya tidak lebih tinggi, jika tidak lebih rendah dari indikator tujuh segmen dengan ukuran yang sama. Misalnya, GNM23881AD yang saya gunakan dengan ukuran 60x60mm dibeli seharga 1,5u (3 indikator biaya 4,5u), untuk uang ini Anda hampir tidak dapat membeli empat unit tujuh segmen dengan ukuran yang sama. Tetapi informasi yang dapat ditempatkan pada indikator matriks bisa lebih banyak. Selain angka, mereka dapat menampilkan huruf, tanda, dan dengan bantuan garis yang berjalan, teks juga dapat ditampilkan.

Berdasarkan ini, ada keinginan untuk membuat jam di matriks LED, tetapi ternyata sirkuitnya tidak lebih rumit daripada yang tujuh segmen. Saya juga ingin itu cukup fungsional dan tidak seperti yang lain. Dengan demikian, skema berikut lahir.

Fungsi jam tangan adalah sebagai berikut:

  • Hitung mundur, kalender, hari dalam seminggu. (tahun kabisat diperhitungkan, transisi ke musim panas / musim dingin tidak dilakukan).
  • Pelestarian jam jika terjadi kehilangan catu daya eksternal (konsumsi adalah 15mA).
  • Koreksi perjalanan + - 59,9 detik \ hari, dalam peningkatan 0,1 detik. 9 alarm. 3 di antaranya "sekali pakai", dan 6 "permanen", dapat disesuaikan secara individual berdasarkan hari dalam seminggu.
  • Durasi sinyal suara yang dapat disesuaikan secara individual untuk setiap alarm (1-15 menit).
  • Konfirmasi suara penekanan tombol (dimungkinkan untuk menonaktifkan).
  • Bip setiap jam (dapat dimatikan).
  • Dari 00-00 hingga 08-00 sinyal tidak diberikan.
  • 1 atau 2 sensor suhu (Jalan dan rumah).
  • Ticker yang dapat disesuaikan yang menampilkan semua informasi (kecuali waktu)
  • Nilai koreksi goresan, dan pengaturan "garis merayap" disimpan bahkan jika daya cadangan hilang.

AtMega16A dipilih sebagai "jantung" jam tangan, karena ketersediaannya, murahnya, dan "kakinya". Saya ingin menyederhanakan sirkuit sebanyak mungkin, jadi semua yang mungkin diberikan ke pengontrol. Hasilnya, kami berhasil bertahan hanya dengan dua sirkuit mikro, pengontrol, dan register TPIC6B595. Jika TPIC6B595 tidak tersedia untuk seseorang, maka Anda dapat menggantinya dengan 74HC595 + ULN2803. Kedua opsi telah diuji. Anda juga dapat mencoba menggunakan TPIC6C595, agak lemah, dan sedikit panas, tetapi secara umum bekerja dengan stabil. Waktu dihitung menggunakan waktu asinkron - T2. Jam disimpan bahkan jika terjadi kegagalan daya. Pada saat ini, sebagian besar rangkaian dimatikan, dan pengontrol ditenagai oleh baterai, akumulator, atau dari ionistor. Sangat menarik bagi saya untuk "bermain-main" dengan ionistor, jadi saya menerapkannya. Konsumsi jam tangan saat ini dalam mode siaga adalah 15mA. Saat ditenagai oleh ionistor pada 1F, jam tangan "bertahan" selama empat hari. Ini cukup untuk menjaga jalannya saat listrik padam. Jika Anda menggunakan baterai CR2032, maka secara teoritis, menurut perhitungan, pengisian daya harus cukup untuk 1,5 tahun. Kehadiran pengontrol tegangan listrik "mendengarkan" melalui pin PB.3 Pin ini adalah input pembalik dari komparator. Tegangan suplai, melalui pembagi R2-R3, disuplai ke output PB.3, dan dalam keadaan normal kira-kira 1,5V. Jika tegangan eksternal turun di bawah 4,1 volt, maka tegangan pada pin PB.3 akan menjadi kurang dari 1,23 volt, dan interupsi dari komparator akan dihasilkan, dan semua node pengontrol yang "tidak perlu" dimatikan di handler interupsi dan controller itu sendiri ditidurkan. Dalam mode ini, hanya timer T2 yang terus berjalan. Ketika catu daya eksternal muncul, tegangan pada PB.3 akan kembali naik di atas 1,23V, pengontrol "melihat" ini akan membuat semua node dalam kondisi kerja. Jika alih-alih ionistor, baterai CR2032 digunakan, maka baterai itu harus dihubungkan melalui dioda (lebih disukai dioda Schottky). Anoda dioda terhubung ke baterai +, dan katoda ke katoda VD1. Dalam mode normal, layar menampilkan waktu dalam format jam-menit. Dengan interval satu menit, garis lari diluncurkan. Garis berjalan menampilkan hari dalam seminggu, tanggal, tahun, suhu. di rumah, dan suhu di jalanan. Jalur lari dapat disesuaikan, mis. Anda dapat mengaktifkan / menonaktifkan tampilan salah satu elemen. (Misalnya, saya selalu mematikan tampilan tahun). Ketika semua elemen dimatikan, garis merayap tidak dimulai, dan jam terus-menerus menampilkan waktu saat ini. 9 alarm dibagi menjadi 3 sekali pakai dan 6 dapat digunakan kembali. Saat Anda menyalakan alarm 1-3, mereka hanya berfungsi sekali. Agar dapat berfungsi kembali, mereka harus diaktifkan kembali secara manual. Dan jam alarm 4-9 dapat digunakan kembali, mis. mereka akan bekerja setiap hari, pada waktu yang ditentukan. Selain itu, alarm ini dapat disetel agar berbunyi hanya pada hari-hari tertentu dalam seminggu. Ini nyaman, misalnya, jika Anda tidak ingin jam alarm membangunkan Anda di akhir pekan. Atau, misalnya, Anda harus bangun pada hari kerja pukul 7-00, dan pada hari Kamis pukul 8-00, dan pada akhir pekan Anda tidak memerlukan jam alarm. Kemudian kami menetapkan satu dapat digunakan kembali pada jam 7-00 pada hari Senin-Rabu dan Jumat, dan yang kedua pada jam 8-00 pada hari Kamis ... .. Selain itu, semua jam alarm memiliki pengaturan durasi sinyal, dan jika Anda tidak memiliki cukup sinyal selama 1 menit untuk bangun, maka Anda dapat meningkatkannya untuk waktu dari 1 hingga 15 menit. Koreksi kursus dilakukan sekali sehari, pada pukul 00-00. Jika jam lebih cepat, misalnya 5 detik per hari, maka pada 00-00-00 waktu akan diatur ke 23-59-55, jika jam di belakang, maka pada 00-00-00 waktu akan diatur ke 00-00-05. Langkah koreksi - 0,1 detik. Koreksi maksimum adalah 59,9 detik/hari. Dengan kuarsa yang dapat diservis, lebih banyak tidak mungkin dibutuhkan. Koreksi juga dilakukan dalam mode standby saat ditenagai oleh baterai. Array LED dapat menggunakan LED katoda umum 8*8. Seperti yang telah ditunjukkan, saya menggunakan GNM23881AD. Pada prinsipnya, Anda dapat "memutar" matriks dari masing-masing LED. Mikrokontroler AtMega16a dapat diganti dengan AtMega16 "lama" dengan huruf L. Dalam hal ini, secara teoritis, konsumsi arus dari baterai harus sedikit meningkat. Mungkin hanya berfungsi AtMega16, tetapi mungkin ada masalah saat menggunakan baterai. Dioda D1 - lebih disukai dioda Schottky apa pun. Ini juga berfungsi dengan penyearah konvensional, tetapi untuk melindungi diri Anda dari berbagai gangguan yang terkait dengan fakta bahwa bagian dari rangkaian ditenagai oleh tegangan "sebelum dioda", dan bagian "setelah dioda" lebih baik untuk mencari Schottky . Transistor VT1 - n-p-n apa saja. Jam dikendalikan oleh dua tombol. Jumlahnya dapat ditingkatkan menjadi 8 buah, tanpa menambahkan komponen sama sekali, kecuali tombol itu sendiri, tetapi saya ingin mencoba "keluar" hanya dengan dua. Tombol-tombol tersebut secara konvensional diberi nama "OK" dan "STEP". Tombol "STEP" biasanya beralih ke item menu berikutnya, dan tombol "OK" mengubah parameter menu saat ini. Sinyal alarm yang dipicu juga dimatikan oleh tombol "OK" atau "STEP". Menekan tombol apa saja selama alarm akan mematikan alarm. Skema kontrol ternyata seperti ini:

Video cara kerjanya!