ATmega32 기반 강화된 2인용 반응 속도 게임: 프로토타입에서 완제품까지
임베디드 시스템 개발자들은 보통 ATmega328P로 간단한 프로토타입을 시작하지만, 규모를 키우기 위해 ATmega32 같은 더 강력한 마이크로컨트롤러로 전환합니다. 이 2인용 반응 속도 훈련기의 두 번째 버전은 바로 그렇게 했습니다: 표시등 수를 늘리고, 애니메이션을 추가하며, 최대 3승까지 점수를 기록합니다. 플럭스 페이스트로 납땜을 진행하며, 보드 청결을 위해 후처리가 필요합니다—최적의 방법으로는 초음파 세척기와 99% 이소프로필 알코올이나 전문 플럭스 세제를 사용합니다.
키체인 형태는 주머니에 넣고 다니기 좋도록 컴팩트하게 유지했습니다. 앞면에는 점수 표시기로 하트 실크스크린이, 뒷면에는 프로젝트 로고가 있습니다.
시각화와 하드웨어
각 플레이어는 버튼 아래에 세 개의 LED를 갖습니다: 첫 번째는 파란색, 두 번째는 빨간색입니다. 중앙의 녹색 LED가 시작 신호를 보냅니다. 회로도는 프로젝트의 Gerber 파일에서 확인할 수 있으며, 3D 시각화로 인체공학을 확인했습니다.




게임 로직과 펌웨어
게임은 무작위 지연 시간을 가진 시각적 자극에 대한 반응을 구현합니다. ATmega32의 펌웨어는 다음을 제어합니다:
- 준비를 위한 녹색 LED 깜빡임.
- 첫 번째 버튼 누름 감지.
- 라운드 종료 시 깜빡이는 LED 애니메이션.
- 최대 3까지의 승리 카운터.
의사코드로 표현한 규칙:
while (게임_시작_안됨) { 깜빡임(녹색_LED, 무작위_지연); }지연(무작위(100-500ms)); 켜기(녹색_LED);if (버튼1_누름 < 버튼2_누름) { 점수1++; 애니메이션(파란색_LED들); } else { 점수2++; 애니메이션(빨간색_LED들); }if (점수1 == 3 || 점수2 == 3) { 최종_애니메이션(); 초기화(); }
펌웨어는 저전력 소비에 최적화되어 있으며, AVR 타이머가 블로킹 없이 정확한 지연을 보장합니다.
버전 비교
| 매개변수 | 버전 1 (ATmega328P) | 버전 2 (ATmega32) |
|-----------|------------------------|----------------------|
| 플레이어당 LED 수 | 1 | 3 |
| 점수 기록 | 최대 1승 | 최대 3승 |
| 애니메이션 | 없음 | 깜빡임 효과 |
| 실크스크린 | 없음 | 전체 (하트, 로고) |
| 납땜 | 기본 | 페이스트 + 플럭스 |
ATmega32로 전환하면 확장을 위한 더 많은 핀, 328P와 같은 32KB 플래시지만 더 나은 주변 장치를 제공합니다.
조립 권장사항
- SMD 부품에는 0.5mm 솔더 페이스트를 사용하세요.
- 납땜 후: 99% 이소프로필 알코올로 초음파 세척기에서 5–10분간 세척하세요.
- 오실로스코프로 타이밍 테스트: 지연 시간은 균일하게 무작위여야 합니다.
- 펌웨어용: USBasp와 avrdude, 16MHz 내부 오실레이터용 퓨즈 비트.
확장: 오디오 피드백용 부저나 앱에서 점수를 확인할 수 있는 블루투스를 추가하세요.
핵심 요약
- 프로토타입 확장: 하나의 LED에서 세 개의 LED와 애니메이션으로 전환하면 회로를 복잡하게 하지 않으면서 참여도를 높일 수 있습니다.
- ATmega32 장점: 더 많은 GPIO, 디버깅용 UART, 다중 플레이어에 적합.
- SMD 납땜: 플럭스 세척은 장기적인 내구성에 중요합니다; 후처리 없이 노클린을 피하세요.
- 반응 타이밍: 100–500ms의 무작위 지연은 실제 시나리오를 모방합니다.
- 펌웨어 구조: 반응성을 위해 타이머 기반의 논블로킹 루프.
— Editorial Team
아직 댓글이 없습니다.