버튼을 세 번 누르는 일을 없애려고 커스텀 PCB를 설계함

4 days ago 13

항상 밝기 3단계로 켜지는 야간등을 1단계로 낮추기 위해, 전원이 들어오면 버튼을 세 번 대신 눌러주는 ATtiny85 기반 PCB를 제작함 커패시터 강하 전원은 수 mA만 공급하므로 ESP8266이나 Raspberry Pi Zero 대신, 1MHz에서 1mA 미만을 소비하고 절전 시 μA 수준으로 내려가는 ATtiny85를 선택함 8.3V를 3.3V로 낮추는 HT7333과 버튼을 접지로 단락하는 2N3904를 중심으로 회로를 구성하고, EasyEDA와 JLCPCB로 설계·제작함 Raspberry Pi 3의 GPIO와 avrdude로 칩을 프로그래밍했으며, Home Assistant가 야간등을 켜면 잠시 기다린 뒤 버튼을 세 번 눌러 최저 밝기로 자동 전환함 설계 파일과 C 코드는 MIT 라이선스로 공개했지만, 내부 전압이 4~12V이고 버튼 입력이 접지로 단락되는 기기에만 적용할 수 있으며 변압기 없는 상용 전원 기기는 각별한 주의가 필요함 매일 반복하던 세 번의 버튼 조작 Home Assistant는 휴대전화가 수면 집중 모드에 들어가면 Zigbee 벽면 플러그를 통해 야간등을 켜도록 구성돼 있음 저가형 야간등에는 자동 점등 여부를 정하는 스위치와 밝기 단계를 바꾸는 버튼이 있지만, 전원을 켤 때마다 밝기 3단계에서 시작함 버튼을 한 번 누르면 4단계, 다시 누르면 5단계, 세 번째에 1단계가 됨 원하는 최저 밝기를 얻으려면 매일 밤 버튼을 세 번 눌러야 했음 내부를 열어봤지만 칩 이름이 보이지 않았고 조절용 가변저항도 없었음 버튼을 약 10초간 누르면 EEPROM의 기본 밝기를 바꿀 수 있다는 온라인 방법도 해당 제품에서는 동작하지 않았음 제한된 전력에 맞춘 마이크로컨트롤러 버튼 입력을 자동으로 만드는 마이크로컨트롤러가 가장 적합한 해결책이었음 야간등은 변압기 대신 커패시터로 상용 전압을 낮추기 때문에 전원부에서 수 mA만 공급할 수 있음 Wemos D1 Mini의 ESP8266은 부팅하고 무선 기능을 켤 때 수백 mA가 필요함 Raspberry Pi Zero는 운영체제를 부팅해야 하는 완전한 Linux 컴퓨터임 두 장치 모두 별도 전원이나 부팅 순간을 견딜 대형 저장 커패시터와 추가 회로가 필요했음 최종 선택한 ATtiny85는 고전적인 Arduino와 같은 AVR 계열이며 Arduino IDE로 코드를 작성할 수 있음 1MHz 동작 시 소비 전류가 1mA 미만임 절전 상태에서는 석영시계와 비슷한 μA ...

Read Entire Article