Jam di atmega8 dengan anoda umum. Jam "berdetak" dengan jam alarm pada mikrokontroler Atmega48. Atur Ulang Modus

12.03.2020 Kartu memori

Tonton di ATmega8.

  • 10 alarm untuk setiap hari dalam seminggu.
  • Sinyal tunda, jika alarm tidak dimatikan, akan mati setelah sekitar 5 menit.
  • Dua jam alarm pada kaki MK terpisah, dapat dihidupkan/dimatikan.
  • Dua sensor suhu DS18B20 (di rumah dan di luar ruangan).
  • Pemilihan tampilan suhu (zero blanking).
  • Pengatur waktu 99 jam.
  • Kecerahan indikator dapat disesuaikan untuk siang dan malam hari.
  • Parameter variabel dengan lancar mengubah kecerahan.
  • Ketika 220 volt hilang, konsumsi baterai kurang dari 40 mikroamp.
  • Alarm berbunyi dalam mode daya apa pun.
  • Jam tangan dapat menampilkan hingga 8 mode.
  • Indikator dengan anoda atau katoda umum dapat digunakan dalam rangkaian.

Jam tangan dapat menampilkan hingga 8 mode, yang mana Anda dapat memilih salah satu dari lima belas format tampilan, waktu tampilannya, dan berapa kali jam tangan tersebut dilewati.

Format tampilan.
0

Tanggal, Hari dalam seminggu, Jam-menit.

1

Jam-menit-detik.

2

Jam dan menit.

3

Jam-menit, Hari dalam seminggu.

4

Hari_bulan_hari dalam seminggu.

5

Tanggal bulan tahun.

6

Hari bulan tahun hari minggu.

7
8

Sensor suhu 1 (sensor rumah).

9

Sensor suhu 2 (sensor luar).

A

Sensor suhu 1, Jam-menit.

B

Sensor suhu 2, Jam-menit.

C

Sensor suhu 1, sensor suhu 2.

D

Sensor suhu 1, sensor suhu 2.

E

Hari dalam seminggu nomor bulan tahun.

F

Tanggal bulan tahun.

Dalam mode di mana sepersepuluh derajat tidak ditunjukkan, titik menentukan lebih dari 0,5 derajat.

Tombol F—keluar dari mode. Pilihan 3 mode utama.
Tombol SET - memasuki mode yang dipilih. Selanjutnya, pindah ke parameter berikutnya (bidang berkedip).
Tombol PLUS - tambah/hidup. Dalam mode SETUP, gulir ke seluruh menu utama.
Tombol MINUS - minus/__(mati). Dalam mode SETUP, gulir ke seluruh menu utama.

Semua mode, kecuali mode nol dan pengatur waktu, memiliki penghentian waktu. Jika tidak ada penekanan selama lebih dari 30 detik, mode disetel ke nol.

Modus PANGGILAN

Modus PENYIAPAN.
Untuk menulis nilai ke EEPROM, Anda perlu mengonfirmasi semua nilai di submode dengan menekan SET.
Contoh: CAHAYA ->SET-> L.ooooo ->SET-> НО4ь L.2 ->SET-> CAHAYA .

Modus PELABUHAN.

Modus jam.

Menyesuaikan detik. Menekan MINUS akan mengatur ulang detik ke nol. Jika lebih dari 31 detik, maka menitnya bertambah.
Berikutnya adalah pengaturan menit dan jam.
Dipasang:
hari, bulan, tahun dan hari dalam seminggu.
Koreksi jam. Nilai ini ditambah atau dikurangi setiap jam. Langkah 0,008 detik. (50 nilai), nilai maksimum 0.391. Contoh perhitungan: dengan koreksi sama dengan nol maka diukur penyimpangan jamnya, misalnya dalam 5 hari jam telah berjalan 3 detik, maka koreksinya tepat 3/(5*24)=0,025.

Atur mode LIHAT.

Dalam mode nol, jam secara bergantian menampilkan hingga 8 mode, yang mana salah satu dari sepuluh format tampilan dan waktu tampilannya dipilih (meja atas).
1 pemilihan modus.
R 5 pilih salah satu dari lima belas format tampilan.
Dengan 03 waktu dalam hitungan detik mode yang dipilih akan terlihat.
N 0 berapa kali untuk dilewati (jangan tampilkan) mode. Contoh:
1 r0 c03n0
2 r5 c03n0
3 r4 c02n1
r0; r5; r4; r0; r5; r4; ..
r4;
r0; r5;

r4; r0; r5;

r4;— terlihat, r4;
- dirindukan. Ketika waktu menunjukkan pukul 00, mode dinonaktifkan.
Mode USt Bud. Pengaturan alarm.
Bip
sinyal alarm - PWM.
Pin
sinyal alarm - mulut dalam 1 tunas keluaran.
Keduanya
Shim dan keluaran. Penundaan sinyal. Mengatur jumlah penundaan sinyal. Saat mati

Tunda (00) mematikan alarm dengan menekan tombol apa saja.

Saat aktif

alarm ditunda tombol F, ketika tombol SET PLUS MINUS ditekan, sinyal mati, tetapi akan berfungsi kembali setelah sekitar 5 menit.

Saat penundaan sinyal aktif, dalam mode nol, titik pada digit terakhir akan berkedip.

Nonaktifkan penundaan (jika tidak ada sinyal).

Dalam mode 0, menekan SET aktif. modus ini. Adanya penundaan aktif menginduksi simbol tersebut
HAI
di tempat perkenalan ke-4. Menekan PLUS MINUS akan mematikan penundaan.
Modus DS18B20.

Modus ringan.

Modus sinyal.

Atur ulang mode.
Tindakan dalam mode nol.
F - pemilihan mode.

  • 10 alarm untuk setiap hari dalam seminggu.
  • Sinyal tunda, jika alarm tidak dimatikan, akan mati setelah sekitar 5 menit.
  • SET - mode pembatalan penundaan sinyal
  • Dua sensor suhu DS18B20 (di rumah dan di luar ruangan).
  • Pengatur waktu 99 jam.
  • Kecerahan indikator dapat disesuaikan untuk siang dan malam hari.
  • PLUS - Atur mode LIHAT.
  • MINUS - mengatur alarm.
  • Alarm berbunyi dalam mode daya apa pun.
  • Setiap jam, selama satu detik, pin PB2(16) disetel.

Untuk menghemat uang, penundaan sinyal dilarang dalam mode baterai. Pengatur waktu juga berhenti.

Sumber WinAVR-20060421. Firmware anoda, katoda dan firmware untuk rangkaian dengan indikator besar. Dengan transisi otomatis ke waktu musim panas/musim dingin.
0
1

Jam-menit-detik.

2

Jam dan menit.

3

Jam-menit, Hari dalam seminggu.

4

Hari_bulan_hari dalam seminggu.

5
6
7
8
9
Tidak ada peralihan ke waktu musim panas/musim dingin.

Diagram untuk indikator besar. Dikirim oleh Alexei.

8 jam alarm pada kaki MK terpisah, dapat dihidupkan/dimatikan.

Tombol F - keluar dari mode. Pilihan 3 mode utama.
Tombol SET - memasuki mode yang dipilih. Selanjutnya, pindah ke parameter berikutnya (bidang berkedip).
Tombol PLUS - tambah/hidup. Dalam mode SETUP, gulir ke seluruh menu utama.
Tombol MINUS - minus/__(mati). Dalam mode SETUP, gulir ke seluruh menu utama.

Semua mode, kecuali mode nol dan pengatur waktu, memiliki penghentian waktu. Jika tidak ada penekanan selama lebih dari 30 detik, mode disetel ke nol.

Modus PANGGILAN

hidup/__-jam alarm hidup/mati.
Hari dalam seminggu saat alarm akan berbunyi (di sini pada hari ke 6 dan 7 alarm dimatikan).
Alarm A B C D E F G H hidup/mati kesimpulan panggil a_h mk. Jam alarm berguna untuk manajemen beban. Dengan menggunakannya, hasilnya panggil a_h dapat diatur untuk jumlah menit berapa pun.
___-mati, SET-kaki bud. Mulut A-H ke 1, mulut CLS ke 0.
n-akan bekerja sekali, o-on. Selalu.

Modus PENYIAPAN.
Untuk menulis nilai ke EEPROM, Anda perlu mengonfirmasi semua nilai di submode dengan menekan SET.
Contoh: CAHAYA ->SET-> L.ooooo ->SET-> НО4ь L.2 ->SET-> CAHAYA.

Modus PELABUHAN.

Modus jam.

Atur mode LIHAT.

Sumber WinAVR-20060421. Firmware anoda, katoda dan firmware untuk rangkaian dengan indikator besar. Dengan transisi otomatis ke waktu musim panas/musim dingin.
0

Tanggal, Hari dalam seminggu, Jam-menit.

1

Jam-menit-detik.

2

Jam dan menit.

3

Jam-menit, Hari dalam seminggu.

4

Hari_bulan_hari dalam seminggu.

5

Sensor suhu 1, sensor suhu 2.

6

Sensor suhu 1 (sensor rumah).

7

Sensor suhu 2 (sensor luar).

8

Sensor suhu 1, Jam-menit.

9

Sensor suhu 2, Jam-menit.

Tidak ada peralihan ke waktu musim panas/musim dingin.

8 jam alarm pada kaki MK terpisah, dapat dihidupkan/dimatikan.

Diagram untuk indikator besar. Dikirim oleh Alexei.

8 jam alarm pada kaki MK terpisah, dapat dihidupkan/dimatikan.

Dalam mode di mana sepersepuluh derajat tidak ditunjukkan, titik menentukan lebih dari 0,5 derajat.


Mode USt Bud. r0; r5;

Bip sinyal alarm - PWM.
Pin sinyal alarm - mulut dalam 1 tunas keluaran.
Keduanya Shim dan keluaran.
Penundaan sinyal.
Saat mati
Saat tertidur, jam alarm dimatikan dengan menekan tombol apa saja.
Saat aktif
Shim dan keluaran. alarm ditunda tombol F, ketika tombol SET PLUS MINUS ditekan, sinyal mati, tetapi akan berfungsi kembali setelah sekitar 5 menit, jika jam alarm tidak dimatikan, maka setelah 8 kali mati. secara otomatis. Saat penundaan sinyal aktif, dalam mode nol, titik pada digit terakhir akan berkedip. Dalam mode 0, menekan SET aktif. modus ini. Adanya penundaan aktif menginduksi simbol tersebut

Tunda (00) mematikan alarm dengan menekan tombol apa saja.

HAI

di tempat perkenalan ke-4. Menekan PLUS MINUS akan mematikan penundaan.
Modus DEFAULT.Mode lainnya (SETUP).
LAMPU
L ooooo - kecerahan indikator siang hari. MALAM L2 - kecerahan dari 23-00 hingga 6-00.
SINYAL
Setelah masuk ke mode, gunakan tombol plus/minus untuk memilih:
bangun S atau tombol. S
masing-masing, frekuensi PWM untuk jam alarm dan tombol.
Saat memasuki submode berikut pada indikator:
H004.L000.
Frekuensi dihasilkan dalam mode PWM cepat (mode CTC). Ambang batas atas diatur oleh register OCR1A1. H004-byte tinggi L000 byte rendah.

Untuk mematikan sinyal dari menekan tombol, setel H000 L000.

Jika opsi PIN dipilih dalam mode Alarm, tidak ada sinyal PWM yang akan dikeluarkan untuk jam alarm.
Tindakan dalam mode nol.
F - pemilihan mode.
SET - mode pembatalan penundaan sinyal

PLUS - Atur mode LIHAT.

MINUS - menyetel alarm.
Jika Anda menyetel jam alarm untuk menyalakan output, Anda dapat menggunakan chip dari kartu musik.

Saat mem-flash mikrokontroler, atur bit CKSEL3..0 ke 0011 (generator RC internal 4 Meg). Programkan bit CKOPT (koneksi kapasitor internal). Kemudian flash EEPROM, atau reset variabel utama program dengan cara ini - SETUP -> DEFAULT -> SET.

Diagram rangkaian listrik

Satu perangkat menggabungkan dua fungsi: pengukuran suhu dan waktu sebenarnya (jam). Tampilannya dilakukan secara bergantian, berubah setiap sepuluh detik. Untuk mengatur jam, digunakan dua tombol, mirip dengan tombol Cina sederhana jam tangan elektronik: yang satu bertanggung jawab untuk memilih parameter, yang kedua untuk mengubahnya. Perangkat ini diberi daya dari jaringan menggunakan sumber arus stabil konstan sebesar lima volt (papan dari pengisi daya telepon).

Sensor suhu adalah chip DS18B20. Karena perangkat Jam-Termometer tidak memiliki baterai sendiri, jika listrik mati, pembacaan secara alami akan hilang. Dan agar hal ini tidak menyebabkan seseorang terlambat untuk hal-hal penting, ada "trik" yang menarik - ketika daya diterapkan, tanda hubung akan ditampilkan di layar alih-alih waktu sampai Anda menekan salah satu dari dua tombol pengaturan.

Badan pengukur suhu buatan sendiri adalah kotak kancing manset yang cocok. Papan jam-termometer itu sendiri dan papan yang diambil dari pengisi daya telepon ditempatkan di dalamnya. Sensor DS18B20 dibuat jarak jauh dan dihubungkan melalui konektor.

Daftar bagian yang diperlukan

  • Mikrokontroler Atmega8 - 1 buah.
  • Kuarsa 32768 Hz - 1 buah.
  • Sensor suhu DS18B20 - 1 buah.
  • Indikator tujuh segmen (4 digit) - 1 pc.
  • Resistor SMD ukuran 0805:
  • 620 Ohm - 8 buah.
  • 0 Ohm (jumper) - 1 buah.
  • 4,7 kOhm - 1 buah.
  • Tombol kebijaksanaan - 2 pcs.

Video perangkat di saluran YouTube



Saya persembahkan untuk perhatian Anda diagram sederhana dan desainnya" Termometer dua saluran, jam pada ATmega8, DS18B20, DS1307, LCD (ZhK) 1602«.
Desainnya memungkinkan Anda menampilkan waktu, tanggal, bulan, hari dalam seminggu, dan suhu saat ini dari dua sensor suhu digital pada indikator simbol dua baris.

Diagram termometer dan jam dua saluran

Desainnya dirangkai pada mikrokontroler ATmega8-16PU, chip jam real-time DS1307 dalam paket DIP, sensor suhu digital DS18B20, dan indikator LCD LCD1602


Diagram perangkat dibuat dalam program
Sensor suhu terhubung ke konektor DS1 dan DS2:
— pin 1 — ke pin GND sensor
— pin 2 — ke pin DQ sensor
— pin 3 — ke pin Vcc sensor

Sambungan sensor pada diagram tidak sesuai papan sirkuit tercetak.
Program ini disesuaikan dengan papan sirkuit tercetak, Anda perlu menghubungkan:
— Sensor pertama ke PB1 (pin ke-15)
— Sensor ke-2 ke PB2 (pin ke-16)

Saya menarik perhatian Anda untuk menghubungkan pin port D mikrokontroler ke pin indikator:
- PD0 mikrokontroler - untuk menyematkan D7 indikator
- PD1 mikrokontroler - untuk menyematkan D6 indikator
- PD2 mikrokontroler - untuk menyematkan D5 indikator
- PD3 mikrokontroler - untuk menyematkan D4 indikator
Koneksi ini dipilih untuk menyederhanakan tata letak track pada papan sirkuit cetak

Detail yang digunakan dalam desain:

Layar LCD berbentuk 2 baris, 16 karakter negatif, karakter putih dengan latar belakang biru tua dengan lampu latar putih. Anda juga dapat menggunakan indikator dua baris, 16 karakter sintesis karakter (simbolis), dengan atau tanpa dukungan Sirilik, yang mendukung sistem perintah pengontrol tipe HD44780:
— STN (FSTN) Negatif (biru atau hitam) dengan lampu latar (ini digunakan dalam desain) — indikator tersebut hanya berfungsi dengan lampu latar
- FSTN Positif, TN Positif, HTN Positif - dengan atau tanpa lampu latar
Indikator LCD Cina yang digunakan tidak memiliki alfabet Sirilik bawaan, oleh karena itu, untuk kejelasan menampilkan hari dalam seminggu pada indikator, karakter khusus ditulis ke dalam RAM generator karakter (CGRAM) - “P”, “n” , “t”, “H”, “b” dan dua karakter dalam bentuk kebalikan “D” dan “U”.

Papan sirkuit tercetak dari termometer dan jam dua saluran

Desainnya dirakit pada papan sirkuit cetak satu sisi, semua bagian yang digunakan adalah "output"
Papan sirkuit tercetak perangkat dibuat dalam program.
Ada tiga jumper di papan - P1, P2, P3
Resonator kuarsa dipasang "berbaring" di papan; badan resonator disolder dengan jumper ke bantalan kontak di papan di bawah resonator.

Deskripsi pengoperasian termometer dan jam dua saluran

Dasar dari desain "D" termometer dua saluran, jam" adalah mikrokontroler ATmega8 dalam paket DIP dengan frekuensi jam 1 MHz dari osilator internal dengan sirkuit RC internal. Pengaturan bit FUSE adalah default, tidak perlu mengubah apa pun.
Chip jam waktu nyata digunakan untuk menentukan waktu saat ini DS1307, yang menghitung detik, menit, jam, tanggal bulan, bulan, hari dalam seminggu dan tahun dengan kompensasi tahun kabisat berlaku hingga tahun 2100.
Hanya yang berikut ini yang ditampilkan:
- waktu saat ini - jam dan menit
- tanggal bulan
- bulan
- hari dalam seminggu
Dua sensor suhu digital digunakan sebagai sensor suhu DS18В20, yang memungkinkan Anda mengukur suhu saat ini mulai dari -45 derajat hingga +125 derajat Celcius dengan akurasi 0,5 derajat.
Suhu saat ini dari setiap sensor ditampilkan dengan resolusi 0,1 °C
Sebelum nilai setiap suhu, simbol “D” dan “U” ditampilkan dalam bentuk terbalik:
- "D" - suhu di dalam rumah
— “U” — suhu luar

Operasi program diatur oleh interupsi luapan dari pengatur waktu T1 yang terjadi setiap 4 detik. Waktu saat ini diperbarui setiap 4 detik, suhu saat ini dari sensor diperbarui secara bergantian, setiap 4 detik.

Perangkat ini diberi daya dari sumber listrik 5 Volt yang stabil, dapat Anda gunakan pengisi daya dari ponsel, atau sumber daya otonom - baterai. Konsumsi arus tergantung pada kecerahan lampu latar (nilai resistor R3) dan dalam kasus tertentu adalah 12 mA.

Perangkat ini dikendalikan oleh dua tombol:
— S1 — “Seleksi”
— S2 — “Instalasi”

Saat perangkat dihidupkan untuk pertama kali (atau setiap kali dihidupkan tanpa adanya catu daya cadangan DS1307 - BAT1), perangkat masuk ke mode instalasi "Penuh". Dalam hal ini, perlu untuk mengatur tahun, bulan, tanggal, hari dalam seminggu dan waktu saat ini - jam dan menit. Dalam mode ini, informasi penjelasan tidak diterjemahkan ke dalam bahasa Rusia (tidak seperti indikasi hari dalam seminggu), semua penjelasan ditampilkan dalam bahasa Inggris ( instalasi penuh Ini sangat jarang diproduksi, tidak sulit untuk dipahami):

Menetapkan Tahun:
Kursor berkedip berbentuk persegi panjang putih menunjukkan di mana dan apa yang perlu dimasukkan:
— dengan tombol “Instal” — kami menyetelnya ke puluhan tahun
- menggunakan tombol "Pilih" - lanjutkan ke pengaturan satuan tahun
— menggunakan tombol “Pengaturan” — mengatur nilai satuan tahun
— dengan tombol “Pilih” — lanjutkan ke pengaturan berikutnya

Menyetel bulan menjadi “Bulan”
- mirip dengan pengaturan tahun

Menetapkan hari dalam bulan “Data”:
- mirip dengan pengaturan tahun

Menetapkan hari dalam seminggu “Minggu”:
- mirip dengan pengaturan tahun, dengan - 1 - Sen, 2 - Sel, 3 - Rab, 4 - Kam, 5 - Jum, 6 - Sab, 7 - Sun

Menyetel waktu saat ini “Jam_Menit”
Misalnya, waktu saat ini adalah 17 jam 39 menit:
— dengan tombol “Instal” — kita atur puluhan jam — 1
— menggunakan tombol “Pilih” — lanjutkan ke pengaturan satuan jam
— menggunakan tombol “Pengaturan” — mengatur satuan jam — 7
— dengan tombol “Pilih” — masuk ke pengaturan puluhan menit — 4
— menggunakan tombol “Pengaturan” — atur satuan menit ke -0
— detik sudah ditunjukkan pada tampilan sebagai “00”
— tepat pada 17 jam 40 menit tekan tombol “Pilih” dan waktu saat ini 17 jam 40 menit 00 detik akan direkam di DS1307

Dalam mode pengoperasian, tombol “Pilih” dan “Instal” memungkinkan Anda beralih ke mode berikut:
Tombol pilih— koreksi waktu (dalam hal ini, hanya waktu saat ini “Jam_Menit” yang diatur seperti dijelaskan di atas)
tombol "Instal".- Instalasi "Penuh".
Untuk masuk modus yang diinginkan Anda harus menekan tombol yang sesuai dan menahannya hingga tampilan layar bersih. Setelah membersihkan tampilan, lepaskan tombol dan setelah beberapa saat kita beralih ke mode yang dipilih.

Desain dikembangkan dan diuji pada papan tempat memotong roti; tidak dirakit secara perangkat keras.
Ada banyak komentar tentang perangkat yang tidak berfungsi dan papan sirkuit tercetak tidak sesuai dengan diagram sirkuit.
Diputuskan untuk membuat ulang perangkat di perangkat keras.
Di bawah ini adalah foto perangkat rakitan menurut sirkuit, papan sirkuit tercetak, dan firmware yang dipublikasikan di halaman ini.
Perangkat segera mulai bekerja, tidak ada masalah yang terlihat.
Papan sirkuit tercetak dibuat menggunakan metode LUT. Karena kesalahan dalam memasang sirkuit mikro di papan, sirkuit tersebut harus disolder dan diatur ulang (dan ada lubang di wanita tua itu), yang menyebabkan kerusakan pada konduktor sirkuit tercetak dan, sebagai akibatnya, - penampilan Kurang bagus, jumper P2 dipasang pada bagian samping konduktor yang dicetak (tidak dilubangi), sensor DS1 dihubungkan dengan kabel yang panjangnya kurang lebih 1 meter (sehingga pada ketinggian sekitar 30 cm dari lantai, sensor DS2 dihubungkan dengan kabel sepanjang 5 meter dan ditempatkan di luar jendela. Konektor untuk menghubungkan sensor diambil dari pendingin komputer lama.

Ada satu masalah - RTC DS1307 tidak langsung menyala, alasannya adalah damar di antara pin kuarsa. Setelah mencuci papan, jam mulai bekerja.

(10,8 KiB, 1.995 hit)

(27,3 KiB, 1.473 hit)

(390,1 KiB, 1.296 hit)

(51,7 KiB, 2.494 hit)

Unduh dari YandexDisk (selain itu - lembar data dalam bahasa Rusia)

Anda dapat memesan semua bagian yang diperlukan untuk merakit "Termometer saluran ganda, jam pada ATmega8, DS18B20, Ds1307", termasuk mikrokontroler yang diprogram di toko daring lokasi