Inspired by Atari’s 1979 Lunar Lander game, Iain Sharp created this excellent lunar landing simulator to honor the 40th anniversary of the landing.
The electronics for Lunar Lander are based around ATMEL AVR microcontrollers. An Arduino board acts as a convenient USB to serial converter which makes the computer interface nice and easy. All the microcontrollers listen to a common bus from the Arduino. The circuit boards are hand-wired on stripboard or tripad except for the nixie driver which needed a PCB to make the connections to the valve base of the nixies. I was trying to make life easy for myself by using lots of off-the-shelf parts. There is some slightly clever stuff in the AVR software which makes the stepper motors run very reliably at the right speed even if the speed is being varied during the game.
Infrared sensors are used to detect the limits for the system. On power-up the game does a calibration to find out the positions on all the limits. After this it relies mostly on the stepper motor counts being correct to measure the position of the lander. This seems to work fine – even over very long runs of many hours. The speed and acceleration of the stepper motors are controlled to make sure that no stalls or missed-steps happen.
See the build blog for more information.