Tengu Clone Redux

Remember the open source Tengo clone? [jfmateos2] sent in his version, with a custom candles game designed for birthday giving. It’s a nice piece of work, and I love it when we inspire new projects! He sent in a nice write-up of the features he added, so I decided to post it in its entirety:

[Hello, my nick is jfmateos2 and this video http://www.youtube.com/watch?v=MnFP4FNVE-I is a brief presentation about my last project devoted to PIC microcontrollers.

The video is in Spanish but subtitled in english. When I first saw the cloned Tengu developed by Alex featured in Hackaday blog, I thought it was a proper project for learning the use of PIC microcontrollers´ specific functions like A/D converters, interrupts and timers. After studying the features of the original Tengu developed by Crispin Jones, I started to specify the requirements of my own clone. I decided to include a basic game intended to transform it into a personalized birthday gift; my sister´s birthday was near.

Its usage is very easy. After connecting PIC-Tengu to a USB port, it will switch on in a sleep state. Blowing on its face he will wake up. Then PIC-Tengu yawns and, if and only if it is the first time we use it, it will start the candles game. The aim of this game is to blow out the candles one by one, so it can become quite boring if the person being honoured is over a certain age, although less painful than pulling his/her ears. Fortunately, my sister is only 25 years old. A personalized scrolling message appears when the game is over. Next, PIC-Tengu starts to imitate every noise it hears. There are four sets of faces available: aquiline-nose, snub-nose, no-nose and Luciano. The active set of faces changes blowing or with a strong noise. Pic-Tengu´s Auditive acuteness is configurable through the back potentiometer. Pressing this button toggles between the imitate mode and the scrolling message mode. If we keep the button pressed more than 2 seconds, PIC-Tengu will reset, recovering the same state as if it had never been used before; this implies that the candle games will appear again after awakening it.
Last, if there is no activity in the imitate mode for more than 5 minutes, PIC-Tengu will fall slept. The brain of this project is a PIC18F2455, whose pins directly activate the LEDs matrix´s rows. There is only one LED column active at any given instant, also determined by the PIC18F2455´s pins, but this time using an intermediary ULN2803. The signal captured by the microphone is amplified using an LM358 before reaching an analog input in the PIC. The firmware is written in CCS C, and the PIC has been burned using the parallel port version of GTP Lite and WinPIC800. Electronic schematic, PCB artwork, source code and compiled firmware are available for download in www.villatic.org/carpetaJuanfe/pictengu.rar. Any further information will be published in www.todopic.com.ar/foros forum.
All comments and suggestions are welcome in jfmateos@lycos.es