Introduction: Iron Man Arc Reactor
Playing with ARDUINO is fun. I can definitely think about real life scenarios (like the traffic light, or the snow man light) that I can replicate myself. Have not started the robot yet, but I got really interested in wearable ….
My son is almost 3 years old and his mom loves to DIY some clothes, masks, for him. Last Halloween he was dressed as CAT IN THE HAT. One of the very few “DIY” kids. So the point here was a FAMILY project, that would give my son an amazing DIY costume. I would come up with the hardware and code, my wife would embed it, so he would have a “real” iron man experience. PLUS telling people my mom and dad did this for me!
I am not the only one or the first to have this idea. One guy posted the video.Another guy also has this video. So now, I have purchased an Arduino Lilypad, Lilypad mini, and this little guy here.
Step 1: Hardware and the Idea
Because the Jtron-mini-controller only has 3 output ports, I could not create the same arc as the other guys, I came up with 4 groups of 3 lights … so still 12 lights, still some movement, but 4 lights at a time …
Picture Above shows the arc, with 4 red, 4 yellow, 4 green LEDs, the
battery inside the black “pocket” ( as this is a rechargeable one), and the board is fixed on this white base.
The code is somehow very manual, but gives me the freedom to play a lot …
so, it should go left , a couple of times, faster and faster …. stop, light up, go to the other side , a couple of times, faster and faster. Stop and light again….
Step 2: The Code
void setup(){
pinMode(9,OUTPUT); // digital
pinMode(10,OUTPUT); // digital
pinMode(11,OUTPUT); // digital
}
void loop()
{
// primeira
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(1000);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(100);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(100);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
// segunda
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(200);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(100);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, HIGH); // ON 11
delay(50);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, LOW); // OFF 11
delay(50);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(50);
// terceira
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(500);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(500);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(1000);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(500);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(500);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(1000);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(500);
digitalWrite(9, LOW); // OFF 9
digitalWrite(10, LOW); // OFF 10
digitalWrite(11, LOW); // OFF 11
delay(500);
digitalWrite(9, HIGH); // ON 9
digitalWrite(10, HIGH); // ON 10
digitalWrite(11, HIGH); // ON 11
delay(1000);
}
Attachments
Step 3: Almost Ready ....
we can not cross the positive , negative, output D09, with output D10 .... so the end product look like this ( missing video, will update soon)