Menurut KDPV, jelas bahwa penulisnya tidak peduli dengan peralatan audio vintage Sony. Di sini dan MD Walkman, dan akuisisi baru-baru ini - pusat musik kompak dengan CD- "transport" vertikal. Itu dijual tanpa remote control, ke analog buatan sendiri di mana penulis membuat permintaan: arus diam rendah yang sama seperti yang dilakukan remote pada microcircuits khusus.
Pada awalnya, penulis ingin menulis firmware dari awal, karena sebelumnya ia telah mengimplementasikan protokol perangkat lunak yang digunakan dalam kendali jarak jauh Sony. Namun kemudian saya memutuskan untuk menggunakan
perpustakaan yang ada . Ini mendukung berbagai protokol, perangkat, dan juga memiliki tambahan. fitur yang memfasilitasi pengembangan dan debugging.
Dengan perpustakaan ini, sambungkan saja dioda IR ke kaki mikrokontroler dan mulailah mencari kode kendali jarak jauh Sony. Mereka berhasil mendapatkan remote control buatan sendiri dengan sangat cepat. Tetapi apa gunanya jika baterai di dalamnya habis dalam satu atau dua hari, bahkan jika Anda tidak menggunakannya sama sekali?
Secara umum, tugasnya adalah untuk menempatkan ATmega328P ke mode tidur sehingga praktis tidak mengkonsumsi arus sampai tombol ditekan. Perpustakaan untuk kontrol hibernasi juga ada, tetapi penulis memutuskan bahwa karena ia telah mengambil perpustakaan siap pakai untuk mengirim perintah, biarkan setidaknya bagian firmware ini ditulis secara independen. Menurut datasheet, menempatkan mikrokontroler ke mode tidur adalah proses multi-langkah.
Oleh karena itu, dalam sketsa, semuanya dikomentari dengan cukup rinci sehingga saat membaca kode dan dataset pada saat yang sama, Anda dapat memahami apa yang terjadi ketika setiap baris dieksekusi. Mikrokontroler "tidur" hampir setiap saat, dan ketika keadaan salah satu input berubah, ia "bangun", menentukan tombol mana yang ditekan, mengirim perintah, dan sekali lagi "tertidur".
Dengan kuarsa 16 MHz, mikrokontroler, ketika tidak "tidur", akan mengkonsumsi lebih banyak arus daripada saat menggunakan jam 8 MHz bawaan. Untuk mengkonfigurasi ulang "sekering" yang sesuai, saya harus menggunakan programmer di-sirkuit. Mode tidur dipilih sehingga semuanya dimatikan kecuali interupsi. Penulis tidak segera mengerti bahwa perlu mematikan ADC, karena itu ia tidak dapat menemukan alasan mengapa mikrokontroler mengkonsumsi hampir satu miliamp dalam mode tidur. Pengawas waktu juga harus dimatikan, dan inilah hasilnya: sekitar 2 μA dalam mode tidur dan 3,5 mA saat mengirim perintah.
Kalkulator ini menunjukkan bahwa dalam kondisi ideal, jika Anda menekan tombol 5 kali per jam, elemen dalam mode ini akan bertahan selama 4,82 tahun. Bahkan satu atau dua tahun sudah hebat, dan bahkan lebih dari itu.
Penulis mengembangkan papan sirkuit di Eagle. File untuk pengulangan:
sketsa ,
diagram ,
gerbera ,
papan sumber .


Video, di mana ditampilkan pengukuran saat ini:
Proses meningkatkan desain berlanjut, pertama-tama, perlu membuat beberapa tombol yang kode-kode yang ditemukan pada jaringan ternyata salah. Selanjutnya, penulis memberikan analog CC-BY yang disederhanakan dari satu frasa: "Jika Anda mau, gunakan kode dan papan di produk buatan rumah lainnya, hanya ingat untuk menunjukkan siapa yang mengembangkan semua ini untuk Anda." Karena pustaka sumber tidak berada di bawah GPL, tetapi di bawah LGPL, Anda dapat melakukan ini.