You are on page 1of 13

Anna Anderson Cosplay And

Coffee

She-ra
Gem tutorial
Photo by: Shinigami Photography

Components:

1 Arduino
LED
Breadboard (not essential)
Wire
5v Power supply
Mini button
Soldering Iron
Solder
USB to MicroUSB adapte

Our choices and reasons:


Arduino Micro - You need 1 PWM slot for each LED, the Micro has 7 and that's
what we needed for my gem. Make sure to check how many LEDs you are planning to
use before buying your Arduino .
Minty Boost Power Supply You need to choose a power supply that works
best for the amount of LEDs you plan to use. In my case we picked the Minty Boost
Power Supply that uses 2 AA batteries this gave me about 10h of battery life with
lights on. The second important thing was easy battery replacement .(requires some
basic soldering for assembly)

Ardiuno Micro
Schematics

Assembly:

LEDs were mounted in the breadboard,


ensuring each LED lead is on a
separate line. (1)

LEDs take up 2 lines, 1 for power and 1


for grounding, although all ground
wires can run off the same breadboard
line (2).

Connect the other LED lead to the PWM


slots of the Arduino.
In this picture were using an Arduino
UNO ( for testing), and as such it is a
solderless solution. If you are using the
Micro you will need to solder the cables
into the Arduino. Don't forget about
your ground wire as well! (3)

NOTE: On the breadboard and using the


UNO (or other solderless solutions) you
can secure the wires using a hot glue
gun. This will prevent them from
coming out/loose.

(1)

(2)

(3)

Ground wire

You don't have to use the breadboard, you can connect your LEDs to the Ardiuno
directly.

For example: if you need lights in different parts of your costume but controlled by the
same Adriano you can use long wires and install LEDs in desired locations.

Needs to
be
soldered

You can use any wire length

Assembly

Select a non-PWM slot and


attach a wire from it onto a
button. Then ground the
button back to the board.

Now plug your Arduino into


the PC and upload your
project* to it.

*More details about how to program the ardiuno on other slides.

Assembly
Minty Boost - before

The Minty Boost ( your power source)


requires soldering, but the tutorials are
very clear and easy to follow. It comes
with a neat case you can use if needed
( you don't have to I didn't )

Once assembled connect the Arduino to


the Minty Boost using a USB to MicroUSB
adapter and voila LET THERE BE LIGHT

Minty Boost - assembled

Your Project
Programming the Ardiuno

Arduino is an open source electronic platform, with


software based loosely on the C programming language.
There is a very active online community, and many
tutorials and how to guides scattered around the internet.
These are some links that I found helpful.

To download the Arduino Software:


https://www.arduino.cc/en/Main/Software
The Official Arduino learning pages:
https://www.arduino.cc/en/Guide/HomePage
The Arduino Forums:
https://forum.arduino.cc/

Code used for She-Ra gem


(7LEDs)
int ledPin1 = 3;
int ledPin2 = 5;
int ledPin3 = 6;
int ledPin4 = 9;
int ledPin5 = 10;
int ledPin6 = 11;
int ledPin7 = 13;
byte b1 = 0;
int butOn = 12;
boolean blOn = true;
byte
Data1[]={2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.
5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,1
87.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
byte
Data2[]={100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,
212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,17
5,162.5,150,137.5,125,112.5};
byte
Data3[]={237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.
5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,
2.5,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.
5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255};
byte
Data4[]={187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,
7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.
5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255
,237.5,225,212.5,200};
byte
Data5[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,
237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,
62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
byte
Data6[]={0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,1
12.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.
5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
byte
Data7[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,15
0,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,10,7.5,5,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,5,7.5,10,12
.5,25,37.5,50,62.5,75,87.5,100,112.5,125,137.5,150,162.5,175,187.5,200,212.5,225,237.5,255,237.5,225,212.5,200,187.5,175,162.5,150,137.5,125,112.5,100,87.5,75,62.5,50,37.5,25,12.5,
10,7.5,5,2.5,0,0,0,0,0,0,0,0,0};
void setup()

Code used for She-Ra gem


(7LEDs)
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
pinMode(ledPin4,OUTPUT);
pinMode(ledPin5,OUTPUT);
pinMode(ledPin6,OUTPUT);
pinMode(ledPin7,OUTPUT);
pinMode(butOn,INPUT);
digitalWrite(butOn,HIGH);
}
void loop()
{
for(b1=0; b1<174; b1++)
{
if(!digitalRead(butOn))
{
if(blOn == true)
{
blOn = false;
}
else
{
blOn = true;
}
delay(250);
}
if(blOn == true)
{
analogWrite(ledPin1,Data1[b1]);
analogWrite(ledPin2,Data2[b1]);
analogWrite(ledPin3,Data3[b1]);
analogWrite(ledPin4,Data4[b1]);
analogWrite(ledPin5,Data5[b1]);
analogWrite(ledPin6,Data6[b1]);
analogWrite(ledPin7,Data7[b1]);
delay(50);
}
else
{
analogWrite(ledPin1,0);
analogWrite(ledPin2,0);
analogWrite(ledPin3,0);
analogWrite(ledPin4,0);
analogWrite(ledPin5,0);
analogWrite(ledPin6,0);
analogWrite(ledPin7,0);
delay(50);
}
}
}

Some Alternatives
The Micro is small but if you need something even smaller, the Adafruit
Trinket Pro is a great choice, but only has 6 PWM slots.
Other arduinos like the UNO will work fine, but they are much larger
devices
If you don't wanna use AA batteries, then an Adafruit Powerboost 500c
with a
Lithium Ion or Lithium Polymer battery works just as well.

Shell for the gem

I used a plastic egg to make the shell for my gem.


You need to make sure to diffuse the LED light to
make it look more organic.
I painted inside of the egg shell with a glittery nail
polish and stuck blue fabric to it. I also added
some more fabric loosely inside the shell to diffuse
the light more.
Im sure there are better ways of doing it but this
seemed to work perfectly for what I needed. The
gem looks good when the lights are off and glows
nicely when they are on.
Video added on the next slide to
demonstrate.

Working Gem
(click on it to play the movie)

You might also like