This is *NOT* a faithful simulation of the Apollo Display and Keyboard module (DSKY).
It started as a proof of concept. Since building my Arduino-based KENBAK-1 clone, with its 16 push-buttons and 12 LEDs, I've had the idea of replacing all that hardware (and soldering) with a touch screen LCD.
The sketch supports a handful of Verbs and Nouns. For example I've implemented V16N36, or Verb 16 ("MONITOR DECIMAL") Noun 36 ("LGC CLOCK TIME"), as showing the current time on the DSKY's three register displays.
Since creating the Kenbakuino, with all those buttons and LEDs to solder, I've had the idea of replacing it all with a Touch LCD. (Update: see KENBAKlite )
This project was an experiment, a test case to see how much I could re-create the look and feel of the DSKY entirely in software, with the simplest possible hardware. It's also my small tribute to Apollo 11's 50th anniversary.
As the name implies, this is "lite", no where near a full simulation, just enough to get the feel.
The DSKY's three main elements are drawn on the LCD: the indicator lights (UPLINK ACTY, PROG etc), the numbers (VERB, NOUN, registers etc) and the keys (ENTR, digits etc). Tapping on a button on-screen presses it.
Tapping the PROG light shows some very terse help:
(Note that this is a screen capture, created by echoing the LCD commands to serial, capturing as a text file and processing in a python script).
As is my want, I added an RTC board, so that the device could act as a clock, have a raison d'ĂȘtre.
The program starts with a splash screen which animates the moon's phases (and marks the Apollo 11 landing site). It's shown in this video.
As well as running the clock program:
the video shows the very non-DSKY Verb 18, Noun 28 (aka V18N28) Monitor Graphic:Moon Phase program running:
which leverages my moon image data to create an approximation to the current phase.
Other features include:
The moon image data is quite large, so if it is enabled (with a #define) then V99 and V50N9x are not available. It the moon detail is turned off, they are enabled and the moon image is plain white.
I used my "I-C-S-P-R-T-C" board to insert the RTC within the Uno footprint, between it and the LCD shield. I intend to create an enclosure eventually.