홈으로 돌아가기

ATmega32의 2인용 반응 게임

ATmega32 반응 가제트의 2세대 버전은 플레이어당 3개의 LED, 3까지 세기, 애니메이션을 추가합니다. 회로도, 납땜, 펌웨어 로직 및 ATmega328P 프로토타입과의 비교를 설명합니다. 중급/시니어 임베디드 개발자에게 적합.

ATmega32 DIY 리액터: 개선사항과 회로도
Advertisement 728x90

ATmega32 기반 강화된 2인용 반응 속도 게임: 프로토타입에서 완제품까지

임베디드 시스템 개발자들은 보통 ATmega328P로 간단한 프로토타입을 시작하지만, 규모를 키우기 위해 ATmega32 같은 더 강력한 마이크로컨트롤러로 전환합니다. 이 2인용 반응 속도 훈련기의 두 번째 버전은 바로 그렇게 했습니다: 표시등 수를 늘리고, 애니메이션을 추가하며, 최대 3승까지 점수를 기록합니다. 플럭스 페이스트로 납땜을 진행하며, 보드 청결을 위해 후처리가 필요합니다—최적의 방법으로는 초음파 세척기와 99% 이소프로필 알코올이나 전문 플럭스 세제를 사용합니다.

키체인 형태는 주머니에 넣고 다니기 좋도록 컴팩트하게 유지했습니다. 앞면에는 점수 표시기로 하트 실크스크린이, 뒷면에는 프로젝트 로고가 있습니다.

시각화와 하드웨어

각 플레이어는 버튼 아래에 세 개의 LED를 갖습니다: 첫 번째는 파란색, 두 번째는 빨간색입니다. 중앙의 녹색 LED가 시작 신호를 보냅니다. 회로도는 프로젝트의 Gerber 파일에서 확인할 수 있으며, 3D 시각화로 인체공학을 확인했습니다.

Google AdInline article slot

![PCB 프로젝트](./images/image-4.jpg)

![3D 렌더링 앞면](./images/image-5.PNG)

![3D 렌더링 뒷면](./images/image-6.PNG)

Google AdInline article slot

![전체 회로도](./images/image-7.png)

게임 로직과 펌웨어

게임은 무작위 지연 시간을 가진 시각적 자극에 대한 반응을 구현합니다. ATmega32의 펌웨어는 다음을 제어합니다:

  • 준비를 위한 녹색 LED 깜빡임.
  • 첫 번째 버튼 누름 감지.
  • 라운드 종료 시 깜빡이는 LED 애니메이션.
  • 최대 3까지의 승리 카운터.

의사코드로 표현한 규칙:

Google AdInline article slot
  • 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

Advertisement 728x90

다음 읽기