Tamarduino - is the Tamagochi 2.0 born ?
The original idea
In Arduino project classes, I had the opportunity to develop a game in 13 hours with only two rules: using an arduino Uno (limited to 2 MiB RAM) and using an alternative controller.
With a friend of mine, as we had to pair with a Game Designer from the same lesson, we decided to create an intelligent and autonomous toy which could react to various stimulus as light variation, brief noise etc.
The first idea was to recreate a modern Tamagochi, those famous electronic toys that asked to be fed and cared for. We wanted our Tamarduino (project name that became the actual name) to be able to eat, to sleep, to be walked out and most of all to talk. Our main objective was to teach him words, starting with its name.
Learning a name
To reach this objective, we had to use the first component which is a rudimentary microphone. This hell of a component which includes a manual sensitivity calibration terribly wrongly thought as I had to re-calibrate every time I move my little toy to another room because of the unconsistency of this input.
Anyway, a small loop to get the ambient noise, another one to remember every new intensity and we could reproduce in arduino language (using a buzzer) the sound intensity variations it hears. This is the first thing Tamarduino does on waking up: waiting for its name. Afterward, every time it communicates, it will says its name.
How to speak
Actually Tamarduino didn’t really speak, it « beeped » with various frequencies to emit signals which was supposed to be registered in a given manual which has not been designed due to lack of time as many other features.
But imagine if Tamarduino was call on waking up « Johnny », it will register two syllabus, one higher than the other, their exact intensity difference and then reproduce something like « bu-biip » with the same tones.
Being hungry means Tamarduino is in « Hunger » state. The AI was supposed to be a bit more efficient but in the end it was a ten minute loop where it asked for food and waited for the owner to press an hidden button in its mouth with something thin and sharp. Nothing extraordinary here using a simple button and a trivial condition.
Being Tired ?
On the other hand, being tired required a lot more work than we originally thought.
Every 20 minutes the Tamarduino was supposed to be sleepy and asking for some darkness to actually sleep.
We wanted to use a photo-receptor to get that moment it is put in some darkness but we couldn’t find a working component, all what we had was broken resistances always returning HIGH with a variaton of 1/1000 in extreme scenarios, nothing consistent enough.
In the end we dropped that idea and decided to go for a directional sensor oriented upward to get the moment it is returned back down. So putting Tamarduino to sleep now means getting it on its back; and it worked very well. After long hours of unsuccessful tries with the photo-resistance, we were glad to hear our little pet snoring in the back ! Actually, this snore sound effect (playing 32 HZ noises periodically) charmed everyone during the class presentation.
And this is it…
With the motivation to create a Firby 2.0, we only get to create a broken and fragile Tamagochi. With the few hours we had we built a cartoon shape to consolidate it and added two red lights as eyes that blinked on effective moments; but couldn’t add much more.
In the end, K. and I were really glad because we had something pretty fun and cute, a bit disappointed to have to deal with broken components from the school and very happy that this run of 13 hours was finally over.
Personally I was also very proud of my work on the Arduino as the 2 MiB RAM was pretty scary for voice recognition and as it was my real first work on this kind of material.