Jam besar DIY pada mikropengawal avr. Jam digital pelbagai fungsi pada mikropengawal Attmega8. Gambar rajah dan penerangan. Menetapkan masa semasa, penggera dan loceng setiap jam

Jam penggera ini berdasarkan cip jam masa nyata, yang membolehkannya beroperasi sumber sandaran makanan jika tiada makanan asas. Tetapkan masa jam penggera dan mod pengendalian disimpan dalam memori tidak meruap mikropengawal. Mod paparan - 24 jam. Mengandungi tiruan "berdetik". Masa dan mod operasi ditunjukkan menggunakan penunjuk LED.

Prinsip operasi

Asas jam ini ialah litar mikro DS1307 - jam masa nyata yang bertukar maklumat dengan pengawal kawalan melalui antara muka I2C. Penunjuk masa dijalankan melalui 4 penunjuk 7-segmen yang beroperasi dalam mod dinamik. Memasuki dan melaraskan masa dilakukan menggunakan 5 butang: "+ minit", "+ jam", "set", "penggera" dan "set semula". Isyarat bunyi jam penggera dikeluarkan melalui pemancar piezo standard dan merupakan isyarat dengan frekuensi 1 kHz dengan jeda kedua.

Atmega48 dipilih sebagai kawalan mikropengawal kerana ketersediaannya dan kehadiran peranti yang diperlukan di atas kapal (walaupun berlebihan). Jam masa nyata DS1307 disambungkan kepada output perkakasan I2C pengawal mikro kawalan. Untuk mengendalikan DS1307 dalam mod bersendirian (sekiranya berlaku kegagalan kuasa pengawal utama), gunakan bateri litium Bekalan kuasa sandaran 3V, yang akan bertahan selama beberapa tahun disebabkan oleh penggunaan kuasa yang rendah litar mikro.

Mari kita lihat lebih dekat pada program kawalan:

Program ini berfungsi berdasarkan prinsip mesin pemasa bendera: semua keadaan dan peristiwa diwakili dalam bentuk bendera yang sepadan, dilaksanakan dalam gangguan pemasa yang sepadan 1s, 1ms dan 263.17ms. Program ini menggunakan 2 pemasa perkakasan.

Cip jam ditinjau dan butang ditekan pada selang 263.17ms. Selang 1ms digunakan untuk menjana isyarat bunyi panggilan, dan 1s - untuk modulasinya. Selang kedua juga mengawal kelipan titik dalam digit ke-2 penunjuk, memisahkan jam dan minit dan juga berfungsi sebagai pembentukan "tanda".
Mari kita pertimbangkan gambarajah skematik Jam.

Jawatan dan denominasi:
S4 - Peningkatan jam
S3 - Tambah minit
S2 - Pemasangan
S1 - Hidupkan penggera
S5 - Tetapkan semula

R6-R10 - 10k
R1-R5 - 510ohm

Voltan bekalan - 5 volt.

Persediaan dan penggunaan

Jam tangan yang dipasang dengan betul tetapan tambahan tidak perlu. Anda hanya perlu memasang masa semasa dan jam penggera.
Menetapkan masa semasa adalah seperti berikut:
1) Gunakan butang S1 dan S2 untuk menetapkan masa semasa (titik antara digit tidak berkelip)
2) Mulakan jam dengan butang S3
Menetapkan penggera:
1) Tekan S3 dan pastikan titik dalam digit pertama menyala
2) Tetapkan masa panggilan menggunakan butang S1 dan S2
3) Hidupkan panggilan menggunakan butang S4
Ciri-ciri tambahan:
Hidupkan berdetik - tahan S4 dan tekan S2 sehingga bunyi ciri muncul. Ia dimatikan dengan cara yang sama.
Paparkan minit dan saat - tahan S4 dan tekan S1. Jika anda menekan S3 selepas ini, detik akan ditetapkan semula kepada 00. Kembali - gabungan yang sama.

Foto dan video jam tangan

Jam itu dipasang dalam bekas yang diperbuat daripada "elektronik" yang tidak berfungsi.


Saya bercadang untuk mengulangi litar jam elektronik pada mikropengawal ATmega 8, dengan maklumat yang dipaparkan oleh LED besar. Jam kerja, diuji. Perisian tegar untuk masa ini sedang dimuktamadkan. Papan yang lebih besar sedang dibuat, yang akan berada pada jarak 5 meter dari blok utama. Terdapat juga petunjuk pada blok utama - untuk menduplikasi papan besar. Gambarajah skematik jam yang dipimpin ditunjukkan dalam rajah - klik untuk membesarkan.

Perihalan peranti

1. Fungsi.
1.1 Jam. Format paparan masa ialah 24 jam. Pembetulan digital ketepatan strok.


1.2 Termometer. Pengukuran suhu daripada dua penderia dalam julat -55.0 oC - 125.0 oC.


1.3 Paparan maklumat secara bergantian pada penunjuk.
1.4 Kawalan sumber kuasa utama.
1.5 Menggunakan memori tidak meruap mikropengawal untuk menyimpan tetapan dan tetapan apabila kuasa dimatikan.
1.6 Tiga butang untuk pemasangan dan konfigurasi: TAMBAH, TOLAK, SET.

Operasi peranti

Apabila anda menghidupkannya buat kali pertama, skrin percikan pengiklanan muncul pada paparan selama 1 saat. Kemudian paparan masa.
Klik pada TETAPKAN MASA menggerakkan penunjuk dalam bulatan daripada mod jam tangan utama (memaparkan masa semasa):
– mod paparan untuk minit dan saat. Jika dalam mod ini anda menekan butang secara serentak TAMBAH Dan TOLAK, maka detik akan ditetapkan semula.
– menetapkan minit masa semasa.
– menetapkan jam masa semasa.
– jumlah pembetulan harian ketepatan jam. Simbol c dan nilai pembetulan. Menetapkan had -25?25 saat. Nilai yang dipilih akan ditambah/ditolak daripada masa semasa setiap hari pada 0 jam 0 minit dan 30 saat.
- simbol t. Tetapkan tempoh paparan jam.
- simbol i. Masa paparan untuk simbol paparan suhu dalaman ( int).
- simbol d. menetapkan masa penunjuk suhu daripada penderia dalaman.
- simbol o. Masa paparan simbol penunjuk suhu luaran ( keluar).
- simbol u. menetapkan masa paparan suhu daripada sensor luaran.
- simbol P. menetapkan masa paparan screensaver pengiklanan.
Menetapkan had untuk masa paparan 0-60 saat. Jika ditetapkan kepada 0, parameter ini tidak dipaparkan pada penunjuk. Jika semua parameter ditetapkan kepada 0, penunjuk akan menunjukkan jam.

Menetapkan jam

3.1 Dalam semua mod, tahan butang TAMBAH/TOLAK Pemasangan pantas dijalankan.
3.2 Jika tetapan telah ditukar, selepas 10 saat dari peluang terakhir nilai baru akan ditulis ke memori tidak meruap (EEPROM) dan akan dibaca dari sana apabila mula semula pemakanan. Penunjuk akan bertukar kepada mod masa utama.
3.3 Tetapan baharu berkuat kuasa semasa pemasangan.

Kawalan kuasa

Pengawal mikro memantau kehadiran kuasa utama. Apabila ia dimatikan, peranti dikuasakan daripada sumber dalaman. Untuk mengurangkan penggunaan semasa, penunjuk, penderia dan butang dimatikan. Jam terus mengira masa. Apabila kuasa dibekalkan daripada sumber utama, semua fungsi dipulihkan.


Pada masa ini, papan litar bercetak sedang dibangunkan, litar sedang diperbetulkan, dan ini boleh dilakukan secara kolektif. Jika anda mempunyai idea dan cadangan untuk menambah baik jam tangan, tulis di forum. Pengarang reka bentuk: Aleksandrovich & SOIR (Soir&C.E.A)

Seperti namanya, tujuan utama peranti ini- ketahui masa dan tarikh semasa. Tetapi ia mempunyai banyak lagi fungsi yang berguna. Idea penciptaannya muncul selepas saya terjumpa jam tangan separuh patah dengan jam yang agak besar (untuk pergelangan tangan) badan logam. Saya fikir saya boleh meletakkannya di sana jam tangan buatan sendiri, kemungkinan yang terhad hanya oleh imaginasi dan kemahiran anda sendiri. Hasilnya ialah peranti dengan fungsi berikut:

1. Jam - kalendar:

    Mengira dan memaparkan jam, minit, saat, hari dalam seminggu, hari, bulan, tahun.

    Ketersediaan pelarasan automatik masa semasa, yang dilakukan setiap jam ( nilai maksimum+/-9999 unit, 1 unit. = 3.90625 ms.)

    Mengira hari dalam seminggu dari tarikh (untuk abad semasa)

    Peralihan automatik untuk musim panas dan musim sejuk (boleh dimatikan)

  • Tahun lompat diambil kira

2. Dua jam penggera bebas (melodi berbunyi apabila dicetuskan)
3. Pemasa dengan kenaikan 1 saat. (Masa pengiraan maksimum 99j 59m 59s)
4. Jam randik dua saluran dengan resolusi pengiraan 0.01 saat. ( masa maksimum kiraan 99j 59m 59s)
5. Jam randik dengan resolusi mengira 1 saat. (masa pengiraan maksimum 99 hari)
6. Termometer dalam julat dari -5°C. sehingga 55°C (terhad oleh julat suhu Operasi biasa peranti) dalam kenaikan 0.1°C.
7. Pembaca dan emulator kunci elektronik- tablet jenis DS1990 menggunakan protokol Dallas 1-Wire (memori untuk 50 keping, yang sudah mengandungi beberapa "kunci semua rupa bumi") dengan keupayaan untuk melihat kod kunci bait demi bait.
8. Jauh kawalan pada sinar IR (hanya arahan "Ambil foto" dilaksanakan) untuk kamera digital"Pentax", "Nikon", "Canon"
9. Lampu suluh LED
10. 7 melodi
11. Isyarat bunyi pada awal setiap jam (boleh dimatikan)
12. Pengesahan bunyi penekanan butang (boleh dimatikan)
13. Pemantauan voltan bateri dengan fungsi penentukuran
14. Pelarasan kecerahan penunjuk digital

Mungkin fungsi sedemikian adalah berlebihan, tetapi saya suka perkara universal, dan ditambah dengan kepuasan moral bahawa jam tangan ini akan dibuat dengan tangan saya sendiri.

Gambarajah skematik jam

Peranti ini dibina pada mikropengawal ATmega168PA-AU. Jam berdetik mengikut pemasa T2, beroperasi dalam mod tak segerak daripada kuarza jam pada 32768 Hz. Mikropengawal berada dalam mod tidur hampir sepanjang masa (penunjuk dimatikan), bangun sekali sesaat untuk menambah detik ini pada masa semasa dan tertidur semula. Dalam mod aktif, MK dicatatkan dari pengayun RC dalaman pada 8 MHz, tetapi prascaler dalaman membahagikannya dengan 2, akibatnya, teras diclock pada 4 MHz. Untuk petunjuk, empat penunjuk tujuh segmen digital LED satu digit dengan anod sepunya dan titik perpuluhan digunakan. Terdapat juga 7 status LED, tujuannya adalah seperti berikut:
D1- Tanda nilai negatif (tolak)
D2- Tanda jam randik yang sedang berjalan (berkelip)
D3- Tanda penggera pertama dihidupkan
D4- Tanda penggera kedua dihidupkan
D5- Tanda isyarat bunyi pada awal setiap jam
D6- Tanda pemasa berjalan (berkelip)
D7- Tandatangan voltan rendah bateri kuasa

R1-R8 - perintang pengehad arus bagi segmen penunjuk digital HG1-HG4 dan LED D1-D7. R12,R13 – pembahagi untuk memantau voltan bateri. Oleh kerana voltan bekalan jam ialah 3V, dan LED putih D9 memerlukan kira-kira 3.4-3.8V pada penggunaan arus undian, ia tidak bersinar pada kekuatan penuh (tetapi ia cukup untuk tidak tersandung dalam gelap) dan oleh itu disambungkan tanpa perintang mengehadkan arus. Elemen R14, Q1, R10 direka untuk mengawal D8 LED inframerah (pelaksanaan alat kawalan jauh untuk kamera digital). R19, ​​​​R20, R21 digunakan untuk berpasangan apabila berkomunikasi dengan peranti yang mempunyai antara muka 1-Wayar. Kawalan dijalankan oleh tiga butang, yang saya panggil secara konvensional: MOD (mod), UP (atas), BAWAH (bawah). Yang pertama daripada mereka juga direka bentuk untuk membangunkan MK dengan gangguan luaran (dalam kes ini petunjuk dihidupkan), jadi ia disambungkan secara berasingan ke input PD3. Penekanan butang yang tinggal ditentukan menggunakan ADC dan perintang R16, R18. Jika butang tidak ditekan dalam masa 16 saat, MK akan tidur dan penunjuk padam. Apabila dalam mod “Kawalan jauh untuk kamera” selang ini ialah 32 saat, dan dengan lampu suluh dihidupkan - 1 minit. MK juga boleh ditidurkan secara manual menggunakan butang kawalan. Apabila jam randik berjalan dengan resolusi kiraan 0.01 saat. Peranti tidak masuk ke mod tidur.

Papan litar bercetak

Peranti dipasang pada papan litar bercetak dua muka berbentuk bulat mengikut saiz diameter dalaman kes itu jam tangan. Tetapi dalam pengeluaran saya menggunakan dua papan satu sisi dengan ketebalan 0.35 mm. Ketebalan ini sekali lagi diperoleh dengan mengelupasnya daripada lamina gentian kaca dua muka dengan ketebalan 1.5 mm. Papan itu kemudiannya dilekatkan bersama. Semua ini dilakukan kerana saya tidak mempunyai gentian kaca dua belah nipis, dan setiap milimeter ketebalan yang disimpan dalam ruang dalaman terhad kotak jam tangan adalah sangat berharga, dan tidak ada keperluan untuk penjajaran dalam pembuatan konduktor bercetak menggunakan LUT kaedah. Melukis papan litar bercetak dan lokasi bahagian adalah dalam fail yang dilampirkan. Di satu sisi terdapat penunjuk dan perintang pembatas arus R1-R8. Di belakang adalah semua butiran lain. Terdapat dua lubang melalui untuk LED putih dan inframerah.

Sesentuh butang dan pemegang bateri diperbuat daripada keluli kepingan spring fleksibel dengan ketebalan 0.2...0.3 mm. dan tin. Di bawah adalah gambar papan dari kedua-dua belah pihak:

Reka bentuk, bahagian dan kemungkinan penggantiannya

Mikropengawal ATmega168PA-AU boleh digantikan dengan ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Penunjuk digital- 4 keping KPSA02-105 cahaya merah sangat terang dengan ketinggian digit 5.08mm. Boleh dibekalkan daripada siri yang sama KPSA02-xxx atau KCSA02-xxx. (hanya bukan yang hijau - mereka akan bercahaya samar-samar) Saya tidak mengetahui analog lain yang mempunyai saiz yang sama dengan kecerahan yang baik. Dalam HG1, HG3, sambungan segmen katod berbeza daripada HG2, HG4, kerana ia lebih mudah bagi saya untuk pendawaian papan litar bercetak. Dalam hal ini, jadual penjana aksara yang berbeza digunakan untuk mereka dalam program ini. Perintang dan kapasitor terpakai SMD untuk pemasangan permukaan saiz standard 0805 dan 1206, LED D1-D7 saiz standard 0805. LED putih dan inframerah dengan diameter 3 mm. Papan mempunyai 13 lubang melalui mana pelompat mesti dipasang. Sebagai Pengesan suhu DS18B20 dengan antara muka 1-Wayar digunakan. LS1 ialah tweeter piezoelektrik biasa, dimasukkan ke dalam penutup. Dengan satu sentuhan ia disambungkan ke papan menggunakan spring yang dipasang di atasnya, dengan yang lain ia disambungkan ke badan jam tangan dengan penutup itu sendiri. Resonator kuarza daripada jam tangan.

Pengaturcaraan, perisian tegar, fius

Untuk pengaturcaraan dalam litar, papan hanya mempunyai 6 titik sentuhan bulat (J1), kerana penyambung penuh tidak sesuai dengan ketinggian. Saya menyambungkannya kepada pengaturcara menggunakan peranti kenalan yang diperbuat daripada palam pin PLD2x3 dan pegas yang dipateri padanya, menekannya dengan satu tangan ke bintik-bintik. Di bawah ialah foto peranti.

Saya menggunakannya kerana semasa proses penyahpepijatan saya terpaksa mengemas semula MK berkali-kali. Apabila memasang perisian tegar sekali, lebih mudah untuk menyolder wayar nipis yang disambungkan kepada pengaturcara ke patch, dan kemudian menyahpaterinya semula. Ia lebih mudah untuk menyalakan MK tanpa bateri, tetapi supaya kuasa datang sama ada dari sumber luar+3V, atau daripada pengaturcara dengan voltan bekalan yang sama. Program ini ditulis dalam pemasang dalam persekitaran VMLAB 3.15. Kod sumber, perisian tegar untuk FLASH dan EEPROM dalam aplikasi.

Bit FUSE mikropengawal DD1 mesti diprogramkan seperti berikut:
CKSEL3...0 = 0010 - masa dari pengayun RC dalaman 8 MHz;
SUT1...0 =10 - Masa mula: 6 CK + 64 ms;
CKDIV8 = 1 - pembahagi kekerapan sebanyak 8 dinyahdayakan;
CKOUT = 1 - Jam Output pada CKOUT dinyahdayakan;
BODLEVEL2…0 = 111 - kawalan voltan bekalan dinyahdayakan;
EESAVE = 0 - memadam EEPROM apabila pengaturcaraan kristal adalah dilarang;
WDTON = 1 - No sentiasa hidup Pemasa Anjing Pemerhati;
Bit FUSE yang tinggal sebaiknya dibiarkan tanpa disentuh. Bit FUSE diprogramkan jika ditetapkan kepada "0".

Memerlukan EEPROM dengan tempat pembuangan yang disertakan dalam arkib.

Sel EEPROM pertama mengandungi parameter awal peranti. Jadual di bawah menerangkan tujuan sesetengah daripadanya, yang boleh diubah dalam had yang munasabah.

Alamat sel

Tujuan

Parameter

Catatan

Jumlah voltan bateri di mana isyarat tahap rendah berlaku

260 ($104) (2.6V)

pekali untuk membetulkan nilai voltan bateri yang diukur

selang masa untuk bertukar kepada mod tidur

1 unit = 1 saat

selang masa untuk bertukar kepada mod tidur apabila lampu suluh dihidupkan

1 unit = 1 saat

selang masa untuk bertukar kepada mod tidur apabila dalam mod kawalan jauh untuk kamera

1 unit = 1 saat

Nombor kunci IButton disimpan di sini

Penjelasan kecil tentang perkara:

1 mata. Ini menunjukkan tahap voltan pada bateri di mana LED akan menyala, menunjukkan nilainya rendah. Saya menetapkannya kepada 2.6V (parameter - 260). Jika anda memerlukan sesuatu yang lain, contohnya 2.4V, maka anda perlu menulis 240 ($00F0). Bait rendah disimpan dalam sel pada alamat $0000 dan bait tinggi disimpan dalam $0001.

2 mata. Memandangkan saya tidak memasang perintang boleh ubah pada papan untuk melaraskan ketepatan pengukuran voltan bateri kerana kekurangan ruang, saya memperkenalkan penentukuran perisian. Prosedur penentukuran untuk ukuran yang tepat seterusnya: pada mulanya, pekali 1024 ($400) ditulis dalam sel EEPROM ini, anda perlu menukar peranti ke mod aktif dan melihat voltan pada penunjuk, dan kemudian mengukur voltan sebenar pada bateri dengan voltmeter. Faktor pembetulan (K), yang mesti ditetapkan, dikira dengan formula: K=Uр/Ui*1024 di mana Uр ialah voltan sebenar yang diukur oleh voltmeter, Ui ialah voltan yang diukur oleh peranti itu sendiri. Selepas mengira pekali "K", ia dimasukkan ke dalam peranti (seperti yang dinyatakan dalam arahan pengendalian). Selepas penentukuran, ralat saya tidak melebihi 3%.

3 mata. Di sini anda boleh menetapkan masa selepas itu peranti akan masuk ke mod tidur jika tiada butang ditekan. Tambang berharga 16 saat. Jika, sebagai contoh, anda perlu tertidur dalam 30 saat, maka anda perlu menulis 30 ($26).

Dalam mata 4 dan 5 sama.

6 mata. Di alamat $0030 kod keluarga kunci sifar (Dallas 1-Wire) disimpan, kemudian nombor 48-bit dan CRCnya. Dan seterusnya 50 kekunci dalam urutan.

Persediaan, ciri pengendalian

Penyediaan peranti adalah untuk menentukur pengukuran voltan bateri, seperti yang diterangkan di atas. Ia juga perlu untuk mengesan sisihan kadar jam selama 1 jam, mengira dan masukkan nilai pembetulan yang sesuai (prosedur diterangkan dalam arahan pengendalian).

Peranti ini dikuasakan oleh bateri litium CR2032 (3V) dan menggunakan kira-kira 4 µA dalam mod tidur, dan 5...20 mA dalam mod aktif, bergantung pada kecerahan penunjuk. Dengan penggunaan lima minit setiap hari mod aktif Bateri harus bertahan lebih kurang 2...8 bulan bergantung pada kecerahan. Bekas jam tangan disambungkan kepada negatif bateri.

Bacaan utama telah diuji pada DS1990. Emulasi telah diuji pada interkom METAKOM. Di bawah nombor siri dari 46 hingga 49 (4 terakhir) dinyalakan (semua kekunci disimpan dalam EEPROM, ia boleh ditukar sebelum berkelip) kekunci universal untuk interkom. Kunci yang didaftarkan di bawah nombor 49 membuka semua interkom METAKOM yang saya temui, saya tidak mempunyai peluang untuk menguji kunci universal yang lain, saya mengambil kod mereka dari rangkaian.

Alat kawalan jauh untuk kamera telah diuji pada model Pentax optio L20 dan Nikon D3000. Canon tidak dapat diperoleh untuk semakan.

Manual pengguna mengandungi 13 halaman, jadi saya tidak memasukkannya ke dalam artikel, tetapi memasukkannya ke dalam lampiran dalam format PDF.

Arkib mengandungi:
Skim masuk dan GIF;
Lukisan papan litar bercetak dan susunan elemen dalam format;
Perisian tegar dan kod sumber dalam pemasang;

Senarai unsur radio

Jawatan taip Denominasi Kuantiti CatatanKedaipad nota saya
DD1 MK AVR 8-bit

ATMega168PA

1 PA-AU Ke pad nota
U2 Pengesan suhu

DS18B20

1 Ke pad nota
S1 transistor MOSFET

2N7002

1 Ke pad nota
C1, C2 Kapasitor30 pF2 Ke pad nota
C3, C4 Kapasitor0.1 µF2 Ke pad nota
C5 Kapasitor elektrolitik47 µF1 Ke pad nota
R1-R8, R17 Perintang

100 Ohm

9 Ke pad nota
R9 Perintang

10 kOhm

1 Ke pad nota
R10 Perintang

8.2 Ohm

1 Ke pad nota
R11 Perintang

300 Ohm

1 Ke pad nota
R12 Perintang

2 MOhm

1 Ke pad nota
R13 Perintang

220 kOhm

1 Ke pad nota
R14 Perintang

30 kOhm

1 Ke pad nota
R15, R19 Perintang

4.7 kOhm

2 Ke pad nota
R16 Perintang

20 kOhm

1

Gambar rajah litar elektrik

Satu peranti menggabungkan dua fungsi: ukuran sebenar suhu dan masa (jam). Paparan dilakukan secara bergilir-gilir, berubah setiap sepuluh saat. Untuk menetapkan jam, dua butang digunakan, serupa dengan butang Cina yang ringkas jam elektronik: seseorang bertanggungjawab untuk memilih parameter, yang kedua untuk mengubahnya. Peranti dikuasakan daripada rangkaian menggunakan sumber arus stabil yang malar dengan voltan lima volt (papan dari pengecas telefon).

Penderia suhu ialah cip DS18B20. Memandangkan peranti Jam-Termometer tidak mempunyai bateri sendiri, jika kuasa hilang, bacaan akan hilang secara semula jadi. Dan supaya ini tidak menyebabkan seseorang terlewat untuk perkara penting, terdapat "helah" yang menarik - apabila kuasa digunakan, sempang akan dipaparkan pada paparan dan bukannya masa sehingga anda menekan salah satu daripada dua butang tetapan.

Badan meter suhu buatan sendiri adalah kotak manset yang sesuai. Papan termometer jam itu sendiri dan papan yang dikeluarkan dari pengecas telefon diletakkan di dalamnya. Sensor DS18B20 dibuat jauh dan disambungkan melalui penyambung.

Senarai bahagian yang diperlukan

  • Pengawal mikro Atmega8 - 1 pc.
  • Kuarza 32768 Hz - 1 pc.
  • Penderia suhu DS18B20 - 1 pc.
  • Penunjuk tujuh segmen (4 digit) - 1 pc.
  • Saiz perintang SMD 0805:
  • 620 Ohm - 8 keping.
  • 0 Ohm (jumper) - 1 pc.
  • 4.7 kOhm - 1 pc.
  • Butang kebijaksanaan - 2 pcs.

Video peranti pada saluran YouTube

Jam penggera ini adalah berdasarkan cip jam masa nyata, yang membolehkan ia beroperasi daripada sumber kuasa sandaran jika tiada yang utama. Masa penggera yang ditetapkan dan mod pengendalian disimpan dalam memori tidak meruap mikropengawal. Mod paparan - 24 jam. Mengandungi tiruan "berdetik". Masa dan mod operasi ditunjukkan menggunakan penunjuk LED.

Prinsip operasi

Asas jam ini ialah litar mikro DS1307 - jam masa nyata yang bertukar maklumat dengan pengawal kawalan melalui antara muka I2C. Penunjuk masa dijalankan melalui 4 penunjuk 7-segmen yang beroperasi dalam mod dinamik. Memasuki dan melaraskan masa dilakukan menggunakan 5 butang: "+ minit", "+ jam", "set", "penggera" dan "set semula". Isyarat bunyi jam penggera dikeluarkan melalui pemancar piezo standard dan merupakan isyarat dengan frekuensi 1 kHz dengan jeda kedua.

Atmega48 dipilih sebagai kawalan mikropengawal kerana ketersediaannya dan kehadiran peranti yang diperlukan di atas kapal (walaupun berlebihan). Jam masa nyata DS1307 disambungkan kepada output perkakasan I2C pengawal mikro kawalan. Untuk mengendalikan DS1307 dalam mod bersendirian (sekiranya berlaku kegagalan kuasa pada pengawal utama), bateri litium 3V digunakan untuk kuasa sandaran, yang akan bertahan selama beberapa tahun disebabkan penggunaan kuasa cip yang rendah.

Mari kita lihat lebih dekat pada program kawalan:

Program ini berfungsi berdasarkan prinsip mesin pemasa bendera: semua keadaan dan peristiwa diwakili dalam bentuk bendera yang sepadan, dilaksanakan dalam gangguan pemasa yang sepadan 1s, 1ms dan 263.17ms. Program ini menggunakan 2 pemasa perkakasan.

Cip jam ditinjau dan butang ditekan pada selang 263.17ms. Selang 1ms digunakan untuk menjana isyarat bunyi loceng, dan 1s digunakan untuk memodulasinya. Selang kedua juga mengawal kelipan titik dalam digit ke-2 penunjuk, memisahkan jam dan minit dan juga berfungsi sebagai pembentukan "tanda".
Mari lihat gambarajah skematik jam.

Jawatan dan denominasi:
S4 - Peningkatan jam
S3 - Tambah minit
S2 - Pemasangan
S1 - Hidupkan penggera
S5 - Tetapkan semula

R6-R10 - 10k
R1-R5 - 510ohm

Voltan bekalan - 5 volt.

Persediaan dan penggunaan

Jam tangan yang dipasang dengan betul tidak memerlukan pelarasan tambahan. Anda hanya perlu menetapkan masa dan penggera semasa.
Menetapkan masa semasa adalah seperti berikut:
1) Gunakan butang S1 dan S2 untuk menetapkan masa semasa (titik antara digit tidak berkelip)
2) Mulakan jam dengan butang S3
Menetapkan penggera:
1) Tekan S3 dan pastikan titik dalam digit pertama menyala
2) Tetapkan masa panggilan menggunakan butang S1 dan S2
3) Hidupkan panggilan menggunakan butang S4
Ciri-ciri tambahan:
Hidupkan berdetik - tahan S4 dan tekan S2 sehingga bunyi ciri muncul. Ia dimatikan dengan cara yang sama.
Paparkan minit dan saat - tahan S4 dan tekan S1. Jika anda menekan S3 selepas ini, detik akan ditetapkan semula kepada 00. Kembali - gabungan yang sama.

Foto dan video jam tangan

Jam itu dipasang dalam bekas yang diperbuat daripada "elektronik" yang tidak berfungsi.