Introduction: Hotel Transilvania Shrunken Head
Hello, this is my first instructable. I hope it can be useful to someone.
My goal was to make a bad-tempered shrunken head similar to that hanging to doorknobs in the animation movie Hotel Transylvania. To do that I decided to sculpt a head, make a mask using paper machée / colée, and inside this mask fit the electronics, sensors and sound system. Oh yes, it talks! :)
For electronics platform I am using Arduino Nano v 3.0. Actually next step will provide a complete materials list. Enjoy!
Step 1: Material List
Here goes the main materials list:
ELECTRONICS
1. Arduino v 3.0 and development environment
2. PIR-800 - Infrared motion detector sensor
3. WTV-020sd16p - Wav player
4. PAM8403 - sound amplifier
5. 8 Ohms micro speaker
6. Light detector (resistance)
7. Wires
8. Solder iron
9. IC 7805 voltage regulator 5V
10. Two 10uF ceramic capacitors
SCULPTURE
1. Tin foil
2. Modelling clay
3. Vaseline
4. White glue (PVA)
5. Paper towel and brown envelope paper
6. Stiletto
7. Black wool for the hair
8. First aid kit Gauze - for fixing the hair
Step 2: Sculpting the Head
For starters I went online to see how people were doing this, since this would be my first attempt of sculpting anything. I found a wonderful tutorial and used a lot of things from there:
https://www.instructables.com/id/Shrunken-Head/
So, I made a small ball of tinfoil, covered it in a 5mm thick layer of clay, and started sculpting. As in the tutorial above, I made the eyebrows, mouth, nose, cheekbones and eye by adding more material (clay) to the base oval structure.
The picture above depicts how it looked like when ready.
After sculpting, I put it in the oven to bake. Unfortunately I used a type of clay that required a 700 deg Celsius oven to bake, which I do not possess. So I used my regular oven, with a 150 degrees Celsius temperature and the sculpture broke during the next step.
Step 3: Making the Mask
After the baking, I covered the clay with vaseline and started the paper-machée part. In order to do that I cut some paper towels in small bits, and soaked them in a glue solution, before applying to the clay.
Glue solution:
5 parts of glue, one part of water. I did not use any hardening powder, but I guess it would help. People use some kind of ceramic joiner or such.
After covering the whole front of the head with soaked paper, let it dry completely (use a fan to speed up drying). And then apply another layer. I applied 3 layers, and only in the first I used paper towel. On the other layers I used the harder yellow/brown envelope paper.
When the last layer was dry, I removed the mask from the clay. Here the original clay crumbled, for it wasn't adequately cooked. But the mask went out undamaged. I proceeded to clean the interior, and applied another 2 layers inside, without much concern for details, since those will not show.
Finally, I applied an extra layer around the border of the mask, to strengthen it. Ready to paint!
Step 4: Painting the Mask
To paint the mask I began covering it with an almost black ink. I used simple acrylic paint. Afterwards I proceeded with some dark shades of brown, and added green and yellow. Final result was reasonable, but could be way better.
Colors used:
Black
Dark green
Green
Yellow
Orange
Dark brown
Red
Step 5: Building the Circuit
Well, this is a big step. Please refer to the Fritzing diagram for details. To download the Fritzing tool for Circuits, go to: http://fritzing.org/home/
Basically I hooked the wav player, PIR sensor and light sensor to the arduino, the sound amp to the wav player and the speaker to the amp. I also adapted a 2AA battery on/off switch to fit a 9V battery, and used that as single power source. In order to do that I had to make a small voltage rectifier circuit, lowering the 9V to 5V to feed the amp (maximum voltage supported 6V). The arduino handles 9V by default.
Everything ready for the next step.
Attachments
Step 6: Creating the Sound
The WTV-020 module can be a bit cranky sometimes. One must test the memory card to see if it works. I used an old 256 Mb card I had stored. There are several explanations online on how to hook this module up.
To edit the sound, pitching my voice a bit higher, I used Audacity (Windows 7). Simple to use, and served me well. After generating the wav files, I exported them and converted to the weird format the WTV module supports, AD4. To do that I used AD4Converter.exe. Please observe that there are some audio details that have to be observed:
In the wav file:
Mono - 1 channel
32 KHz sample
16-bit PCM
Once it was all done, I copied the files to the card and installed it in the WTV module. Ready to play!
Step 7: Programming the Arduino
With the electronics and sound all set, I uploaded the software to the arduino. Here below is the full code I used.
The angry head will complain about noise and movement (general havoc) anytime the PIR sensor gets activated. I programmed a chill out time to avoid triggering it too often.
The stubborn little head will also yell angrily if any light disturbs its sacred sleep. The light sensor detects light levels from 0 to 256 levels, so I tested debugging the light levels to set the right threshold for complaints.
I created 5 sounds about havoc and another 5 about lights, so the poor culprit caught by that angry beast will know why the barking.
/**********************************
Portas Digitais 2, 3, 4, 6 Analogica A0
Fonte 9V
***********************************/
#include
int resetPin = 2; // The pin number of the reset pin.
int clockPin = 3; // The pin number of the clock pin.
int dataPin = 4; // The pin number of the data pin.
int busyPin = 5; // The pin number of the busy pin.
int detectou_Atividade = 0; // Indica se PIR 800 detectou atividade
int detectou_Luz = 0; // Indica se luz foi detectada
int modo_Busca_ON = 0;
int valor_Luz = 100;
int som_Movimento=0; // de 0 a 4
int som_Luz=5; // de 5 a 9
long agora_mili, fim_mili;
long hora_final_ping, hora_atual_ping;
int intervalo_min_ping = 100;
#define pin_Presenca 6
#define pin_LeituraLuz 0
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
void setup() {
// Ativa Serial para Debug
Serial.begin(9600);
// Reseta modulo de som WTV020
wtv020sd16p.reset();
// Inicia PIR800 - presenca
pinMode(pin_Presenca, INPUT);
int calibrationTime = 20;
//give the sensor some time to calibrate
Serial.print("Calibrando sensor de presença ");
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
delay(1000); }
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
} //Setup
void loop() {
// Checa sensor presenca se houver movimento ativa deteccao
int valPresenca;
if (modo_Busca_ON == 0) { valPresenca = digitalRead(pin_Presenca); delay(50); }
if ((valPresenca == LOW) && (modo_Busca_ON == 0)) { delay(450); }
if ((valPresenca == HIGH) && (modo_Busca_ON == 0)) {
detectou_Atividade = 1;
modo_Busca_ON = 1; valPresenca = LOW;
Serial.println("Detectou Atividade !!"); }
//Teste luz int leituraLuz;
leituraLuz = analogRead(pin_LeituraLuz);
Serial.print("LUZ--->"); Serial.println(leituraLuz);
if ((leituraLuz > valor_Luz) && (modo_Busca_ON ==0))
{ // Acenderam a Luz!! detectou_Luz = 1; modo_Busca_ON = 1; }
atualiza_estados();
} // Main Loop
void atualiza_estados() {
// Atualiza estados de todos os componentes
if ((modo_Busca_ON == 1) && (detectou_Atividade == 1)) {
// Achou alguem se mexendo
// Toca som de algu'm se mexendo
Serial.println("Vai tocar musica 0");
wtv020sd16p.playVoice(som_Movimento);
if (som_Movimento == 4) { som_Movimento = 0; } else { som_Movimento++;}
delay(8000);
Serial.print("Acabou Musica - Movimento - ");
Serial.println(som_Movimento);
modo_Busca_ON = 0;
detectou_Atividade =0; }
if ((modo_Busca_ON == 1) && (detectou_Luz == 1)) {
// Acenderam a luz
Serial.println("Vai tocar musica 0 por conta da luz");
wtv020sd16p.playVoice(som_Luz);
if (som_Luz == 9) { som_Luz = 5; } else { som_Luz++;}
delay(8000);
Serial.print("Acabou Musica - luz - ");
Serial.println(som_Luz);
modo_Busca_ON = 0;
detectou_Luz =0;
}
} // Atualiza Estados
}
Step 8: Stuffing It All Inside the Head Mask
Positioning the sensors:
PIR-800 -> I designed the head from the beginning to have the PIR instead of an eye. You can see the evil result on the pic.
The light sensor I attached to the head's chin, is is barely visible on these pics, I made a small red annotation to help identify it.
Then I created a hard paper cover, that would fit snugly inside the mask, holding all those wires inside.
Note on the wires: I used way too long wires. That was a big trouble, and a big mistake. Next time, really small connections, to fit better. Or even better, I could have made a small PCB (printed circuit board) to make things tidier.
That's it! The final result you can see in the first picture. All the best and have fun!!