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

아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

부품 및 소모품

아두이노 우노 (보드 종류 무관)×1
SG90 마이크로 서보 모터×2
브레드보드×1
조이스틱 모듈×1
점퍼 와이어×1

필요한 도구

글루건
커터칼 (날카로운 것)
자, 연필

앱 및 온라인 서비스

아두이노 IDE

프로젝트 소개

전자 게임에 질려 물리적 기술 게임을 찾던 중 '라비린스(Labyrinth)'를 발견했습니다. 1946년 스웨덴 BRIO사에서 출시된 이 게임은 상자 위 미로에 강철 구슬을 기울여 구멍에 빠뜨리지 않고 골인시키는 게임입니다. 아두이노와 서보로 이 기울기를 제어해 골판지로 직접 만들어 보았습니다.

아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

설계 (SketchUp으로 모델링)

아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

아이들도 만들 수 있게 20x20cm 크기로 단순화했습니다. 설계 파일 다운로드 후 1시간 만에 완성 가능.

재료 및 부품

골판지 재단 및 조립 순서

  1. 바닥: 20cm x 20cm 정사각형 1개
  2. 양쪽 옆면: 14cm x 16cm 이등변 사다리꼴 2개 (한쪽엔 서보 장착용 직사각형 구멍, 반대편엔 서보 축 맞춤용 3mm 구멍)
  3. 내부 지지대: 14cm x 4cm 직사각형 4개 (하나는 Y축 서보 장착용 구멍, 중앙에 3mm 구멍)
  4. 미로 판: 12cm x 12cm 정사각형 (첨부된 미로 도안 중 선택 후 종이 출력해 붙이고 벽 재단 가이드로 사용)
  5. 미로 벽: 1.5cm x 12cm 직사각형 8개 이상 (미로 도안에 맞게 잘라 붙이기)
  6. 서보 모터 장착: X축(좌우 기울임), Y축(앞뒤 기울임) 서보를 지정된 구멍에 고정
  7. 서보 혼(혼)을 지지대/미로 판 연결부에 볼트/너트로 고정
아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

배선도

아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

코드 업로드

  1. 아두이노를 USB로 PC 연결
  2. 아두이노 IDE 열기 → 새 스케치에 코드 복사
  3. 툴 → 보드 → 아두이노 우노 선택, 포트 선택
  4. 업로드 버튼 클릭
  5. "Done uploading" 메시지 확인 후 플레이!

코드: 조이스틱으로 미로 기울이기

#include <Servo.h>

Servo myServoX; // X축 서보
Servo myServoY; // Y축 서보

int ServoXPin = 8;
int ServoYPin = 9;
int ServoXHomePos = 90; // 중립 위치
int ServoYHomePos = 90;
int ServoXPos = 103;    // 초기 오프셋 보정값
int ServoYPos = 135;

int XAxlePin = A0; // 조이스틱 X
int YAxlePin = A1; // 조이스틱 Y
int XAxleValue = 0;
int YAxleValue = 0;

int range = 12;      // 조이스틱 출력 범위 (-6 ~ +6)
int center = range/2; // 중립값
int threshold = range/4; // 데드존 임계값

void setup() {
  myServoX.attach(ServoXPin);
  myServoY.attach(ServoYPin);
  ServoXPos = ServoXHomePos;
  ServoYPos = ServoYHomePos;
  myServoX.write(ServoXPos);
  myServoY.write(ServoYPos);
  Serial.begin(9600);
}

void loop() {
  XAxleValue = readAxis(XAxlePin);
  YAxleValue = readAxis(YAxlePin);
  
  Serial.print(XAxleValue); Serial.print(" - "); Serial.println(YAxleValue);
  
  // 조이스틱 입력에 비례해 서보 각도 증감 (부드러운 움직임을 위해 지연 조절)
  if (XAxleValue > 0) { ServoXPos++; myServoX.write(ServoXPos); delay(100*(7-XAxleValue)); }
  if (XAxleValue < 0) { ServoXPos--; myServoX.write(ServoXPos); delay(100*(7+XAxleValue)); }
  if (YAxleValue > 0) { ServoYPos++; myServoY.write(ServoYPos); delay(100*(7-YAxleValue)); }
  if (YAxleValue < 0) { ServoYPos--; myServoY.write(ServoYPos); delay(100*(7+YAxleValue)); }
  
  // 서보 각도 제한 (±20도)
  ServoXPos = constrain(ServoXPos, ServoXHomePos-20, ServoXHomePos+20);
  ServoYPos = constrain(ServoYPos, ServoYHomePos-20, ServoYHomePos+20);
  
  delay(10);
}

// 조이스틱 아날로그 값을 -6~+6 범위의 정수로 매핑 및 데드존 처리
int readAxis(int thisAxis) {
  int reading = analogRead(thisAxis);
  reading = map(reading, 0, 1023, 0, range);
  int distance = reading - center;
  if (abs(distance) < threshold) distance = 0;
  return distance;
}

확장 아이디어

회로도

아두이노 구슬 미로 게임: 골판지로 만드는 DIY 보드게임

골판지와 서보 2개만으로 아날로그 감성의 게임기를 만들 수 있습니다. 아이들과 함께 만들어 보세요!

제조공정

  1. 아두이노 나노 33 BLE 센스에서 Edge Impulse로 구현하는 TinyML 언어 감지기
  2. 아두이노 나노와 MPU-6050으로 실시간 자이로스코프 게임 만들기
  3. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  4. 아두이노 아이언맨 제작: 부품, 센서, 단계별 가이드
  5. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  6. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  7. 아두이노 소나 & 프로세싱으로 실시간 거리 측정 및 시각화
  8. MobBob: 아두이노 로봇 직접 만들기, 안드로이드 스마트폰으로 매끄럽게 제어
  9. 아두이노 나노로 만드는 오디오 반응형 책상 무드등 (주소 지정 LED)
  10. 아두이노 나노와 네오픽셀 매트릭스로 만드는 네온 퐁 게임