- Untuk menurunkan lampu tidur yang selalu menyala pada tingkat kecerahan 3 menjadi tingkat 1, dibuat PCB berbasis ATtiny85 yang akan menekan tombol tiga kali sebagai pengganti saat daya masuk
- Karena catu daya penurun kapasitor hanya dapat memasok beberapa mA, dipilih ATtiny85 alih-alih ESP8266 atau Raspberry Pi Zero, karena konsumsi dayanya di bawah 1mA pada 1MHz dan turun ke level μA saat hemat daya
- Rangkaian disusun dengan HT7333 yang menurunkan 8.3V menjadi 3.3V dan 2N3904 yang menghubung-singkatkan tombol ke ground, lalu dirancang dan dibuat dengan EasyEDA dan JLCPCB
- Chip diprogram menggunakan GPIO Raspberry Pi 3 dan avrdude, lalu saat Home Assistant menyalakan lampu tidur, sistem menunggu sebentar sebelum menekan tombol tiga kali untuk otomatis berpindah ke kecerahan terendah
- File desain dan kode C dirilis dengan lisensi MIT, tetapi hanya bisa diterapkan pada perangkat yang memiliki tegangan internal 4~12V dan input tombol yang dihubung-singkatkan ke ground; perangkat listrik AC tanpa transformator memerlukan kehati-hatian khusus
Tiga kali penekanan tombol yang diulang setiap hari
- Home Assistant dikonfigurasi untuk menyalakan lampu tidur melalui colokan dinding Zigbee saat ponsel masuk ke mode fokus tidur
- Lampu tidur murah ini memiliki sakelar untuk menentukan apakah menyala otomatis dan tombol untuk mengubah tingkat kecerahan, tetapi setiap kali daya dinyalakan selalu mulai dari tingkat kecerahan 3
- Menekan tombol sekali akan menjadi tingkat 4, menekan lagi menjadi tingkat 5, dan pada penekanan ketiga menjadi tingkat 1
- Untuk mendapatkan kecerahan minimum yang diinginkan, tombol itu harus ditekan tiga kali setiap malam
- Saat bagian dalamnya dibuka, nama chip tidak terlihat dan juga tidak ada potensiometer penyetelan
- Metode daring yang menyebut menahan tombol sekitar 10 detik untuk mengubah kecerahan bawaan di EEPROM juga tidak bekerja pada produk ini
Mikrokontroler yang disesuaikan dengan daya terbatas
- Mikrokontroler adalah solusi yang paling cocok untuk mengotomatisasi input tombol
- Lampu tidur ini menurunkan tegangan listrik AC dengan kapasitor, bukan transformator, sehingga bagian catu dayanya hanya dapat memasok beberapa mA
- ESP8266 pada Wemos D1 Mini membutuhkan ratusan mA saat boot dan mengaktifkan fungsi nirkabel
- Raspberry Pi Zero adalah komputer Linux penuh yang harus mem-boot sistem operasi
- Kedua perangkat itu memerlukan catu daya terpisah atau kapasitor penyimpanan besar dan rangkaian tambahan untuk menahan momen boot
- Pilihan akhirnya adalah ATtiny85, keluarga AVR klasik seperti Arduino lama dan dapat diprogram dengan Arduino IDE
- Konsumsi arusnya di bawah 1mA saat berjalan pada 1MHz
- Dalam mode hemat daya, arusnya turun ke level μA, setara jam kuarsa
- LED lampu tidur menggunakan daya ribuan kali lebih besar daripada ATtiny85
Rangkaian yang meniru penekanan tombol nyata
- Rel daya internal lampu tidur adalah 8.3V dan ATtiny85 membutuhkan 3.3V, sehingga digunakan regulator tegangan HT7333
- Transistor 2N3904 menghubung-singkatkan jalur sinyal tombol ke ground untuk meniru aksi tombol yang benar-benar ditekan
- Komponen pendukung menangani pembatasan arus, pencegahan input keliru, dan stabilisasi daya
- Resistor 1kΩ antara ATtiny85 dan transistor membatasi arus penggerak yang mengalir ke transistor
- Resistor 10kΩ menjaga transistor tetap mati saat daya baru menyala, sehingga mencegah input tombol yang tidak diinginkan
- Tiga kapasitor kecil menghaluskan daya yang dipasok ke regulator tegangan dan chip
- Header 3 pin terhubung ke daya, ground, dan jalur sinyal tombol
- Agar bisa dipakai sebagai perangkat umum yang menekan tombol sejumlah kali tertentu sekaligus mempelajari proses pembuatan PCB, rangkaian ini dirancang sebagai papan terpisah
Merancang skematik dan PCB di EasyEDA
- Di EasyEDA, komponen dan hubungan antar-komponen terlebih dahulu digambar sebagai skematik
- Titik koneksi dengan nama yang sama seperti
GND,3V3akan dihubungkan oleh router - Jika komponen nyata yang akan dipakai ditentukan, itu dapat digunakan untuk penataan PCB dan pembuatan daftar komponen
- Titik koneksi dengan nama yang sama seperti
- Pada tahap penyuntingan PCB, posisi komponen, jalur routing, bentuk papan, dan elemen cetak dapat ditentukan secara langsung
- Logo open-source hardware dan nama pengguna dicetak pada papan
- Karena rangkaiannya sederhana, papan dibuat sebagai PCB satu sisi, tanpa perlu routing rumit atau penyesuaian panjang maupun bentuk jalur
Produksi di JLCPCB dan perakitan komponen
- Di JLCPCB, papan dipesan dengan memilih komponen nyata dan apakah akan dirakit atau tidak
- Jumlah pesanan minimum adalah 5 papan, tetapi hanya 1 papan yang dibutuhkan, jadi sebagian besar komponen disolder sendiri
- Untuk resistor dan kapasitor yang sangat kecil, digunakan layanan perakitan JLCPCB karena biaya tambahannya kecil
- Setelah pemesanan, papan diterima dalam 4 hari
Pemrograman ATtiny85 dan verifikasi awal
- ATtiny85 kosong tidak memiliki bootloader, jadi tidak bisa langsung dihubungkan ke USB seperti Arduino dan memerlukan programmer terpisah
- Pemrograman dilakukan menggunakan GPIO Raspberry Pi 3 dan avrdude
- Setelah menghubungkan header Pi dan chip dengan 6 kabel jumper, cukup menjalankan satu perintah
- Sebelum dihubungkan langsung ke lampu tidur, operasi diverifikasi lebih dulu dengan memasang LED pada pin output
- Perilaku akhirnya adalah berkedip tiga kali lalu berhenti terus-menerus
- Dalam video pengujian, jumlah yang diperlukan terlambat diperbaiki sehingga LED berkedip empat kali
Proses pemasangan dan keselamatan listrik AC
- Papan yang sudah jadi disolder ke bagian dalam lampu tidur, tetapi pengerjaannya sulit karena komponen dan ruangnya sangat kecil
- Kapasitor besar pada papan asli terpasang dengan polaritas terbalik, dan hal ini dipastikan lewat pemeriksaan multimeter
- Karena lampu tidur tidak memiliki transformator, memasang PCB tambahan berarti seluruh rangkaian terhubung ke listrik AC
- ATtiny85 harus di-flash sebelum dimasukkan ke dalam perangkat
- Setelah pemasangan, kabel USB atau Raspberry Pi tidak boleh dihubungkan lagi
Otomatisasi waktu tidur dan perilaku akhir
- Saat jam mengirim status tidur ke ponsel, ponsel memberi tahu Home Assistant, lalu Home Assistant menyalakan lampu tidur melalui colokan Zigbee
- PCB yang mendapat daya akan menunggu sebentar agar lampu tidur tidak salah beroperasi, lalu menekan tombol tiga kali untuk berpindah ke tingkat kecerahan 1
- Bayangan kabel internal terlihat di balik diffuser, tetapi tidak tampak di dinding kamar sehingga tidak menjadi masalah dalam penggunaan nyata
Materi open source dan syarat penerapan
- Materi berikut dirilis di tymscar/button-presser dengan lisensi MIT
- File Gerber untuk membuat papan yang sama
- Daftar komponen dan skematik
- Kode C pendek yang berjalan di ATtiny85
- Sebelum menerapkan, dua pemeriksaan multimeter yang dijelaskan di README harus dilakukan
- Rangkaian ini hanya bekerja pada perangkat yang memiliki rel daya internal 4~12V dan sinyal tombol yang dihubung-singkatkan ke ground saat ditekan
- Banyak perangkat murah memenuhi syarat ini, tetapi tidak semua produk bisa menerapkannya; untuk perangkat yang bekerja dengan listrik AC, panduan keselamatan harus diperiksa sebelum mulai bekerja
Belum ada komentar.