산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 우노로 만드는 인터랙티브 LCD 게임

프로젝트 개요

아두이노 우노와 RGB 백라이트 16x2 LCD, 푸시 버튼 하나로 즐길 수 있는 간단한 러닝 게임을 만듭니다. 화면 오른쪽에서 다가오는 장애물을 점프해 피하는 고전적인 게임 방식으로, LCD의 커스텀 문자를 활용해 그래픽을 구현합니다.

필요한 부품

부품수량비고
아두이노 우노 (Arduino UNO)1
RGB 백라이트 LCD 16x2 (Adafruit)1I2C 모듈 아님, 병렬 인터페이스
브레드보드1
저항 220Ω1백라이트 전류 제한용
푸시 버튼 스위치 12mm1점프 조작용
점퍼 와이어1세트
USB-A to B 케이블1프로그래밍 및 전원용

회로 연결

전원 및 LCD 기본 연결

LCD 핀 연결 상세

LCD 핀기능연결 대상
1 (GND)전원 그라운드브레드보드 음극 레일
2 (VCC)양전원브레드보드 양극 레일
3 (V0)대비 조절아두이노 핀 12 (또는 음극 레일)
4 (RS)레지스터 선택아두이노 핀 11
5 (R/W)읽기/쓰기 선택아두이노 핀 10 (또는 음극 레일)
6 (E)동작 인에이블아두이노 핀 9
7-10 (DB0-DB3)데이터 비트 0-3미사용 (4비트 모드)
11 (DB4)데이터 비트 4아두이노 핀 6
12 (DB5)데이터 비트 5아두이노 핀 5
13 (DB6)데이터 비트 6아두이노 핀 4
14 (DB7)데이터 비트 7아두이노 핀 3
15 (LED+)백라이트 양극220Ω 저항 → 양극 레일
16 (LED-)백라이트 음극음극 레일

푸시 버튼 연결

게임 로직 및 코드 구조

게임은 LiquidCrystal 라이브러리를 사용하며, LCD의 CGRAM에 7개의 커스텀 문자를 정의해 주인공(달리기/점프 자세), 지형(땅/빈 공간)을 표현합니다.

핵심 구성 요소

코드 주요 상수

#define PIN_BUTTON 2       // 버튼 인터럽트 핀
#define PIN_AUTOPLAY 1     // 자동 플레이 표시 LED
#define PIN_READWRITE 10   // LCD R/W
#define PIN_CONTRAST 12    // LCD 대비 조절
#define TERRAIN_WIDTH 16   // 화면 너비
#define HERO_HORIZONTAL_POSITION 1  // 주인공 고정 열

소프트웨어 설치 및 실행

  1. 아두이노 IDE 설치
  2. 제공된 LCD_Game.ino 스케치 열기
  3. 보드: Arduino/Genuino Uno 선택
  4. 포트 선택 후 업로드
  5. 전원 연결 후 "Press Start" 메시지에서 버튼 눌러 시작

확장 아이디어

교육적 가치

이 프로젝트는 임베디드 시스템의 기초인 △GPIO 제어 △인터럽트 처리 △타이밍 기반 게임 루프 △디스플레이 드라이빙 △상태 머신 설계 △커스텀 문자 생성 등을 모두 다루며, 하드웨어 제약 조건(16x2 텍스트 LCD)에서 그래픽 게임을 구현하는 창의적 문제 해결력을 기르기에 적합합니다.

제조공정

  1. 아두이노 나노 33 BLE 센스에서 Edge Impulse로 구현하는 TinyML 언어 감지기
  2. 아두이노 나노와 MPU-6050으로 실시간 자이로스코프 게임 만들기
  3. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  4. 아두이노 나노로 37개 LED 룰렛 게임 만들기
  5. DIY 아두이노 USB 게임 컨트롤러 - 나만의 고성능 게임패드 만들기
  6. 아두이노 조이스틱 인터랙티브 게임 - LED 피드백으로 방향 감지
  7. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  8. 픽셀 체이서: 아두이노 나노로 만든 인터랙티브 원탭 LED 게임
  9. 아두이노 나노 DIY 오실로스코프 (10Hz~50kHz, 128x64 LCD)
  10. 아두이노 나노로 만드는 오디오 반응형 책상 무드등 (주소 지정 LED)