Cara membuat jam LED dengan tangan Anda sendiri. Jam tangan DIY dengan tampilan LED

20 Agustus 2015 pukul 12:34 siang

Jam tangan elektronik buatan sendiri, komponen - bagian 1, pengukuran waktu

  • DIY atau Lakukan Sendiri

Mungkin setiap geek yang menyukai barang elektronik buatan sendiri cepat atau lambat akan memiliki ide untuk membuat jam tangan uniknya sendiri. Idenya cukup bagus, mari kita cari tahu bagaimana dan apa cara terbaik untuk membuatnya. Sebagai titik awal, kita akan berasumsi bahwa seseorang mengetahui cara memprogram mikrokontroler, memahami cara mengirim 2 byte melalui i2c atau port serial, dan dapat menyolder beberapa kabel menjadi satu. Pada prinsipnya, ini sudah cukup.

Jelas bahwa fungsi utama jam tangan adalah untuk mengukur waktu (siapa sangka kan?). Dan disarankan untuk melakukan ini seakurat mungkin; ada beberapa pilihan dan kendala.

Lantas, metode pengukuran waktu apa saja yang tersedia di perangkat keras yang bisa kita gunakan?

Osilator CPU RC bawaan

Ide paling sederhana yang terlintas dalam pikiran adalah dengan menyiapkan pengatur waktu perangkat lunak dan menggunakannya untuk menghitung mundur detik. Jadi, ide ini tidak bagus. Jam akan bekerja, tentu saja, tetapi keakuratan generator internal tidak diatur dengan cara apa pun, dan dapat “mengambang” dalam 10% dari nilai nominal. Tidak mungkin ada orang yang membutuhkan jam tangan yang membutuhkan waktu 15 menit sebulan.

Modul waktu nyata DS1307

Pilihan yang lebih tepat, yang juga digunakan di sebagian besar produk “rakyat”, adalah jam waktu nyata. Sirkuit mikro berkomunikasi dengan mikrokontroler melalui I2C dan memerlukan kabel minimum (kuarsa dan sepasang resistor). Harganya sekitar 100 rubel per chip, atau sekitar $1 di eBay untuk papan siap pakai dengan chip, modul memori, dan konektor baterai.

Skema dari datasheet:

Yang tidak kalah pentingnya, sirkuit mikro diproduksi dalam paket DIP, yang berarti setiap amatir radio pemula dapat menyoldernya. Baterai internal membuat jam tangan tetap berjalan meskipun daya dimatikan.

Tampaknya semuanya baik-baik saja, jika bukan karena satu masalah - akurasi rendah. Perkiraan akurasi kuarsa jam tangan adalah 20-30ppm. Sebutan ppm - bagian per juta, menunjukkan jumlah bagian per juta. Tampaknya 20 juta itu super, tetapi untuk frekuensi 32768Hz ternyata 20*32768/1000000 = ±0,65536Hz, mis. sudah setengah hertz. Dengan perhitungan sederhana, dapat dilihat bahwa generator dengan perbedaan per hari “mengklik” 56 ribu siklus tambahan (atau hilang), yang setara dengan 2 detik per hari. Ada berbagai jenis kuarsa, beberapa pengguna juga menulis tentang kesalahan 5 detik per hari. Entah bagaimana itu tidak terlalu akurat - dalam sebulan jam tangan seperti itu akan memakan waktu setidaknya satu menit. Ini sudah merupakan perbedaan yang signifikan, terlihat dengan mata telanjang (ketika serial TV favorit nenek dimulai pukul 11.00, dan jam menunjukkan pukul 11.05, pengembang jam tangan tersebut akan dipermalukan di depan kerabatnya).

Namun, karena suhu di dalam ruangan kurang lebih stabil, dan frekuensi kuarsa tidak akan banyak berubah, Anda dapat menambahkan koreksi perangkat lunak. Saran lain yang diberikan di forum adalah menggunakan jam kuarsa dari motherboard lama; menurut ulasan, mereka cukup akurat.

Modul Waktu Nyata DS3231

Kami bukan orang pertama yang menanyakan pertanyaan tentang keakuratan, dan perusahaan Dallas, mengikuti keinginan tersebut, merilis modul yang lebih canggih - DS3231. Ini disebut "Jam Waktu Nyata yang Sangat Akurat" dan memiliki generator internal dengan koreksi suhu. Akurasinya 10 kali lebih tinggi, dan 2ppm. Harganya sedikit lebih tinggi, tetapi badan chip dirancang untuk pemasangan SMD, penyolderan tidak begitu nyaman, tetapi Anda dapat membeli papan yang sudah jadi di eBay.


(foto dari situs web penjual)

Akurasi 6 detik per bulan sudah merupakan hasil yang bagus. Namun kita akan melangkah lebih jauh - idealnya, jam di abad ke-21 tidak perlu disesuaikan sama sekali.

Modul radio DCF-77

Caranya memang terbilang eksotik, namun demi kelengkapannya tidak bisa diabaikan begitu saja. Hanya sedikit orang yang tahu, tetapi sinyal waktu yang tepat telah dikirimkan melalui radio sejak tahun 70an. Pemancar DCF-77 terletak di Jerman dekat Frankfurt, dan pada frekuensi VHF 77,5 KHz, stempel waktu yang tepat ditransmisikan (ya, mereka sudah memiliki jam dinding dan meja 20 tahun lalu yang tidak perlu disesuaikan).

Hal yang baik tentang metode ini adalah sirkuitnya memiliki konsumsi daya yang rendah, sehingga jam tangan dengan teknologi ini pun kini mulai diproduksi. Papan penerima DCF-77 yang sudah jadi dapat dibeli di ebay, harga yang diminta adalah $20.

Banyak jam tangan dan stasiun cuaca memiliki kemampuan untuk menerima DCF-77, satu-satunya masalah adalah sinyalnya praktis tidak mencapai Rusia. Peta cakupan dari Wikipedia:

Seperti yang Anda lihat, hanya Moskow dan Sankt Peterburg yang berada di perbatasan zona penerimaan. Menurut review dari pemiliknya, hanya kadang-kadang sinyal dapat diterima, yang tentu saja tidak cocok untuk penggunaan praktis.

Modul GPS

Jika jam tangan terletak dekat jendela, maka metode yang sangat realistis untuk mendapatkan waktu yang tepat adalah modul GPS. Modul ini dapat dibeli dengan harga murah di ebay (harga penerbitan $10-15). Misalnya, Ublox NEO-6M terhubung langsung ke pin serial prosesor dan mengeluarkan string NMEA pada kecepatan 9600.

Datanya kira-kira memiliki format berikut: “$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A”, dan menguraikannya tidak sulit bahkan untuk Arduino yang lemah. Omong-omong, patriot dapat membeli modul Ublox NEO-7N yang lebih mahal, yang mendukung (menurut ulasan) GPS dan Glonass.

Tentu saja, modul GPS tidak mengetahui apa pun tentang zona waktu yang berbeda, sehingga pengembang harus memikirkan sendiri penghitungan dan perubahan waktu musim panas/musim dingin. Kerugian lain menggunakan GPS adalah konsumsi daya yang relatif tinggi (namun, beberapa modul dapat dialihkan ke “mode tidur” menggunakan perintah terpisah).

WiFi

Dan terakhir, cara terakhir (dan paling jelas saat ini) untuk mendapatkan waktu yang tepat adalah dengan mengambilnya dari Internet. Ada dua pendekatan di sini. Yang pertama, dan paling sederhana, adalah menggunakan sesuatu seperti Raspberry PI dengan Linux sebagai papan jam, maka Anda tidak perlu melakukan apa pun, semuanya akan berjalan dengan baik. Jika Anda menginginkan sesuatu yang “eksotis”, maka opsi yang paling menarik adalah modul esp8266.

Ini adalah modul WiFi yang murah (harga masalah sekitar 200 rubel di ebay) dapat berkomunikasi dengan server melalui port serial prosesor, jika diinginkan, juga dapat di-reflash (ada cukup banyak firmware pihak ketiga), dan bagian dari logika (misalnya, polling server waktu) dapat dilakukan di modul itu sendiri. Firmware pihak ketiga mendukung banyak hal, mulai dari Lua hingga C++, jadi ada cukup banyak pilihan untuk “melenturkan otak Anda.”

Pada titik ini, topik pengukuran waktu mungkin bisa ditutup. Pada bagian selanjutnya kita akan melihat lebih dekat pada prosesor dan metode keluaran waktu.

Anda dapat menemukan berbagai model dan pilihan jam tangan digital elektronik yang dijual, tetapi kebanyakan dirancang untuk penggunaan di dalam ruangan, karena jumlahnya sedikit. Namun, terkadang jam perlu ditempatkan di jalan - misalnya, di dinding rumah, atau di stadion, alun-alun, yang akan terlihat dari jarak jauh oleh banyak orang. Untuk tujuan ini, rangkaian jam LED besar ini dikembangkan dan berhasil dirakit, di mana Anda dapat menghubungkan (melalui sakelar transistor internal) indikator LED dengan ukuran berapa pun. Anda dapat memperbesar diagram skematik dengan mengkliknya:

Deskripsi jam

  1. Jam tangan. Pada mode ini terdapat tampilan waktu tipe standar. Ada koreksi digital pada akurasi jam.
  2. Termometer. Dalam hal ini, perangkat mengukur suhu ruangan atau udara di luar dari satu sensor. Berkisar dari -55 hingga +125 derajat.
  3. Kontrol catu daya disediakan.
  4. Menampilkan informasi pada indikator secara bergantian - jam dan termometer.
  5. Untuk menyimpan pengaturan dan pengaturan ketika 220V hilang, digunakan memori non-volatile.


Dasar dari perangkat ini adalah ATMega8 MK, yang di-flash dengan mengatur sekering sesuai tabel:

Operasi dan manajemen jam

Saat Anda menyalakan jam tangan untuk pertama kalinya, layar pembuka iklan akan muncul di layar, setelah itu akan beralih untuk menampilkan waktu. Menekan sebuah tombol SET_TIME indikator akan berputar-putar dari mode utama:

  • mode tampilan menit dan detik. Jika pada mode ini anda menekan tombol secara bersamaan PLUS Dan MINUS, maka detik akan diatur ulang;
  • mengatur menit waktu saat ini;
  • mengatur jam waktu saat ini;
  • simbol T. Mengatur durasi tampilan jam;
  • simbol Hai. Tampilan waktu simbol indikasi suhu eksternal (keluar);
  • jumlah koreksi harian akurasi jam. Simbol C dan nilai koreksi. Menetapkan batas dari -25 hingga 25 detik. Nilai yang dipilih akan ditambah atau dikurangi dari waktu saat ini setiap hari pada 0 jam 0 menit 30 detik. Untuk lebih jelasnya, baca instruksi yang ada di arsip bersama firmware dan file papan sirkuit tercetak.

Menyetel jam

Sambil menahan tombol PLUS/MINUS Kami melakukan penetapan nilai yang dipercepat. Setelah mengubah pengaturan apa pun, setelah 10 detik nilai baru akan ditulis ke memori non-volatil dan akan dibaca dari sana saat daya dihidupkan kembali. Pengaturan baru berlaku selama instalasi. Mikrokontroler memantau keberadaan daya utama. Saat dimatikan, perangkat diberi daya dari sumber internal. Diagram modul daya redundan ditunjukkan di bawah ini:


Untuk mengurangi konsumsi arus, indikator, sensor dan tombol dimatikan, namun jam itu sendiri terus menghitung waktu. Segera setelah tegangan listrik 220V muncul, semua fungsi indikasi dipulihkan.


Karena perangkat ini dirancang sebagai jam LED besar, perangkat ini memiliki dua layar: LED besar - untuk jalan raya, dan LCD kecil - untuk memudahkan pengaturan tampilan utama. Layar besar terletak beberapa meter dari unit kontrol dan dihubungkan dengan dua kabel yang terdiri dari 8 kabel. Untuk mengontrol anoda dari indikator indikator eksternal, sakelar transistor digunakan sesuai dengan diagram yang diberikan dalam arsip. Penulis proyek: Alexandrovich & SOIR.

Sesuai dengan namanya, tujuan utama perangkat ini adalah untuk mengetahui waktu dan tanggal saat ini. Namun ia memiliki banyak fitur berguna lainnya. Ide pembuatannya muncul setelah saya menemukan jam tangan yang setengah rusak dengan casing logam yang relatif besar (untuk pergelangan tangan). Saya pikir saya bisa memasukkan jam buatan sendiri di sana, yang kemungkinannya hanya dibatasi oleh imajinasi dan keterampilan saya sendiri. Hasilnya adalah perangkat dengan fungsi sebagai berikut:

1. Jam - kalender:

    Menghitung dan menampilkan jam, menit, detik, hari dalam seminggu, tanggal, bulan, tahun.

    Tersedianya penyesuaian otomatis waktu saat ini, yang dilakukan setiap jam (nilai maksimum +/-9999 unit, 1 unit = 3,90625 ms.)

    Menghitung hari dalam seminggu dari suatu tanggal (untuk abad ini)

    Transisi otomatis antara musim panas dan musim dingin (dapat dimatikan)

  • Tahun kabisat diperhitungkan

2. Dua jam alarm independen (melodi berbunyi saat dipicu)
3. Timer dengan penambahan 1 detik. (Waktu penghitungan maksimum 99 jam 59 menit 59 detik)
4. Stopwatch dua saluran dengan resolusi penghitungan 0,01 detik. (waktu penghitungan maksimum 99 jam 59 menit 59 detik)
5. Stopwatch dengan resolusi penghitungan 1 detik. (waktu penghitungan maksimum 99 hari)
6. Termometer dalam kisaran -5°C. hingga 55°C (dibatasi oleh kisaran suhu pengoperasian normal perangkat) dengan kenaikan 0,1°C.
7. Pembaca dan emulator kunci elektronik - tablet tipe DS1990 menggunakan protokol Dallas 1-Wire (memori untuk 50 buah, yang sudah berisi beberapa "kunci segala medan") universal dengan kemampuan untuk melihat kode kunci byte demi byte .
8. Remote control IR (hanya perintah “Ambil gambar” yang diterapkan) untuk kamera digital “Pentax”, “Nikon”, “Canon”
9. Senter LED
10. 7 melodi
11. Sinyal suara di awal setiap jam (dapat dimatikan)
12. Konfirmasi suara saat tombol ditekan (dapat dimatikan)
13. Pemantauan tegangan baterai dengan fungsi kalibrasi
14. Penyesuaian kecerahan indikator digital

Mungkin fungsi seperti itu mubazir, tapi saya menyukai hal-hal universal, dan ditambah kepuasan moral karena jam tangan ini dibuat dengan tangan saya sendiri.

Diagram skema jam

Perangkat ini dibangun di atas mikrokontroler ATmega168PA-AU. Jam berdetak sesuai dengan pengatur waktu T2, beroperasi dalam mode asinkron dari jam kuarsa pada 32768 Hz. Mikrokontroler berada dalam mode tidur hampir sepanjang waktu (indikator mati), bangun setiap detik untuk menambahkan detik ini ke waktu saat ini dan tertidur lagi. Dalam mode aktif, MK memiliki clock dari osilator RC internal pada 8 MHz, tetapi prescaler internal membaginya dengan 2, sebagai hasilnya, inti memiliki clock pada 4 MHz. Untuk indikasi, digunakan empat indikator tujuh segmen digital LED satu digit dengan anoda umum dan titik desimal. Terdapat juga 7 LED status yang tujuannya sebagai berikut:
D1- Tanda nilai negatif (minus)
D2- Tanda stopwatch sedang berjalan (berkedip)
D3- Tanda jam alarm pertama dinyalakan
D4- Tanda alarm kedua dinyalakan
D5- Tanda sinyal suara di awal setiap jam
D6- Tanda pengatur waktu berjalan (berkedip)
D7- Indikator tegangan baterai rendah

R1-R8 - resistor pembatas arus dari segmen indikator digital HG1-HG4 dan LED D1-D7. R12,R13 – pembagi untuk memantau tegangan baterai. Karena tegangan suplai jam adalah 3V, dan LED putih D9 memerlukan sekitar 3,4-3,8V pada konsumsi arus pengenal, ia tidak menyala dengan kekuatan penuh (tetapi cukup untuk menghindari tersandung dalam gelap) dan oleh karena itu terhubung tanpa arus -resistor pembatas. Elemen R14, Q1, R10 dirancang untuk mengontrol LED inframerah D8 (implementasi kendali jarak jauh untuk kamera digital). R19, ​​​​R20, R21 digunakan untuk berpasangan saat berkomunikasi dengan perangkat yang memiliki antarmuka 1-Wire. Kontrol dilakukan dengan tiga tombol, yang biasa saya sebut: MODE (mode), UP (atas), DOWN (bawah). Yang pertama juga dirancang untuk membangunkan MK dengan interupsi eksternal (dalam hal ini indikasi menyala), sehingga dihubungkan secara terpisah ke input PD3. Penekanan tombol yang tersisa ditentukan menggunakan ADC dan resistor R16, R18. Jika tombol tidak ditekan dalam waktu 16 detik, MK akan tertidur dan indikator mati. Saat dalam mode “Remote control untuk kamera” interval ini adalah 32 detik, dan dengan senter menyala - 1 menit. MK juga dapat ditidurkan secara manual menggunakan tombol kontrol. Saat stopwatch berjalan dengan resolusi hitungan 0,01 detik. Perangkat tidak masuk ke mode tidur.

PCB

Perangkat ini dirakit pada papan sirkuit cetak dua sisi berbentuk bulat dengan ukuran diameter bagian dalam kotak jam tangan. Namun dalam produksinya saya menggunakan dua papan satu sisi dengan ketebalan 0,35 mm. Ketebalan ini kembali diperoleh dengan mengelupasnya dari laminasi fiberglass dua sisi setebal 1,5 mm. Papan-papan itu kemudian direkatkan. Semua ini dilakukan karena saya tidak memiliki fiberglass dua sisi yang tipis, dan setiap milimeter ketebalan yang disimpan dalam ruang internal terbatas kotak arloji sangatlah berharga, dan tidak diperlukan penyelarasan dalam pembuatan konduktor tercetak menggunakan LUT. metode. Gambar papan sirkuit tercetak dan lokasi bagian-bagiannya ada di file terlampir. Di satu sisi terdapat indikator dan resistor pembatas arus R1-R8. Di bagian belakang terdapat detail lainnya. Ada dua lubang tembus untuk LED putih dan inframerah.

Kontak tombol dan tempat baterai terbuat dari baja lembaran pegas fleksibel dengan ketebalan 0,2...0,3 mm. dan kalengan. Di bawah ini adalah foto papan dari kedua sisi:

Desain, suku cadang, dan kemungkinan penggantiannya

Mikrokontroler ATmega168PA-AU dapat diganti dengan ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Indikator digital - 4 buah KPSA02-105 berpendar merah super terang dengan tinggi digit 5,08 mm. Dapat disuplai dari seri KPSA02-xxx atau KCSA02-xxx yang sama. (hanya bukan yang hijau - mereka akan bersinar redup) Saya tidak mengetahui analog lain dengan ukuran serupa dengan kecerahan yang layak. Di HG1, HG3, sambungan segmen katoda berbeda dengan HG2, HG4, karena lebih nyaman bagi saya untuk memasang kabel pada papan sirkuit tercetak. Dalam hal ini, tabel generator karakter yang berbeda digunakan untuk mereka dalam program. Resistor dan kapasitor SMD digunakan untuk pemasangan permukaan ukuran standar 0805 dan 1206, LED D1-D7 ukuran standar 0805. LED putih dan inframerah dengan diameter 3 mm. Papan memiliki 13 lubang tembus di mana jumper harus dipasang. DS18B20 dengan antarmuka 1-Wire digunakan sebagai sensor suhu. LS1 adalah tweeter piezoelektrik biasa yang dimasukkan ke dalam tutupnya. Dengan satu kontak, ia dihubungkan ke papan menggunakan pegas yang terpasang di atasnya, dan dengan kontak lainnya dihubungkan ke badan arloji melalui penutupnya sendiri. Resonator kuarsa dari jam tangan.

Pemrograman, firmware, sekering

Untuk pemrograman dalam sirkuit, papan hanya memiliki 6 titik kontak bulat (J1), karena konektor penuh tidak sesuai tingginya. Saya menghubungkannya ke programmer menggunakan perangkat kontak yang terbuat dari colokan pin PLD2x3 dan pegas yang disolder ke sana, menekannya dengan satu tangan ke titik tersebut. Di bawah ini adalah foto perangkat.

Saya menggunakannya karena pada saat proses debugging saya harus melakukan reflash MK berkali-kali. Saat mem-flash firmware satu kali, lebih mudah untuk menyolder kabel tipis yang terhubung ke programmer ke patch, dan kemudian melepas soldernya lagi. Lebih mudah untuk mem-flash MK tanpa baterai, tetapi daya berasal dari sumber +3V eksternal atau dari programmer dengan tegangan suplai yang sama. Program ini ditulis dalam assembler di lingkungan VMLAB 3.15. Kode sumber, firmware untuk FLASH dan EEPROM dalam aplikasi.

Bit FUSE mikrokontroler DD1 harus diprogram sebagai berikut:
CKSEL3...0 = 0010 - clock dari osilator RC internal 8 MHz;
SUT1...0 =10 - Waktu mulai: 6 CK + 64 mdtk;
CKDIV8 = 1 - pembagi frekuensi sebesar 8 dinonaktifkan;
CKOUT = 1 - Jam Output pada CKOUT dinonaktifkan;
BODLEVEL2…0 = 111 - kontrol tegangan suplai dinonaktifkan;
EESAVE = 0 - menghapus EEPROM saat memprogram kristal dilarang;
WDTON = 1 - Timer Pengawas tidak selalu aktif;
Bit FUSE yang tersisa sebaiknya tidak disentuh. Bit FUSE diprogram jika diatur ke “0”.

Mem-flash EEPROM dengan dump yang disertakan dalam arsip diperlukan.

Sel pertama EEPROM berisi parameter awal perangkat. Tabel di bawah menjelaskan tujuan dari beberapa di antaranya, yang dapat diubah dalam batas wajar.

Alamat sel

Tujuan

Parameter

Catatan

Jumlah tegangan baterai saat sinyal tingkat rendah muncul

260 ($104) (2,6V)

koefisien untuk mengoreksi nilai tegangan baterai yang diukur

interval waktu untuk beralih ke mode tidur

1 buah = 1 detik

interval waktu untuk beralih ke mode tidur saat senter menyala

1 buah = 1 detik

interval waktu untuk beralih ke mode tidur saat dalam mode kendali jarak jauh untuk kamera

1 buah = 1 detik

Nomor kunci IButton disimpan di sini

Penjelasan kecil tentang poin-poin:

1 poin. Ini menunjukkan level tegangan baterai di mana LED akan menyala, menandakan nilainya rendah. Saya mengaturnya ke 2.6V (parameter - 260). Jika Anda memerlukan sesuatu yang lain, misalnya 2.4V, maka Anda perlu menulis 240 ($00F0). Byte rendah disimpan dalam sel di alamat $0000, dan byte tinggi disimpan di $0001.

2 poin. Karena saya tidak memasang resistor variabel di papan untuk menyesuaikan keakuratan pengukuran tegangan baterai karena kurangnya ruang, saya memperkenalkan kalibrasi perangkat lunak. Prosedur kalibrasi untuk pengukuran yang akurat adalah sebagai berikut: awalnya, koefisien 1024 ($400) ditulis dalam sel EEPROM ini, Anda perlu mengalihkan perangkat ke mode aktif dan melihat tegangan pada indikator, lalu mengukur tegangan sebenarnya pada baterai dengan voltmeter. Faktor koreksi (K) yang harus diatur dihitung dengan rumus: K=Uр/Ui*1024 dimana Uр adalah tegangan nyata yang diukur dengan voltmeter, Ui adalah tegangan yang diukur oleh alat itu sendiri. Setelah menghitung koefisien “K”, koefisien tersebut dimasukkan ke dalam perangkat (seperti yang tercantum dalam petunjuk pengoperasian). Setelah kalibrasi, kesalahan saya tidak melebihi 3%.

3 poin. Di sini Anda dapat mengatur waktu kapan perangkat akan masuk ke mode tidur jika tidak ada tombol yang ditekan. Milik saya berharga 16 detik. Jika, misalnya, Anda perlu tertidur dalam 30 detik, maka Anda perlu menuliskan 30 ($26).

Pada poin 4 dan 5 sama saja.

6 poin. Di alamat $0030 kode keluarga kunci nol (Dallas 1-Wire) disimpan, kemudian nomor 48-bitnya dan CRC. Jadi 50 kunci secara berurutan.

Pengaturan, fitur pengoperasian

Menyiapkan perangkat berarti mengkalibrasi pengukuran tegangan baterai, seperti dijelaskan di atas. Penting juga untuk mendeteksi penyimpangan kecepatan jam selama 1 jam, menghitung dan memasukkan nilai koreksi yang sesuai (prosedurnya dijelaskan dalam petunjuk pengoperasian).

Perangkat ini ditenagai oleh baterai lithium CR2032 (3V) dan mengkonsumsi sekitar 4 µA dalam mode tidur, dan 5...20 mA dalam mode aktif, tergantung pada kecerahan indikator. Dengan penggunaan mode aktif selama lima menit setiap hari, baterai akan bertahan sekitar 2....8 bulan tergantung kecerahannya. Kotak arloji terhubung ke negatif baterai.

Pembacaan kunci diuji pada DS1990. Emulasi telah diuji pada interkom METAKOM. Di bawah nomor seri dari 46 hingga 49 (4 terakhir) kunci universal untuk interkom di-flash (semua kunci disimpan di EEPROM, dapat diubah sebelum mem-flash). Kunci yang terdaftar dengan nomor 49 membuka semua interkom METAKOM yang saya temui, saya tidak sempat menguji kunci universal lainnya, saya mengambil kodenya dari jaringan.

Remote control untuk kamera diuji pada model Pentax optio L20 dan Nikon D3000. Canon tidak dapat diperoleh untuk ditinjau.

Panduan pengguna memakan waktu 13 halaman, jadi saya tidak memasukkannya ke dalam artikel, tetapi memasukkannya ke dalam lampiran dalam format PDF.

Arsip berisi:
Skema dalam dan GIF;
Gambar papan sirkuit tercetak dan susunan elemen dalam format;
Firmware dan kode sumber di assembler;

Daftar elemen radio

Penamaan Jenis Denominasi Kuantitas CatatanTokobuku catatan saya
DD1 MK AVR 8-bit

ATmega168PA

1 PA-AU Ke buku catatan
U2 Sensor suhu

DS18B20

1 Ke buku catatan
Q1 Transistor MOSFET

2N7002

1 Ke buku catatan
C1, C2 Kapasitor30 hal2 Ke buku catatan
C3, C4 Kapasitor0,1 mikrofarad2 Ke buku catatan
C5 Kapasitor elektrolitik47 μF1 Ke buku catatan
R1-R8, R17 Penghambat

100 Ohm

9 Ke buku catatan
R9 Penghambat

10 kOhm

1 Ke buku catatan
R10 Penghambat

8.2 Ohm

1 Ke buku catatan
R11 Penghambat

300 ohm

1 Ke buku catatan
R12 Penghambat

2 MOhm

1 Ke buku catatan
R13 Penghambat

220 kOhm

1 Ke buku catatan
R14 Penghambat

30 kOhm

1 Ke buku catatan
R15, R19 Penghambat

4,7 kOhm

2 Ke buku catatan
R16 Penghambat

20 kOhm

1

Foto menunjukkan prototipe yang saya rakit untuk men-debug program yang akan mengelola seluruh fasilitas ini. Arduino nano kedua di pojok kanan atas papan tempat memotong roti bukan milik proyek dan menempel begitu saja, Anda tidak perlu memperhatikannya.

Sedikit tentang prinsip operasi: Arduino mengambil data dari timer DS323, memprosesnya, menentukan level cahaya menggunakan fotoresistor, kemudian mengirimkan semuanya ke MAX7219, dan, pada gilirannya, menerangi segmen yang diperlukan dengan kecerahan yang diperlukan. Selain itu, dengan menggunakan tiga tombol, Anda dapat mengatur tahun, bulan, hari, dan waktu sesuai keinginan. Dalam foto tersebut, indikator menampilkan waktu dan suhu, yang diambil dari sensor suhu digital

Kesulitan utama dalam kasus saya adalah bahwa indikator 2,7 inci memiliki anoda umum, dan mereka harus, pertama, berteman dengan max7219, yang dirancang untuk indikator dengan katoda umum, dan kedua, menyelesaikan masalah dengan mereka catu daya, karena mereka membutuhkan 7,2 volt untuk menyala, yang tidak dapat disediakan oleh max7219 saja. Setelah meminta bantuan di satu forum, saya menerima jawaban.

Solusi di tangkapan layar:


Sebuah sirkuit mikro yang membalikkan sinyal dipasang pada output segmen dari max7219, dan rangkaian tiga transistor dipasang pada setiap pin yang harus dihubungkan ke katoda umum layar, yang juga membalikkan sinyalnya dan meningkatkan tegangan. Dengan demikian, kami mendapat kesempatan untuk menghubungkan layar dengan anoda umum dan tegangan suplai lebih dari 5 volt ke max7219

Saya menghubungkan satu indikator untuk pengujian, semuanya berfungsi, tidak ada yang berasap

Mari mulai mengumpulkan.

Saya memutuskan untuk membagi sirkuit menjadi 2 bagian karena banyaknya jumper di versi yang dipisahkan oleh kaki saya yang bengkok, di mana semuanya ada di satu papan. Jam akan terdiri dari unit tampilan dan unit daya dan kontrol. Diputuskan untuk mengumpulkan yang terakhir terlebih dahulu. Saya meminta para ahli estetika dan amatir radio berpengalaman untuk tidak pingsan karena perlakuan kejam terhadap bagian-bagiannya. Saya tidak punya keinginan untuk membeli printer demi LUT, jadi saya melakukannya dengan cara lama - saya berlatih di selembar kertas, mengebor lubang sesuai templat, menggambar jalur dengan spidol, lalu mengetsa.

Prinsip pemasangan indikator tetap sama seperti pada.

Kami menandai posisi indikator dan komponen menggunakan templat kaca plexiglass yang dibuat untuk kenyamanan.

Proses penandaan







Kemudian, dengan menggunakan templat, kami mengebor lubang di tempat yang tepat dan mencoba semua komponen. Semuanya cocok dengan sempurna.

Kami menggambar jalur dan mengetsa.




mandi di besi klorida

Siap!
papan kontrol:


papan indikasi:


Papan kontrolnya ternyata bagus, track di papan display tidak habis dimakan kritis, bisa diperbaiki, saatnya menyolder. Kali ini saya kehilangan keperawanan SMD saya dan memasukkan komponen 0805 ke dalam rangkaian. Paling tidak, resistor dan kapasitor pertama telah disolder pada tempatnya. Saya pikir saya akan menjadi lebih baik dalam hal itu, itu akan lebih mudah.
Untuk menyolder saya menggunakan fluks yang saya beli. Menyolder dengan itu menyenangkan; sekarang saya menggunakan alkohol rosin hanya untuk tinning.

Ini papan yang sudah jadi. Papan kontrol memiliki tempat duduk untuk Arduino nano, jam, serta output untuk menghubungkan ke papan display dan sensor (fotoresistor untuk kecerahan otomatis dan termometer digital ds18s20) dan catu daya dengan tegangan output yang dapat disesuaikan (untuk besar perangkat tujuh segmen) dan untuk memberi daya pada jam dan Arduino, di papan display terdapat soket pemasangan untuk display, soket untuk max2719 dan uln2003a, solusi untuk memberi daya pada empat perangkat tujuh segmen besar dan banyak jumper.




papan kontrol belakang

Papan tampilan belakang:

Instalasi smd yang buruk:


Meluncurkan

Setelah menyolder semua kabel, tombol dan sensor, saatnya menyalakan semuanya. Peluncuran pertama mengungkapkan beberapa masalah. Indikator besar terakhir tidak menyala, dan sisanya bersinar redup. Saya mengatasi masalah pertama dengan menyolder kaki transistor SMD, dan masalah kedua - dengan menyesuaikan tegangan yang dihasilkan oleh lm317.
ITU HIDUP!

Jam dengan pengatur waktu alarm yang dapat didengar untuk mengontrol peralatan rumah tangga.

Timer adalah perangkat yang menghidupkan atau mematikan peralatan pada waktu tertentu dengan kontak peralihannya. Pengatur waktu waktu nyata memungkinkan Anda menyetel waktu pemicu pada waktu tertentu. Contoh paling sederhana dari pengatur waktu tersebut adalah jam alarm.

Cakupan penerapan pengatur waktu sangat luas:
- kontrol pencahayaan;
- pengelolaan penyiraman tanaman rumah dan kebun;
- kontrol ventilasi;
- manajemen akuarium;
- Kontrol pemanas listrik dan sebagainya.

Pengatur waktu yang diusulkan dapat dibuat dengan cepat dan murah bahkan oleh amatir radio pemula.
Saya membuatnya berdasarkan desainer jam. ()

Saya perlu menggunakan pengatur waktu untuk mengontrol penyiraman tanaman di dacha.

Tonton seluruh proses pembuatannya di video:


Daftar alat dan bahan
- jam tangan elektronik apa pun dengan bunyi alarm;
-obeng;
- gunting;
- besi solder;
-kain katun halus;
- dua relai 12V;
- Catu daya 12V dari adaptor;
- menghubungkan kabel;
- foil PCB untuk papan sirkuit cetak atau papan tempat memotong roti;
-relai waktu industri atau buatan sendiri;
-penghambat;
- transistor KT815 (atau analog);
-dioda.

Langkah pertama. Kabel papan pengatur waktu.
Sirkuit pengatur waktu
Yang diperlukan hanyalah menyolder komponen sesuai diagram ke papan tempat memotong roti dan menyolder dua kabel dari emitor piezo jam. Mari kita merakit rangkaian sederhana dengan relai perantara dan sakelar transistor. Ketika pulsa pertama sinyal suara dikirim dari jam, relai P1 dihidupkan, kontak yang biasanya terbuka menutup dan menghidupkan beban, dan pada saat yang sama, melalui kontak kedua yang biasanya terbuka dari relai P1 dan biasanya tertutup kontak relai waktu, relai P1 mengunci sendiri. Bersamaan dengan beban, relai waktu PB dihidupkan - hitungan mundur waktu pengoperasian beban yang ditentukan dimulai. Pada akhir waktu ini, RV membuka kontak dan relai P1 dimatikan, beban dimatikan. Sirkuit siap untuk siklus berikutnya. Dioda berfungsi untuk mencegah pulsa balik ke rangkaian jam (dioda berdaya rendah apa pun dapat digunakan). LED untuk menunjukkan aktivasi beban. Di sirkuit ini, Anda memerlukan relai perantara dengan dua kontak yang biasanya terbuka, tetapi saya tidak memilikinya - saya menggunakan dua relai Cina (kumparan dihubungkan secara paralel). relai dengan kontak yang lebih kuat. Saya memiliki adaptor 12V dan memasang sirkuitnya langsung di papan tempat memotong roti. Pada prinsipnya, sumber daya 12V berdaya rendah apa pun dapat digunakan.


Singkatnya, jam menyalakan beban dan relai waktu dimatikan setelah penundaan berakhir.
Jika Anda tidak memiliki relai waktu industri, Anda dapat membuatnya sendiri menggunakan rangkaian sederhana. Ketika kapasitansi kapasitor C1 meningkat, waktu pengoperasian relai meningkat.


Langkah kedua. Memeriksa pengoperasian pengatur waktu.
Sirkuit saya berfungsi saat pertama kali saya menyalakannya.
Yang tersisa hanyalah mengatur waktu alarm. Jam tangan saya memiliki dua pengaturan waktu alarm. Kalau saya, cukup menyalakan penyiraman, misalnya pagi jam 7 selama satu jam, dan sore jam 20, menyiram lagi. Saat Anda menekan tombol jam, sinyal suara dikeluarkan, jadi saat menyetel, rangkaian pengatur waktu harus dimatikan energinya untuk mencegah alarm palsu. Jam tangan saya memiliki fungsi "berbunyi" - setiap jam dari jam 8 hingga jam 20, selain jam alarm, Anda dapat menggunakan sinyal ini jika perlu. Jika tidak diperlukan, maka fungsi “lonceng” dinonaktifkan.

Beginilah hasil desain akhir pekannya. Sangat menarik untuk menguji skema baru ini, jadi semuanya dilakukan dengan cepat. Di masa depan, perlu membuat kasing dan menempatkan papan serta relai waktu di sana. Seorang pemula dapat membuat pengatur waktu sendiri tanpa menghabiskan banyak waktu dan uang. Dan di mana menggunakannya, terserah Anda.

Semua pekerjaan memakan waktu beberapa malam akhir pekan dan 75 rubel (

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat