← 전체 경험

MCU/IoT실험 기말 프로젝트

ATmega128 캐롤송 알람시계

ATmega128 펌웨어로 알람시계를 구현하고, 스위치 채터링을 소프트웨어 디바운싱으로 해결

확인 상태확정
기준일2026-09-12

배경

AVR MCU인 ATmega128의 펌웨어를 프로그래밍해 원하는 장치를 만드는 자유 주제 과제였습니다.

수행

  • 학기 중 배운 타이머 로직에 스피커 주파수 조정 기반 악보 로직을 결합해 캐롤송 알람시계 개발
  • 초 단위 시간 구현을 위해 클럭 주파수 프리스케일링과 타이머 오버플로우 값 조정
  • 인터럽트 스위치 모듈을 조작 리모컨으로 설정

통합 테스트에서 스위치 채터링으로 시간 설정 오류가 발생했습니다. 스위치 내구성 저하가 유력한 원인이었지만 여분 모듈이 없고 최종 테스트까지 시간이 부족했습니다.

성과

하드웨어 교체 대신 소프트웨어로 대응해, 기존 스위치 토글 로직에 0.5초 제한 조건을 추가해 채터링을 해결했습니다.

문제가 발생한 부품에만 시선을 고정하면 해결 방법도 제한된다는 것, 입력을 처리하는 소프트웨어까지 범위를 넓히면 실행 가능한 대안이 나온다는 것을 배웠습니다.

임베디드SWMCU펌웨어문제해결HW-SW연계