On 4 April 1942, only two days after arrival, Squadron Leader Birchall was the ocean to the south of Ceylon. Eight hours into the mission, ships were spotted on the horizon. Investigation revealed a large Japanese fleet, including five aircraft carriers, headed for Ceylon. Birchall's crew managed to send out a radio message, but was soon shot down. The Japanese still attacked but, but because of Birchall’s signal the British cleared the port and, inflicted significant losses on the Japanese.
After he is shot down he is taken to a Japanese POW camp where he is the senior Allied officer. He repeatedly stands up and demands better treatment
for his men
. For this he is severely beaten. His actions and leadership drops the death rate from over 30% down to almost nothing. One day he encounters a group of sick POWs working at the docks, and orders them to stop, for this he is beaten to near death and sent to a disciplinary camp where he continues to fight for better treatment.
Throughout the ordeal he maintains a diary, knowing that he would be executed if it is ever discovered. This diary is used as evidence in war trials following the war.
He continues to serve in the Canadian Forces after the war.
He is the only military member to receive 5 bars on this Canadian Forces Decoration for 62 years of service.
Air Commodore Leonard Joseph Birchall, CM, OBE, DFC, O.Ont, CD
6 July 1915 - 10 September 2004
Something special is hidden in the Greenwood Military Aviation Museum. A 4' wide and 12' deep diorama containing a Japanese Naval Fleet coming out of the morning fog. A small blue button holds an amazing surprise. When pressed the sound of an airplane engine could be heard, the ships come to life and begin to fire. Anti-aircraft guns and cannon shots could be heard as the morning sky is lit up by the flashes from the guns. Leonard Birchall's plane can be seen in the sky with 2 Zeros at 3 o'clock high. And moment in history is recreated. This is how the Canadian Air Force honored it's heroes.
Picture 1: The booth itself (built by Ret Gen. Patric and Maj. Johnson)
Picture 2: The models (Maj. Johnson did an amazing job on these models)
Video 1: The display in action (sorry about the quality, I don't have the best camera)
This project is both simple and challenging. The display needed to support a large number of lights, the wiring needs to be hidden, sounds must be heard, and finally the thing needs to be as low power as possible.
My solution was to use an Arduino and use 16 Digital Outputs in order to create an 8 x 8 grid which could support 64 lights when multiplexed properly. The sound is provided by an MP3 Trigger board from Sparkfun hooked into standard computer speakers.
Figure 1: The Matrix Board
Figure 2: LED cables
The Cathode of the LEDs are all tied together, and connected to any of the LED COMM ports. The Anode is connected to the LED SOURCE.
Figure 3: Complete Project Schematic
|2||MP3 Trigger||1||The voice||$50|
|3||3mm LED||50||The flash (Off e-bay)||$10|
|4||ULN2803A||1||Booster for the led common||$2|
|5||Micro SD 2gb||1||To hold the recording||$10|
|10||Push Button||1||Arcade style||$1|
|11||PC Speakers||1||Bring on the noise||Salvaged|
|12||Enclosure||1||Tupperware (Dollar Store)||$1|
|13||PC Board||1||You need something to solder to||$5|
|14||330 Ohm Resistor||8||330Ohm Resitors 1/8 watt.||$0.50|
A few zip ties, electrical tape, a bit of 2 sided tape and some heat shrink is all you need to complete this.
Hardware wise this is nothing more then a simple matrix. The sourcing pins give our LEDs a high signal, and the sinking pins make our darlington give us a ground. If you are only driving 1 LED at a time the darlington is not really needed since the AVR Digital I/O pins can handle 10mA, however, I wasn't sure how well it would work driving 1 LED at a time. So i dumped the darlington in just in case we needed to drive 8 LEDs at a time (80mA would be too much for the AVR pins). Oh and lets not forget the resistors, the source side has the resistors that we need in order to limit the current of the LEDs down to around 5-10mA.
The software is fairly simple, despite it looking a bit confusing.
The cannons register holds a time in the 6-0 bit and the 7th bit is a flag. Every time the counter overflows (every tenth of a second) the register value is decremented. When register hits all 0s, the flag bit (7th bit) is set HIGH(1) and a value of 7 is written to the register (meaning .7 sec). When the register hits all 0's in the 6-0 bits the Flag bit (7th bit) is set LOW(0) and a random number is loaded into the register starting the cycle all over again. Yes that's right, I said random, the display is different every time it runs.
If the flag bit is LOW(0) the LED is off and if the flag bit is HIGH(1) the LED turns on.
While this is happening the program constantly scans the LED matrix one at a time over and over again. The sinking and sourcing functions do all the I/O decoding Stuff.
|Setup()|| sets up all the I/O|
|main()|| the main loop|
|randomize()|| loads random values into cannons|
|startspeech()|| starts the recording|
|barrage()|| executes 1 sweep of the matrix|
| sinkingOn()|| sets one of the bits on the darlington to give us a ground|
|sinkingOff()|| sets one of the bits on the darlington to not give us a ground|
|sourcingOn()|| sets one of the AVR pins high to drive the LED|
|sourcingOff()|| sets one of the AVR pins low to sink the LED |
// Copy of the Arduino Program