라즈베리파이 아폴로 컴퓨터, 실제 비행 코드를 돌린다

라즈베리파이를 넣은 조작반에서 버튼을 누르면 아폴로 11호의 원래 비행 프로그램이 응답한다. 센서도 우주선도 없는 책상 위에서 이 컴퓨터로 무엇까지 해 볼 수 있을까?

라즈베리파이 아폴로 컴퓨터, 실제 비행 코드를 돌린다
세 줄 요약
  • RecreateDSKY는 버튼과 표시창을 Virtual AGC에 연결해 원래 아폴로 프로그램을 조작하는 제작 프로젝트다.
  • 독립 모드에서는 메모리·시계·알람 등을 다룰 수 있지만 우주선의 센서와 움직임까지 재현하지는 않는다.
  • PC의 Orbiter·NASSP와 연결하면 비행 시뮬레이터의 물리 조작반으로 쓸 수 있다.

숫자만 켜지는 장식이 아니라, 원래 프로그램에 연결된 조작반이다

RecreateDSKY의 버튼을 누르면 안에 있는 라즈베리파이에서 실행 중인 아폴로 컴퓨터 에뮬레이터로 입력이 전달된다. 화면은 그 컴퓨터가 내보내는 값을 표시한다. 복고풍 숫자판에 새 기능을 붙인 제품과 달리, 원래 비행 소프트웨어의 명령과 데이터를 다루는 것이 핵심이다.

10월 22일 Raspberry Pi가 소개한 제작자 Michael Newton의 프로젝트는 실물 크기의 DSKY를 3D 프린터와 현대 부품으로 재현한다. DSKY는 아폴로 유도 컴퓨터인 AGC에 연결하던 표시창·키보드 장치다.

계산을 맡는 것은 Virtual AGC 프로젝트의 에뮬레이터다. 이 프로젝트는 역사적 비행 소프트웨어를 현대 컴퓨터에서 실행할 수 있도록 원 코드와 에뮬레이션 도구를 제공한다. RecreateDSKY 제작 가이드는 준비된 OS의 기본 실행 프로그램을 아폴로 11호 사령선용 Comanche 055로 설명하며, 다른 코어 프로그램을 선택하는 방법도 안내한다.

라즈베리파이는 컴퓨터, Arduino는 버튼과 표시창을 연결한다

역사적 DSKY는 컴퓨터 본체와 연결하는 입출력 장치였다. 이번 복제품은 그 외형 안에 라즈베리파이까지 넣는다. 옛 컴퓨터의 회로 전체를 같은 부품으로 다시 만드는 방식이 아니라, 외형과 조작 경험은 물리 부품으로 만들고 계산은 에뮬레이터가 맡는 구성이다.

구성프로젝트에서 맡는 일
Raspberry PiVirtual AGC와 장치 연결 프로그램을 실행한다.
Arduino 주변 장치키 입력과 표시창·상태 표시등을 연결한다.
3D 프린트 외형보관된 도면을 바탕으로 조작반의 형태를 재현한다.
PC와 Orbiter·NASSP연결 모드에서 우주선 비행 시뮬레이션을 제공한다.

제작자의 설명에 따르면 화면·표시등·키보드는 Arduino와 Python 프로그램을 거쳐 Pi에 연결된다. 따라서 제작은 외형을 인쇄하는 데서 끝나지 않는다. 전자 부품의 조립·배선과 프로그램 설정까지 맞아야 조작반으로 동작한다.

책상 위 계산은 가능하지만, 센서 없는 상태로 모든 비행을 할 수는 없다

독립 모드는 AGC와 DSKY를 체험하는 데 초점을 둔다. 메모리를 들여다보고 시계를 표시하거나 프로그램 알람을 읽는 연습을 할 수 있다. 제작 가이드의 조작은 VERB와 NOUN을 조합해 무엇을 할지, 어떤 데이터를 대상으로 할지 지정하는 방식이다.

하지만 실제 우주선에 있던 관성측정장치와 조종 입력 등은 독립 모드에서 재현하지 않는다. 제작자는 ‘아폴로 임무의 상황을 재현할 수 있느냐’는 질문에, 외부 입력을 기다리는 프로그램은 필요한 값이 없으면 알람을 낼 수 있다고 답했다. 원래 코드를 실행한다는 사실과 비행 환경까지 갖췄다는 사실은 구분해야 한다.

비행 장면과 우주선의 움직임까지 원한다면 PC의 Orbiter에 Project Apollo–NASSP를 구성하고, 프로젝트가 제공하는 연결 프로그램과 설정을 적용한다. 이때 책상 위 DSKY는 PC 시뮬레이터의 외부 조작반이 된다. 같은 장치라도 독립 모드에서는 컴퓨터 조작을, 연결 모드에서는 비행 시뮬레이터와의 상호작용을 체험하는 셈이다.

시작점은 부품 주문보다 공개 제작 가이드다

프로젝트 저장소에는 3D 프린트 부품, Arduino 관련 자료, Pi·PC 연결 자료와 제작 가이드 PDF가 공개돼 있다. 가이드는 인쇄와 후처리, 주변 장치, 컴퓨터·전원, 실제 조작을 나눠 설명한다.

제작자는 첫 기기를 몇 달에 걸쳐 만들었다고 설명하며 더 쉽게 조립할 차기 버전도 준비하고 있다. 차기 버전의 계획을 현재 자료만으로 며칠 안에 완성할 수 있다는 약속으로 받아들이면 안 된다. 현재 프로젝트를 만들려면 보유한 프린터·배선 도구와 가이드의 부품 구성을 먼저 대조해야 한다.

원래 아폴로 코드를 실행하는 것 자체가 목적이라면 Virtual AGC부터 살펴볼 수 있다. 버튼의 감촉과 표시창까지 재현하고 싶다면 RecreateDSKY가 그다음 제작 대상이다. 비행 시뮬레이션까지 원하는 경우에는 NASSP 연결 구성을 함께 준비해야 한다.