
키보드와 게임패드를 잊으세요—자신의 몸을 사용하여 운전하세요! 3D 프린터로 제작한 핸들을 사용하여 조향할 수 있는 DIY 레이싱 휠을 만드세요. 이때 다리 근육이 가속 페달과 브레이크 페달이 됩니다. Neuro Playground Lite (NPG Lite)가 EMG 신호를 읽고 MPU6050가 조향을 추적하여, 전체 설정이 Bluetooth를 통해 무선 Xbox 컨트롤러로 작동합니다. 신경 과학, 전자 공학, 게임을 결합한 흥미로운 프로젝트로, 진정으로 몰입감 있는 레이싱 경험을 제공합니다.
STEP 1. 준비물
하드웨어:
- Neuro PlayGround Lite (탐험가, 닌자, 또는 야수 팩)
- MPU6050 자이로/가속도계 모듈 (가능하면 Qwiic 포트가 있는 것)
- Qwiic 케이블 (또는 MPU6050에 Qwiic 커넥터가 없는 경우 점퍼 와이어 / 납땜 장비)
- 3D 프린트 스티어링 휠 (STL 파일을 다운로드하고 인쇄)
- 볼 조인트 헤드가 있는 카메라 삼각대 (휠을 장착하고 회전시키기 위해)
- 장착 나사 (NPG Lite 케이스와 호환)
- 5x 젤 전극 & 5x 스냅 케이블 (2 EMG 채널용)
- 알코올 솜 (피부 준비용)
- USB-C 케이블
소프트웨어:
- Bluetooth 기능이 있는 PC와 어떤 컨트롤러 지원 레이싱 게임
- Arduino IDE 설치됨
- NimBLE-Arduino (h2zero 제공)
- Callback (Tom Stewart 제공)
- Adafruit MPU6050
- Adafruit NeoPixel
- ESP32-BLE-CompositeHID
STEP 2. 스티어링 휠 만들기




NPG Lite를 호환 가능한 나사를 사용하여 3D 프린트된 스티어링 휠에 장착하세요.
스티어링 휠을 삼각대나 자유롭게 좌우 회전할 수 있는 스탠드에 부착하세요.
마지막으로, Qwiic 케이블을 사용하여 MPU6050을 Qwiic 포트에 연결하세요.
참고: MPU6050 보드에 Qwiic 커넥터가 없는 경우, 케이블을 모듈에 직접 납땜하거나 점퍼 와이어를 사용하세요.
STEP 3. NPG Lite 연결하기


- 전원 스위치를 사용하여 NPG Lite를 켭니다.
- 전원이 켜지지 않으면 배터리 커넥터가 연결되어 있는지 확인합니다.
- USB Type-C 케이블을 사용하여 NPG Lite를 컴퓨터에 연결합니다.
STEP 4. 라이브러리 설치




Arduino IDE를 열고 다음으로 이동하세요:
스케치 → 라이브러리 포함 → 라이브러리 관리...
다음 라이브러리를 하나씩 검색하여 설치하세요:
- NimBLE-Arduino (제작자: h2zero)
- Callback (제작자: Tom Stewart)
- Adafruit MPU6050 (제작자: Adafruit)
- Adafruit NeoPixel (제작자: Adafruit)
STEP 5. ESP32-BLE-CompositeHID 설치하기


ESP32-BLE-CompositeHID 라이브러리는 Arduino 라이브러리 관리자에서 사용할 수 없습니다.
- Upside Down Labs GitHub 저장소에서 라이브러리를 ZIP 파일로 다운로드합니다.
- Arduino IDE에서 다음으로 이동합니다:
- 스케치 → 라이브러리 포함 → .ZIP 라이브러리 추가...
- 다운로드한 ZIP 파일을 선택하고 열기를 클릭합니다.
이제 라이브러리가 설치됩니다.
중요
ESP32-BLE-CompositeHID를 설치하기 전에, 이미 설치된 경우 다음 라이브러리를 제거해야 합니다:
- ESP32 BLE Combo
- ESP32-BLE-Keyboard
- ESP32-BLE-Mouse
이 라이브러리들은 동일한 BleConnectionStatus 파일을 포함하고 있어 "다중 정의" 컴파일 오류를 발생시킵니다. 이들을 제거하면 펌웨어가 성공적으로 컴파일됩니다.
STEP 6. 펌웨어 업로드





이제 Arduino IDE와 모든 필수 라이브러리를 설치했으므로, Gaming Wheel 펌웨어를 NPG Lite에 업로드할 시간입니다.
- Arduino IDE를 엽니다.
- Boards Manager에서 ESP32 by Espressif Systems (버전 3.2.0)을 설치합니다.
- 도구 → 보드 → Boards Manager로 이동합니다.
- ESP32를 검색합니다.
- Espressif Systems의 버전 3.2.0을 설치합니다.
- NPG-Lite-Arduino-Firmware 리포지토리를 다운로드하거나 엽니다.
- NPG-Lite-Gaming 폴더로 이동하여 펌웨어 코드를 복사합니다.
- Arduino IDE에서 새 스케치를 엽니다.
- 기본 코드를 삭제하고 Gaming Wheel 펌웨어를 붙여넣습니다.
- USB Type-C 케이블을 사용하여 NPG Lite를 컴퓨터에 연결합니다.
- 도구 → 포트에서 올바른 COM 포트를 선택합니다 ( ESP32 Family Device로 표시될 수 있습니다).
- 올바른 보드를 선택합니다:
- 도구 → 보드 → ESP32 Arduino → ESP32C6 Dev Module
- 업로드 버튼을 클릭하고 펌웨어 업로드가 완료될 때까지 기다립니다.
STEP 7. 전극 배치

- 양쪽 다리의 짧은종아리근(Fibularis brevis muscle) 부위와 뼈가 있는 부위 한 곳의 피부를 알코올 솜으로 닦아 준비한 다음, 피부가 완전히 마르도록 하십시오. 위의 전극 배치 그림을 참조하십시오.
- BioAmp 케이블을 젤 전극에 연결하고, 플라스틱 포장에서 전극을 떼어 위의 그림에 따라 피부에 붙이십시오.
- 오른쪽 다리의 양극과 음극을 각각 A0P와 A0N에, 왼쪽 다리의 양극과 음극을 각각 A1P와 A1N에 연결하고, 기준 전극은 Ref:에 연결하십시오.
- A0 는 가속 페달 다리입니다.
- A1 은 브레이크 페달 다리입니다.
- 각 채널에서 양극과 음극 전극을 다리 근육 위에 몇 센티미터 간격으로 놓고, 근육 섬유와 평행하게 배치하십시오.
STEP 8. BioAmp 케이블을 연결하세요.





젤 전극을 다리에 부착한 후, 스냅 케이블을 전극에 연결하고 NPG Lite에 다음과 같이 연결합니다:
- 오른쪽 다리 (가속기) 양성 (+) 전극 → A0P
- 음성 (–) 전극 → A0N
- 왼쪽 다리 (브레이크) 양성 (+) 전극 → A1P
- 음성 (–) 전극 → A1N
- 참조 전극 연결 참조 전극 → REF
채널 할당
- A0는 가속기를 제어합니다.
- A1은 브레이크를 제어합니다.
팁: 장치를 켜기 전에 모든 케이블 연결을 다시 확인하여 신뢰할 수 있는 EMG 신호 감지를 보장하세요.
STEP 9. NPG 라이트 페어링


- 컴퓨터에서 Bluetooth를 활성화하세요.
- NPG-Lite-Gaming이라는 새로운 Bluetooth 장치가 나타나야 합니다.
- 연결하세요.
만약 나타나지 않는다면:
- MPU6050이 올바르게 연결되었는지 확인하세요.
- MPU6050 전원 LED가 켜져 있는지 확인하세요.
- MPU6050이 감지된 후에만 Bluetooth가 시작됩니다.
STEP 10. 스티어링 휠 보정하기



Bluetooth를 통해 NPG Lite를 컴퓨터에 연결한 후, 게임을 시작하기 전에 스티어링 휠을 보정해야 합니다.
- 스티어링 휠을 중앙에 두고 고정하세요.
- NPG Lite가 진동할 때까지 기다리세요. 이는 보정 과정이 시작되었음을 나타냅니다.
- 첫 번째 진동이 시작되면: 스티어링 휠을 왼쪽으로 완전히 돌리세요.
- 원하는 최대 왼쪽 조향 각도에서 유지하세요.
- 진동이 멈추면: 스티어링 휠을 중앙으로 되돌리세요.
- 두 번째 진동이 시작되면: 스티어링 휠을 오른쪽으로 완전히 돌리세요.
- 원하는 최대 오른쪽 조향 각도에서 유지하세요.
- 진동이 멈추면: 스티어링 휠을 중앙으로 되돌리세요.
- 짧은 최종 진동 후, 보정이 완료되며 스티어링 휠을 사용할 준비가 됩니다.
팁: 보정 중 설정한 왼쪽 및 오른쪽 각도는 게임 중 최대 조향 한계가 됩니다. 자신의 운전 스타일에 맞는 편안한 각도를 선택하세요.
재보정이 필요하신가요? NPG Lite의 리셋 버튼을 간단히 누르세요. 장치가 자동으로 재연결되며, 보정 과정을 반복할 수 있습니다.
STEP 11. 게임 시작


보정이 완료되면 Xbox 또는 Bluetooth 컨트롤러를 지원하는 레이싱 게임을 실행하세요.
조작 방법
- 조향차량을 조향하기 위해 스티어링 휠을 돌립니다.
- 휠을 더 많이 돌릴수록 차량이 더 날카롭게 회전합니다.
- 가속 페달가속하기 위해 오른쪽 다리의 근육을 수축시킵니다.
- 더 강한 근육 수축은 더 많은 스로틀을 발생시킵니다.
- 브레이크브레이크를 적용하기 위해 왼쪽 다리의 근육을 수축시킵니다.
- 더 큰 근육 수축은 더 강한 제동을 생성합니다.
- A 버튼NPG Lite에서 BOOT 버튼을 눌러 가상 Xbox 컨트롤러의 A 버튼을 사용합니다.
- 진동 피드백게임이 컨트롤러 진동을 지원하는 경우, NPG Lite가 진동하여 촉각 피드백을 제공하며, 운전 경험을 더욱 몰입감 있게 만듭니다.
STEP 12. 상태 LED 이해하기

NPG Lite에는 여섯 개의 RGB LED가 있지만, 이 프로젝트에서는 LED 1, LED 4, LED 6을 사용하여 장치 상태를 표시합니다.
LED 1 – 블루투스 상태
- 빨간색: 블루투스 연결을 기다리고 있습니다.
- 초록색: 블루투스를 통해 성공적으로 연결되었습니다.
- 파란색: 조향 움직임 또는 페달(EMG) 입력이 감지되고 있습니다.
LED 4 – MPU6050 상태
- 희미한 빨간색: MPU6050 센서를 감지할 때까지 기다리고 있습니다.
- 초록색: MPU6050이 연결되어 정상적으로 작동하고 있습니다.
참고: 플레이 중에 MPU6050이 분리되면:
- 블루투스 연결이 자동으로 끊어집니다.
- LED 4는 희미한 빨간색으로 돌아갑니다.
- MPU6050을 다시 연결하고 계속하기 전에 스티어링 휠을 재보정하세요.
LED 6 – 배터리 상태
- 초록색: 배터리 수준이 70% 이상입니다.
- 주황색: 배터리 수준이 20%와 70% 사이입니다.
- 빨간색: 배터리 수준이 20% 이하입니다. 장치를 계속 사용하기 전에 배터리를 충전하세요.
STEP 13. 제어 설정 조정
상단의 NPG-Lite-Gaming.ino 파일에서 구성 값을 편집하여 조향 및 페달 감도를 사용자 정의할 수 있습니다.
- 가속기 또는 브레이크가 반응하기 전에 필요한 최소 근육 노력을 설정합니다.
- 이 값을 줄이세요 페달이 반응하기 전에 근육을 너무 세게 긴장해야 하는 경우.
- 전체 스로틀 또는 전체 제동을 달성하는 데 필요한 근육 노력을 설정합니다.
- 이 값을 줄이세요 강한 근육 수축에도 불구하고 최대 페달 입력에 도달할 수 없는 경우.
- 스티어링 휠의 중앙 위치 주위에 작은 중립 영역을 만듭니다.
- 이 값을 늘리세요 휠을 고정했을 때 차량이 왼쪽이나 오른쪽으로 드리프트하는 경우.
- 갑작스러운 움직임을 줄이기 위해 조향 입력을 부드럽게 합니다.
- 더 높은 값은 더 부드러운 조향을 제공하지만 반응에 약간의 지연을 초래할 수 있습니다.
- 중앙 위치 근처의 조향 감도를 조정합니다.
- 더 높은 값은 작은 조향 움직임에 대한 세밀한 제어를 제공하면서 큰 각도에서 전체 조향을 유지합니다.
- 추천 값: 0.3에서 0.5.
STEP 14. 문제 해결
블루투스 장치가 나타나지 않음
NPG-Lite-Gaming이 블루투스 장치 목록에 나타나지 않는 경우:
- MPU6050이 제대로 연결되어 있는지 확인하세요.
- MPU6050 전원 LED가 켜져 있는지 확인하세요.
- NPG Lite의 리셋 버튼을 눌러 다시 연결해 보세요.
조향이 제대로 작동하지 않음
조향이 부정확하거나 반응이 없을 경우:
- NPG Lite의 리셋 버튼을 누르세요.
- 조향 휠 보정 과정을 반복하세요.
가속기 또는 브레이크가 반응하지 않음
페달이 근육 수축에 반응하지 않는 경우:
- 전극이 올바르게 배치되었는지 확인하세요.
- 전극을 부착하기 전에 알코올 솜으로 피부를 깨끗이 하세요.
- 펌웨어에서 EMG_ENV_MIN 값을 낮춰 페달의 민감도를 높이세요.
최대 가속 또는 최대 제동에 도달할 수 없음
강한 근육 수축에도 불구하고 최대 가속이나 제동을 달성할 수 없는 경우:
- 펌웨어에서 EMG_ENV_MAX 값을 줄여 전체 페달 입력에 필요한 노력을 낮추세요.
원문: https://www.instructables.com/Build-Your-Own-Steering-Wheel-Gaming-Setup/