Introduction: Iron Man Arc Reactor

About: arduino fan

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);

}

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)