Project tutorial
Voice Activated, 3D Printed Tali's Helmet!

Voice Activated, 3D Printed Tali's Helmet! © CC BY-NC

It blinks when you speak!

  • 527 views
  • 0 comments
  • 3 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)
Hy gluegun
Hot glue gun (generic)

About this project

Hello!

This is the code and electronics diagram for my Tali's helmet from Mass Effect. The helmet is 3D printed and the visor is vacuum formed. You can find all the files needed for 3D printing of the helmet on my Thingiverse:

https://www.thingiverse.com/bzqp/designs

I've been dreaming about making of Tali's helmet for years. Finally I decided I'm profficient enough to pull it off!

Check out the full adventure (and the assembly tutorial) on my Youtube:

Tali's Helmet pt 1: 3D Printing and Electronics

Tali's Helmet pt 2: Vacuum forming and Dying of the Visor

Code

Blinking Tali's helmetArduino
The software for Arduino Nano controlling the voice-activated blinking for Tali's helmet. Together with the wiring diagram it's quite self explanatory and simple.
// Tali helmet - voice detection LED control by bzqp (2021) https://www.youtube.com/user/Beezqp
//https://www.thingiverse.com/bzqp/designs
//
//A0 - potentiometer
//D13 - microphone
//D3 - red
//D5 - green
//D6 - blue
int brightness = 0;
int brightnesscache=0;
int loudness = 0;
const unsigned long timeout=100; // voice sampling time in ms
unsigned long timestamp=0; // first sample timestamp
void setup() {
  pinMode(13, INPUT); //D13 - microphone
  pinMode(A0, INPUT); //A0 - potentiometer
  pinMode(3, OUTPUT); //D3 - red
  pinMode(5, OUTPUT); //D5 - green
  pinMode(6, OUTPUT); //D6 - blue
  Serial.begin(9600); // Serial for debugging, not really needed normally
}
void loop() {
brightness = floor(analogRead(A0)/4);
loudness = digitalRead(13);
Serial.println(brightness);

if(brightness<8){
    // if brightness below 5 turn off the lights to prevent unbalanced RGB color flickering
    analogWrite(3, 0);
    analogWrite(5, 0);
    analogWrite(6, 0);
    delay(1);
}
else{
unsigned int  dl=(floor(float((float(1)/(float(brightness)+2))*float(100000)))); //delay in microseconds, the same total delay for every brightness setting
//Serial.println(brightness);
if(loudness==LOW){
  // if a sound is detected by a microphone, mark a timestamp
  timestamp=millis();
}
if(millis()-timestamp<timeout){
  // if within the timeout period, gradually lower the brightness to zero
  while(brightnesscache>0){
    brightnesscache--;
    analogWrite(3, brightnesscache/2);
    analogWrite(5, brightnesscache/3);
    analogWrite(6, brightnesscache);
    delayMicroseconds(dl);
  }
  }
else{
  // if no sound is detected, gradually rise the brightness to the value determined by the potentiometer
  while(brightnesscache<brightness){
    brightnesscache++;
    analogWrite(3, brightnesscache/2);
    analogWrite(5, brightnesscache/3);
    analogWrite(6, brightnesscache);
    delayMicroseconds(dl);
  }
  // just to be sure it goes all the way up to brightness
    analogWrite(3, brightness/2);
    analogWrite(5, brightness/3);
    analogWrite(6, brightness);
}
}
}

Custom parts and enclosures

3D printing and vacuum forming files
The 3D printing and vacuum forming files are available on my Thingiverse. The model was based on Rainyfire's original helmet and an in-game Tali model extracted from Mass Effect 3.

Schematics

Wiring diagram
The wiring for the blinking Tali's helmet
Circuit tali helmet2 dr9j1q1cwc

Comments

Similar projects you might like

A DIY Zipline Robot with Arduino, Lego, and 3D Printed Parts

Project tutorial by Tart Robotics

  • 6,224 views
  • 3 comments
  • 25 respects

A DIY Biped Robot with Arduino, Lego, and 3D Printed Parts

Project tutorial by Tart Robotics

  • 5,905 views
  • 4 comments
  • 12 respects

Record and Play Arduino 3D Printed Robotic Arm

Project tutorial by Mirko Pavleski

  • 10,265 views
  • 4 comments
  • 24 respects

PPD42NS Arduino Air Quality Monitor in 3D Printed Enclosure

Project tutorial by Mirko Pavleski

  • 4,871 views
  • 1 comment
  • 12 respects

DIY 3D Printed Single Digit Arduino Clock

Project tutorial by Mirko Pavleski

  • 4,710 views
  • 2 comments
  • 7 respects

3D Printed Christmas Tree with Animation

Project tutorial by TheTNR

  • 2,674 views
  • 2 comments
  • 6 respects
Add projectSign up / Login