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

Arduino 아케이드 LEGO 게임 박스

구성품 및 소모품

Arduino Nano R3
× 1
TP4056 배터리 충전 및 방전 컨트롤러
× 1
SparkFun 큰 빨간색 돔 버튼
× 4
Adafruit Standard LCD - 파란색 바탕에 16x2 흰색
× 1

필요한 도구 및 기계

납땜 인두(일반)

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

자녀가 있는 경우 자녀를 위해 구입한 레고 세트와 동일한 문제에 직면할 수 있습니다. 그들은 조립하고 가지고 놀지만 잠시 후 세트는 하나의 벽돌 더미로 바뀝니다. 아이들은 커서 이 더미를 어떻게 해야 할지 모릅니다.

우리는 불필요한 레고 브릭을 재활용하기로 결정하고 아케이드 게임을 만들었습니다.

이 단계별 가이드는 게임을 반복 가능하고 매우 저렴한 비용으로 만들기 위해 몇 달 동안 작업한 결과입니다. 거의 누구나 이 프로젝트를 반복할 수 있습니다! 코드는 종속성이 없고 모든 Arduino 보드에서 컴파일되는 방식으로 작성되었습니다. 물론 게임은 우리 아이들에 의해 집중적으로 테스트되었습니다 :-)

이 게임은 이전에 출시된 다른 많은 게임과 어떻게 다릅니까?

우선 5개의 게임이 내장되어 있습니다.

<울>
  • 메모리 게임(Touch Me 게임과 유사한 "Simon-Says"와 유사)
  • <울>
  • 반응 게임(두더지 치기 게임과 유사)
  • <울>
  • 경연/대회 게임(2-4인용)
  • <울>
  • 멜로디 게임(유아 및 어린이를 위한 푸시 앤 플레이 무료 모드)
  • <울>
  • 워 게임(성인 2-4명용)
  • 둘째, 우리의 관점에서 볼 때 훌륭한 디자인을 가지고 있으며 쉽게 반복할 수 있습니다.

    셋째, 플라스틱을 재활용할 수 있기 때문에 지구 친화적입니다.

    이 가이드의 끝에는 비디오 형식을 선호하는 경우를 위한 단계별 비디오도 있습니다.

    1단계:부품 목록

    이 프로젝트가 마음에 들지만 불필요한 레고 블록 더미가 없다면 가장 쉬운 방법은 900개 들어 있는 레고 ​​클래식 10704 세트를 구입하는 것입니다.

    다음은 이 프로젝트를 만드는 데 필요한 항목 목록입니다.

    <울>
  • 1kg(2lb)의 원치 않는 레고 브릭(또는 Mega Bloks와 같은 다른 브랜드의 유사한 브릭)
  • <울>
  • 25 x 25cm 레고용 베이스 플레이트(또는 다른 브랜드의 유사 제품). 레고 베이스에는 32 x 32 도트가 있습니다. 당신이 그것을 가지고 있지 않은 경우 - 기본 비용은 약 3$ 포함. 온라인 구매 시 우송료(검색어 "32 25 블록")
  • <울>
  • 30 x 30 cm 투명 플렉시 유리 조각(두께 5 또는 6mm)
  • <울>
  • 4 x 큰 아케이드 스타일의 60mm 푸시 버튼(빨간색, 녹색, 파란색, 노란색 권장)(온라인 상점 검색:"60mm 아케이드 버튼"). 그것들은 각각 약 2$로 이 빌드에서 가장 비싼 구성 요소입니다.
  • <울>
  • 2 x 16mm 반경의 순간 푸시 버튼(화이트와 블랙 추천) (검색어:"16mm 푸시 버튼")
  • <울>
  • 전원 켜기/끄기 로커 스위치 27x21mm 장착 크기(4핀이 있는 투명 빨간색 권장)(검색어:"로커 스위치 16a")
  • <울>
  • 아두이노 나노
  • <울>
  • 1602 LCD 디스플레이 및 I2C 연결 모듈
  • <울>
  • 2 x 4ohm 5W 스피커, 크기 30 x 70mm (다른 작은 것을 사용할 수 있지만 CAD 도면은 30x70mm용)
  • <울>
  • 8 x 6cm 프로토타입 보드 또는 830핀 브레드보드
  • <울>
  • 2x18650 충전식 배터리(고장난 노트북 배터리에서 재활용 가능)
  • <울>
  • 더블 18650 배터리 홀더(검색어:"홀더 2 x 18650")
  • <울>
  • TP4056 충전 컨트롤러 및 방전 보호 장치
  • <울>
  • 5V 승압 컨버터(최소 500mA)
  • <울>
  • 작은 물건:전선 몇 개, Mini-USB 케이블 또는 DIY 플러그, PCB 브레이크아웃의 Micro-USB 소켓, M3 볼트/너트/와셔, 상단 덮개 나사 4개
  • <울>
  • 저항기:6 x 100ohm, 1 x 1k, 3 x 10k
  • 2단계:상자 만들기

    이것은 자녀에게 위임할 수 있는 프로젝트의 가장 쉬운 부분입니다.

    레고 32x32 포인트 베이스플레이트를 가지고 재활용 부품으로 벽을 깔아보세요. 총 9개의 레이어가 있어야 합니다. 무작위 색상의 벽돌 벽이 주요 초점이 되도록 베이스에 밝은 회색을 선택했습니다.

    비슷한 상자는 없을 것입니다. 레이어를 만들 때 창의력을 발휘하십시오. 작은 부품이라도 재활용하세요. 보기에 좋습니다. 또한 불규칙한 모양도 멋지게 보입니다. 창문, 자동차 앞유리, 문 및 상자를 추가하십시오.

    상자에는 하나 이상의 풀 사이즈 레고 도어가 있어야 합니다. 이것은 벽에 로커 스위치를 설치하는 데 필요합니다.

    3단계:상단 덮개 만들기

    상단 덮개는 5 또는 6mm 플렉시 유리(투명 아크릴 시트)로 만들어집니다. CAD 도면을 다운로드하고 USB 스틱에 넣은 다음 가까운 CNC 상점에 가십시오. CAD 도면에는 로커 스위치 장착 플레이트도 포함됩니다(그림 참조).

    상판의 마무리 작업을 해야 합니다. 사포와 나무 블록으로 가장자리를 베벨링하십시오. 또한 구멍을 뚫어 스피커와 1602 디스플레이를 장착합니다. 1602 디스플레이는 또한 아크릴 시트의 LCD 창 측면에 작은 삼각형이 필요합니다(사진 참조). 회전 도구(dremel)와 작은 라우터 비트를 사용하여 절반 깊이로 이 작업을 수행했습니다.

    top-template2.dxf

    4단계:상단 덮개에 모든 구성 요소 추가

    큰 아케이드 버튼 4개, 게임 변경/선택 버튼 2개, 스피커 2개, 1602 LCD+I2C 모듈을 설치하세요. 모든 것은 뒷면에 M3 나사 + M3 와셔와 너트로 고정되어 있습니다.

    아케이드 버튼을 설치하기 전에 - LED 조명 홀더를 제거하십시오. 약간 수정해야 합니다. 다음 단계를 참조하세요.

    5단계:아케이드 버튼의 LED 모딩

    이 아케이드 버튼은 12V에서 작동하도록 설계되었습니다. 그들은 이 프로젝트의 기본 전압인 5V로 작동하지만 너무 어둡습니다. 그래서 아케이드 버튼에서 LED 소켓을 제거하고 LED 홀더를 밀어내고 저항이 있는 LED를 제거했습니다. 460ohm 저항은 납땜을 제거하고 100ohm으로 교체해야 합니다. 완료되면 모든 것을 다시 조립하고 홀더가 있는 LED를 버튼에 설치했습니다.

    6단계:(선택 사항) 컨트롤 버튼 레이블

    2개의 컨트롤 버튼에 있는 라벨을 보셨을 것입니다. 빌드의 첫 번째 버전에는 해당 항목이 없었지만 두 번째 빌드를 반복할 때 추가하기로 결정했습니다.

    두 버튼 모두 게임 상태에 따라 여러 기능을 가지고 있습니다. 흰색 버튼은 선택한 게임을 시작하거나 일부 게임 중에 선택을 확인합니다. 검은색 버튼은 선택한 게임을 변경하거나 게임 중 종료합니다.

    원형 라벨을 만들려면 얇은 알루미늄 시트(최대 1mm 두께), 구멍 톱 드릴 비트, 계단식 드릴 비트 및 레터 펀치가 필요합니다(그림 참조). 먼저 구멍 톱을 사용하여 원을 자릅니다. 그런 다음 계단식 비트로 내경을 확대한 다음 레터펀치를 사용하여 레이블을 만듭니다. 글자를 더 잘 보이게 하려면 영구적인 검은색 마커(샤피)를 사용하십시오.

    7단계:세부 보드 만들기

    여기에는 두 가지 옵션이 있습니다. 브레드보드를 ​​사용하고 브레드보드를 ​​통해 케이블로 Arduino를 배선하거나 LCD 패널 뒷면에 작은 브레이크아웃을 설치합니다.

    첫 번째 빌드에서는 브레드보드를 ​​사용했습니다(그림 참조). 두 번째 빌드에서는 브레이크아웃 보드를 만드는 데 더 많은 시간을 할애하기로 결정했습니다. 기능은 변경되지 않지만 전선이 적고 브레이크 아웃이 LCD 패널 아래에 숨겨져 있습니다.

    브레이크아웃 보드를 선택했다면 8x6 프로토타입 보드를 사진과 같이 잘라냅니다. 더 큰 부분은 브레이크아웃에 사용되고 더 작은 부분은 전원 공급 장치를 만드는 데 사용됩니다.

    이 프로토 보드에 Arduino Nano를 납땜하십시오.

    8단계:연결 배선

    몇 가지 케이블을 준비하고 다이어그램에 따라 설정, 스위치 및 연결을 Nano에 연결합니다.

    이더넷 트위스트 페어 케이블을 사용하기 시작한 이후로 나는 내 프로젝트의 전선을 어디에서 소싱해야 하는지에 대한 골칫거리를 잊었습니다. 색상이 다르고 멀티코어이므로 쉽게 부서지지 않습니다. 그들과 함께 작업할 때 주의해야 할 유일한 것은 절연체가 타지 않도록 납땜이 매우 빨라야 한다는 것입니다.

    스피커 연결을 위해 100ohm 저항이 어떻게 배선되어 있는지 확인하십시오.

    연결에 대한 몇 가지 참고 사항:

    <울>
  • 나노에서 내부 풀업 저항이 사용되기 때문에 블랙/화이트 컨트롤 버튼은 핀 D2/3에서 접지로 직접 연결됩니다.
  • <울>
  • A4/5는 I2C SDA/SCL 핀에 연결됩니다. 이것은 LCD I2C 모듈에 필요합니다.
  • <울>
  • 스피커는 PWM이 활성화되어 있으므로 D10/11에 연결해야 합니다.
  • <울>
  • 모든 접지선을 쉽게 연결할 수 있도록 작은 구리선을 접지선으로 추가하는 것이 좋습니다(약 5개 있음).
  • 9단계:버튼 배선

    모든 아케이드 버튼은 일련의 저항기를 통해 단일 핀 A1에 연결됩니다. A1은 Internal Analog Pull-up으로 설정되어 있습니다. 이것은 우리가 버튼으로 나가는 전선의 수를 줄이는 데 도움이 된 Arduino의 잘 알려지지 않은 기능 중 하나입니다.

    따라서 설정은 다음과 같이 진행됩니다:A1에서 1k 저항을 통해 첫 번째 버튼까지. button1에서 button2를 거쳐 10k까지. button2에서 button3으로 10k로, button3에서 button4에서 10k로. "닫기" 상태의 각 버튼은 접지에 단락됩니다. LED의 각 버튼에는 이미 접지가 있으므로 각 스위치의 두 번째 핀은 LED에서 접지에 연결됩니다. 배선을 이해하려면 다이어그램을 살펴보십시오.

    이때 Mini-USB 케이블을 Arduino Nano에 연결하면 스케치를 업로드한 후 게임을 플레이할 수 있습니다. 게임을 휴대할 수 있도록 전원 공급 장치만 있으면 됩니다.

    10단계:배터리 설치

    나는 죽은 노트북 배터리에서 두 개의 재활용 18650 셀을 사용했습니다. 이것들은 더 높은 부하 애플리케이션에 사용하고 싶지 않은 저용량(약 600mAh)입니다. 기기는 실제로 그렇게 많은 전력을 사용하지 않으므로 며칠 동안 게임을 실행하기에 충분할 것입니다.

    배터리는 이중 18650 배터리 홀더에 설치되며 전원 공급 장치에 쉽게 부착할 수 있는 커넥터가 있습니다.

    11단계:USB 소켓 확장기 설치

    게임은 분해 없이 펌웨어를 충전하고 업그레이드할 수 있어야 합니다. 그래서 마이크로 USB 커넥터를 숨기기 위해 블록 중 하나를 뚫었습니다.

    USB를 벽돌 벽에서 Arduino Nano로 확장하기 위해 Mini-USB 케이블을 가져와 USB-A 끝(큰 USB 커넥터)을 잘라내고 전선을 벗겨냈습니다. 제 경우에는 빨간색/검정색이 전원이고 흰색/녹색이 D+/- 연결이었습니다.

    D+/-는 Micro-USB 브레이크아웃에 납땜해야 합니다. 5V 및 접지(빨간색/검정색)는 전원 공급 장치를 통과해야 합니다.

    Nano가 Mini-USB를 사용하는 경우 Micro-USB 브레이크아웃을 선택한 이유는 무엇입니까? Micro-USB는 우리 가정의 모든 곳에 있기 때문에 전화 및 기타 장치를 충전하는 데 사용됩니다. 따라서 전화 케이블로 게임을 충전하고 펌웨어를 업그레이드할 수 있습니다 :-)

    12단계:전원 공급 장치 만들기

    나는 더 작은 프로토타입 보드를 가지고 바로 그 위에 TP4056 배터리 충전기와 보호 모듈, 그리고 5V 부스터를 납땜했습니다.

    TP4056으로의 입력은 Micro-USB 소켓에서 나옵니다. 배터리 케이블은 B+/-로 표시된 TP4056 핀에 연결됩니다. OUT+/-로 표시된 핀은 로커 스위치로 연결됩니다. 로커 스위치에서 +/- 연결이 5V 부스터 모듈로 들어가고 부스터 출력에서 ​​벗겨진 USB 케이블의 빨간색/검정색 와이어가 연결됩니다.

    배선을 이해하려면 다이어그램을 살펴보십시오.

    13단계:Epoxy Micro USB 브레이크아웃

    레고 브릭의 Micro-USB 브레이크아웃을 수정하기 위해 약간의 에폭시를 사용했습니다. 경화된 후에는 소켓이 휴대폰에 있는 소켓보다 더 견고해져서 아이들이 게임을 충전할 수 있고 깨지지 않을 것입니다.

    이 부분에는 속경화 에폭시를 사용하는 것이 좋습니다. 없으시다면 레진에 경화제를 조금 더 넣고 잠시 놔두세요.

    14단계:로커 스위치 설치, 전원 하니스 연결

    이 스위치는 거대합니다. 250V 주전원 전압용으로 설계되었습니다. 하지만 이 모델이 보기에 좋고 표준 레고 시티 도어에 완벽하게 들어맞기 때문에 이 모델을 계속 사용했습니다. 그래서 마운팅 플레이트에 스위치를 삽입한 다음 2개의 나사를 사용하여 플레이트를 벽돌 벽에 고정했습니다(벽은 미리 뚫려 있음).

    또한 이제 하네스와 레고 브릭에 에폭시 처리된 Micro-USB 브레이크아웃을 마침내 설치할 수 있습니다. 구성 요소를 베이스에 부착하는 데 몇 가지 추가 브릭이 사용된 방법을 확인하세요.

    15단계:뚜껑 닫기

    상단 커버에 고정되어 있는 아두이노 나노에 Mini-USB 케이블을 삽입하고 뚜껑을 닫아주세요.

    벽에 4개의 구멍을 미리 뚫고 4개의 나사를 사용하여 상단을 상자에 고정했습니다.

    16단계:코드

    게임의 첫 번째 버전은 제가 작성했고 그 다음에는 4개의 게임을 더 추가하고 코드를 완벽하게 정리한 친구 Alex의 새로운 4개 버전이 있습니다. 또한 사운드에는 Reyboz의 작업을 사용했습니다. 이 코드를 사용하여 생성된 사운드 수준은 Arduino의 Tone 라이브러리를 사용하여 기본적으로 제공되는 것과 비교할 때 놀랍습니다.

    언급했듯이 코드는 아이들의 광범위한 QA 테스트 후 몇 달 동안 최적화되었으며 현재 GitHub에 버전 4를 업로드했습니다.

    최신 버전의 소스 코드:https://github.com/LenkaDesign/Arduino-Arcade-Lego-Games-Box

    1602 I2C LCD 라이브러리(Arduino IDE 라이브러리 관리자 내에서 사용 가능)를 설치한 다음 코드를 업로드하기만 하면 됩니다.

    먼저 button-calibration.ino를 업로드합니다. 그리고 각 아케이드 버튼이 생산하는 가치를 종이에 기록하십시오. 이 스크립트는 EEPROM도 지워서 최고 점수가 재설정됩니다.

    그 후 Game-Settings.h에서 변경합니다. 보정하고 메인 Lego-Games-Box.ino를 업로드한 버튼의 값 파일이 있으면 재생을 시작할 수 있습니다(위에 제공된 회로도에 따라 모든 것을 연결한 경우).

    참고 :이 게임을 어린이용으로 만드는 경우 Game-settings.h에서 삭제하세요. String GameTitle[] ={"Memory Game", "Reaction Game", "Tournament Game", "Melody Game", "Nuclear War Game"}의 마지막 항목; 이 마지막 항목에는 각 플레이어가 적을 선택하는 규칙이 있으며 아이들에게 너무 적대적일 수 있습니다.

    17단계:자세한 방법 비디오

    지침을 읽는 대신 동영상을 보는 것이 더 쉽다고 생각되면 이 빌드의 동영상 버전을 참조하세요.

    18단계:게임 규칙

    현재 5개의 게임이 구현되어 있습니다. 이 상자를 사용하여 만들 수 있는 게임에 대한 더 많은 아이디어가 있으면 의견에 알려주십시오. 각 게임에 대해 규칙과 게임 방법을 간략하게 설명하겠습니다.

    측면의 로커 스위치를 돌려 레고 아케이드 게임 박스를 켭니다. 모든 게임에는 향수를 불러일으키는 마리오 게임의 사운드가 함께 제공됩니다. 시작 시 Mario 게임의 시작 멜로디가 들립니다.

    시작되면 LCD 디스플레이에 현재 선택된 게임이 표시됩니다. 게임을 변경하려면 검은색 버튼을 누르세요.

    플레이할 게임을 결정했으면 흰색 버튼을 눌러 시작하세요.

    이미 실행 중인 게임을 종료하려면 검은색 버튼을 눌러야 합니다.

    시작할 때 빨간색 버튼을 눌러 소리를 끌 수 있습니다(야간 모드). .

    기억 게임 (Touch Me 게임과 유사한 "Simon-Says"와 유사)

    규칙은 잘 알려져 있고 간단합니다. 게임은 일련의 음표/조명을 표시하며 반복해야 합니다. 시퀀스에 톤/조명이 하나 더 추가될 때마다. 오래 살아남을수록 기억력이 좋아집니다. 어린이와 성인의 단기 기억력 훈련에 탁월합니다.

    반응 게임 (두더지 때리기 게임과 유사)

    불이 들어오는 각 버튼을 누르려면 충분히 빨라야 합니다. 오래 연주할수록 버튼이 더 빨리 켜집니다. 이것은 어린이와 성인의 훈련 반응에 좋습니다.

    콘테스트/대회 게임 (2-4인용)

    5 라운드가 주어집니다. 신호가 주어진 후 모두는 그의 버튼을 정말 빨리 눌러야 합니다(Mario의 코인 튠). 먼저 버튼을 누르는 사람이 라운드에서 승리합니다. 5라운드 종료 후 승패를 계산하여 승자를 발표합니다.

    멜로디 게임 (유아 및 작은 유아를 위한 푸시 앤 플레이 무료 모드)

    이것은 유아에게 탁월합니다. 버튼을 누르고 있으면 번갈아 가며 연주합니다. 아이들과 함께 초기 테스트 후 우리는 1살짜리 작은 아이가 정말로 놀고 싶어하지만 방법을 이해하지 못한다는 것을 깨달았습니다. 이 게임의 규칙은 - 규칙이 없습니다. 아무 버튼이나 누르면 소리가 납니다.

    워 게임 (성인 2-4명)

    이 게임 박스의 후속 버전을 프로그래밍한 내 친구 Alex는 누가 더 큰 핵 버튼을 가지고 있는지에 대한 Trump/Kim 위기 동안 이 게임에 대한 아이디어를 생각해 냈습니다. 규칙은 설명을 위해 별도의 비디오가 필요하지만(여기 및 여기에서 찾을 수 있음) 간단히 말해서 처음에 플레이어 수를 선택하고 각 라운드 동안 각 사람이 적을 선택합니다. 모두가 적을 선택하면 미사일이 날기 시작합니다. 적으로 선택된 사람은 버튼을 눌러 교차로 미사일을 보내고 조국을 구할 수 있는 시간이 있습니다. 라운드는 한 국가만 남을 때까지 계속됩니다.

    19단계:최종 결과

    우리는 아이들을 위한 게임을 만들기 위해 시간을 보낸 3명의 친구입니다. 우리는 당신이 이 지침을 사용하여 자신의 버전을 구축할 수 있도록 게임을 정말 좋아하기를 바랍니다. 질문이나 제안 사항이 있으면 댓글에 게시해 주세요.

    고해상도 최종 사진:

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    깃허브
    https://github.com/LenkaDesign/Arduino-Arcade-Lego-Games-Boxhttps://github.com/LenkaDesign/Arduino-Arcade-Lego-Games-Box

    맞춤형 부품 및 인클로저

    top-template2_Ku502q1zeA.dxf

    회로도


    제조공정

    1. 주스 상자
    2. 핀볼
    3. 라즈베리 파이 CD 상자 로봇
    4. Arduino UNO를 사용한 오징어 게임 인형 빌드
    5. Giftduino - 완벽한 Arduino 선물 상자
    6. Arduino 스파이봇
    7. FlickMote
    8. 수제 TV B-Gone
    9. 마스터 시계
    10. 자동 레고 슈터