Splatoon 3 포스트 프린터

개요

스플래툰 3편도 이전과 같이 조이스틱을 에뮬레이션 하여 컴퓨터가 대신 그림을 그리게 할 수 있다. 아두이노 등의 마이크로컨트롤러 보드를 통해 한 번의 비용으로 그알못도 여러 포스트를 마음껏 제출할 수 있다.

요새는 Windows Sub Linux (이하 WSL) 환경을 사용하면 간편하게 소스 컴파일 및 플래시 할 수 있다. 이전처럼 minGW 사용하면서 리포지토리 버전 못 맞춰 고생하는 일은 없다.

3편에 맞게 포크된 소스들이 몇 있는데 내 경우, 한 일본인이 수정한 버전이 간편하였다.

데비앙 기반 리눅스와 Arduino 기준으로 정리하였다.

빌드

패키지 설치

sudo apt install avr-libc gcc-avr python3-pip
pip3 install pillow

그림 준비

스플래툰 3편의 포스트 이미지는 1280×480이지만, 그림 그리기는 여전히 320×120이다. 작성된 이미지를 스케일 하나 싶다. 그러므로, 320×120 해상도의 불투명 png 그림을 준비한다.

스플래툰 포스트는 흑과 백의 단색 그림이므로 화려한 그림은 표현이 힘들다. 컬러 그림이라면 우선 그레이스케일 변환 후에 다시 단색으로 변환하면 대체로 컬러에서 바로 변환할 때 보다 나음 품질이 나온다. 참고하여 단색을 준비함이 좋다.

제작한 그림을 클론한 소스 폴더에 넣어주고서 스크립트 명령을 통해 단색 그림 raw 데이터 (image.data)로 변환한다.

// 스크립트 사용해 단색 변환된 이미지 결과값을 png 파일로 저장 시
python3 png2c.py -s (그림).png
// 변환 이미지 결과값이 만족스러우면 image.data 제작
python3 png2c.py (그림).png

컴파일

소스를 컴파일 하면 joystick.hex 바이너리가 만들어진다.

make

장비 연결 (Arduino)

Arduino 공식 안내에 따라 DFU 모드 (플래시 모드)에 진입한다.

플래시 (Arduino)

Linux

sudo apt install dfu-programmer
sudo dfu-programmer (칩 모델) erase
sudo dfu-programmer (칩 모델) flash Joystick.hex
sudo dfu-programmer (칩 모델) reset

Windows

WSL을 사용한다면 Windows 장치관리자에서 인식시켜야 한다.

Arduino의 공식 안내에 따라 다음 과정을 진행한다.

  1. DFU 드라이버 설치
  2. JAVA JRE 설치
  3. Microchip FLIP 설치 및 실행
  4. 칩 모델 선택하고 플래시

그림 출력

  1. 단말기에서 조이콘을 제거하여 무선 이용 상태로 바꾼다.
  2. 스플래툰 3편을 켜고 포스트 작성에 들어가 가장 작은 촉으로 바꾼 후에 커서를 왼쪽 상단으로 옮긴다.
  3. Arduino 연결 후에 그림이 모두 그려질 때까지 기다린다.

그림을 그리다 간혹 커서가 어긋나는데 원인이 사용자인지 아웃풋 에러인지는 파악을 못했다.


게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다