loading

Hi there every one. I've been a great fan of the instructables website for a while now and got a lot of inspiration for several of my projects from this Instructo-world in the past and I thought it’s about time to show you one of my projects. This Project is dedicated to all the tech and comic fans out there.

The main function for this lamp is to display verious different LED sequences by only adjusting the potentiometer knob but the most important feature about his lamp is that the lamp head (arc reactor) can detach from the base. This function will allow me to attach different types of applications to the base like a phone charger or just a straight forward white lamp.

I used Duck210's https://www.instructables.com/id/New-Arc-Reactor-s... as a reference for the lamp part of the project (Thank you Duck210) to start of the project. The spine and base of the lamp I made up as I went.

If you decide to make this project yourself, good luck to you. Its very challenging but at the same time very rewarding

If you like what you see, please do not hesitate to leave a comment. Also, check on the top of the page for what contest it is regastured for and vote.

I will divide this instructable into 4 parts:

1. Lamp

2. Lamp spine

3. Lamp stand

4. Electronics, programming and wiring

Step 1: Main Parts Needed

The main parts you'll need is as follows:

  • Arduino nano
  • Arduino terminal strip shield
  • 14 100 Ohm resistors
  • 14 3.5V 20mA 5mm clear blue LEDs
  • 6mm or 1/4 inch brass tubing
  • Male to female 9 pin serial cable
  • Balsa wood
  • 1 potentiometer
  • acrylic sheets
  • 2 old earphone jacks
  • small 1.2V motor
  • 3 mm thick clean copper wire. This part is optional. It's for the copper coils on the outer ring of the arc reactor

Step 2: Items Needed for the Lamp

    1. 5 to 6 sheets of acrylic sheets, depending on the dimensions you use. I used 30 x 40 mm and 3 mm
    thick acrylic sheets

    2. 2 x Female headphone jacks, again it will depend on what size you have but the smaller the better.

    3. A small motor which I recovered from an old printer, the winding part from a stepper motor (also from printer) and a coupling (you guessed it, the printer) to connect the motor and the winding part.

    4. 6 mm copper tubing

    5. A nine pin Serial( I think, please see the photo) cable

    6. 3 mm nuts and bolts with washers

Tools required:

1. Scroll saw

2. Drilling machine and drill bits

3. Sanding paper

4. Combination pliers, screw driver, and adjustable wrench

5. Glue

NOTE: Please use the required personal protective equipment while conducting this project.

Step 3: Getting the Design Idea on Paper

The lamp consists of 4 parts namely:

1. The main top ring

2. Outer shell (rib cage)

3. The inner motor mounting

4. Bottom ring.

Each part will add rigidity to the lamp. I will try to give as much dimensions as possible to the lamp as I go.

Before you start with this project you have to have an almost complete idea of what you want. You can follow my instructions to the word but you will still face issues with alignment and the overall construction. I have made small corrections during this project which I might forget to mention.

So, in short, plan your project ahead and use mine as a reference.

Step 4: Main Top Ring

    In this step I marked of the dimensions on the 3 mm acrylic sheet with a drafting compass.

    1. Outer diameter = 100 mm

    2. Inner diameter = 80 mm

    I made 5 to bring it up to a total thickness of 15 mm. I tried this part with epoxy and well... let’s just say that I need a bit more practice in that department. You will notice that i made a small hole close to the inner ring. This is to cut out the inner circle with the scroll saw.

Step 5: Lamp Outer Rib Cage

Next I made the outer shell's rib cage. I had to cut out a total of 12 pieces. Please take your time on this otherwise you will end up making a lot more than 12 pieces. After finishing I divided them into 6 groups of two and secured them together with a rubber band just to keep them together. For each pair I drilled two 4 mm holes through each. The location of the holes I cannot give you because I did that by guessing and used the first one I drilled as a template for the others so please use the picture as a reference.

Now that the holes is done the assembly of the ribs can begin. Again, please see the pictures. I used small pieces of copper pipe to make the spacers that will be used to provide a +/- 11 mm gap between the two segments of one rib. You can use different ways of spacing the rib for example you can use a bunch of washers instead.

Step 6: Bottom Ring and Assembly

Trace the bottom ring onto the acrylic sheet. You will notice that in the attached drawing that I didn't include the hole for the serial plug. Find the center of the bottom ring and trace the serial plug outer casing onto the ring. Make a small hole in the center only big enough the scroll saw blade to fit through and cut out the hole for the serial plug. Check the images for reference.

The assembly is kind of straight forward. The two headphone jack plugs can be installed into the holes that was drilled and the 9 Pin plug through the bigger hole. Please note that a male serial is being used here.

Step 7: Inner Motor Mouting

In this step I started with the brackets that will be used to connect all the circles for the motor mounting. If you follow the drawings dimensions attached you will be ok, three (3) of these will be required. Just remember to take your time with this and if you make a mistake you can always use sanding paper to get all the components to fit each other. Due to the fact that I used a scroll saw I went into this project knowing that there will be a lot of mistakes.

Trace the circles for the motor mounting onto the acrylic sheet and start cutting them out. Remember to make a small hole close to the inner circle, big enough for you scroll saw blade to fit through, to cut along the
inner circle line.

On image number 3 you will see that I have drawn three cutouts on inner rim of the circle. Each one is 120 degrees apart from each other from the center of the circle.

Once the cutting is done the assembly for the motor mounting can start. Refer to images for assembly.

I did not mention the dimensions for the motor because the chances are slim that you will find exactly the same one. The hole for the motor should be an extremely tight fit otherwise it will just shake itself out of the bracket due the vibration caused while running.

You can glue these components together once assembly is done. I'm not an expert on glue types but try not to use superglue because it makes the acrylic brittle.

Step 8: Lamp Final Assembly

For help with the assembly I used bostic. (that's what I call it) Its a type of a sticky putty i guess? ANYWAY!

First we will start with the Outer shell (rib cage)

1. Secure bottom ring in sticky putty

2. Insert rib cage segments into opening in bottom ring. See picture for orientation. the first two to be inserted, must be inserted over the head phone plugs.

3. Continue until all six segments are installed.

4. Combine the 5 top rings and install it by moving the rib segments slightly until it is hooked into the six segments.

NB: Do not glue this part together because the wiring for the LED's and motor will come later.

5. install the motor mounting.

Please see the video for referance

Step 9: The SPINE

Items needed for the spine

1. Acrylic sheet

2. 6 mm copper/brass tubing

3. Butane torch

4. Tube cutter

5. Nine pin Female serial plug with cable still attached.

6. Scroll saw

Step 10: Spine Preparation 1

  1. Measure out two 400 mm lengths of brass/copper tubing. The length is not very important but 400 mm will give you some room to play with.
  2. Feed the earphone jack through the tubing. The earphone jacks has to be removed from the tubing to complete the next step.

Step 11: Spine Preparation 2

  1. Cut out 5 identical circles from the acrylic sheet that matches the bottom ring for the lamp's dimensions.
  2. The mentioned rings must have 5 holes. Please see image no 1 for instructions
  3. Start from open end of the 9 pin plug cable, feed the top ring as mentioned in image one up to the 9 pin plug.
  4. Continue feeding the remaining plates up to plug
  5. Secure the 5 plates together with 4 mm nuts and bolts.
  6. feed the earphone jack through the two remaining open holes.

Step 12: Spine Preparation 3

  1. Feed the earphone jack through the tubing.
  2. Secure tubing into holes on the plug base.

Step 13: Spine Preparation 4

  1. Cut out 6 to 8 triangles
  2. There are 4 holes in the triangle
  3. Top hole is for the 9 pin plug cable
  4. The holes on the left and right is for the tubing.
  5. the bottom hole is optional. I will show later in the instructable what that is for.
  6. trace a figure of your choice onto the triangle and cut it out
  7. apply heat to the acrylic to make it flexible
  8. Give the shape a slight bend by pressing the hot figure against a rounded surface.(Caution!!! do this in a well ventilated area and use heat resistant gloves while working with the hot acrylic)

Step 14: Spine Preparation 5

Now the spine segments can be combined with the tubing and lamp coupling. Please see video and images for reference

You will see that the
tubing is bent in this step. Well it’s because I’m preparing for the next step, THE BASE!!!

The bend to the spine has no specific dimensions and can bent as you like.

Step 15: The Base

Material needed

1. Balsa wood. you can use any wood but i chose balsa wood because its easy to work with.

2. Wood glue and a glue gun with a glue stick(obviously)

3. Time ( not material, but close enough)

4. Patience....and A LOT of

5. Tear drop template.... kind of ironic, because of the time and patience part when you.......OK I'll stop

It is difficult to describe what was the process to get to the dome shaped base but here goes.....

I made a few prints on paper until the tear drop template was the same width as the width of the wood. This means that the width of the base is about 15 cm and the length is about 21 cm.

Cut two more with the same dimensions as mentioned above so that you have 3 "tear drops" with the same size.

Cut another 3 but this time each one should be a bit smaller than the other. Stack the six pieces on top of each other as depicted in image 4 . I hope the drawing is clear enough.

The base should be hollow to fit the electronics and wiring inside so you have to cut out a piece out of every tear drop, except for the top one. Its hard to say how much to cut out but i'll say leave about 1.5 cm. Please see image 4 and 5.

Stick all the layers (refer to image 4) together with some wood glue and leave it for about 5 to 6 hours to dry.

Once dried you can start sanding down the base until there is no edges showing. Refer to images 7 to 11.

You will see the base has a cutout in the front. I done this because i want to illuminate that part as well. You can make that part completely out of acrylic layers or use the piece that was cut out and use it as a template for a mold to fit in the open gap. With my cutout I went and cut it down into layers almost as thick as the acrylic sheets and made different layers consisting of both the wood and acrylic. To fit it to the base there was a lot of sanding cutting done to get it right.

Step 16: The Base for the Base(what?)

Yes!! This is where the electronics and spine is mounted. The base dome will also be mounted on top of this base plate to cover the electronics and stuff.

I mounted the cutoff piece I mentioned in the previous step on this base so that when you install the dome, it will fit into each other.

Step 17: Installing the Spine and Electronics

1. Position the spine on the base so that it lines up with the middle on the base.

2. Drill two holes for the pipes to fit through. see Image 1

3 Fit the electronics onto the base plate. I did not stick the electronics directly to the plate but rather used two wooden spacers to leave a gap if i want the wiring to pass under the electronic board.

The placement of these components is all up to you.

Step 18: Lamp LED's

I attached the drawing for the wiring but I will try to explain it here.

First you can solder wires to the lamp serial plug in the bottom ring. There is nine pins and i used clear wires for this part. Cut 9 equal lengths of wires, about 15 cm will be more than enough for each. clear a small portion of the wire insulation on both ends and apply soldering to the bare wire. Do this for each of the nine wires. Apply a small amount of soldering on the serial plug's nine pins. Now, one by one, connect one end of each wire to a pin on the serial plug. Do this until each pin has a wire. Once done you can slide a small piece of shrink sleeve over each wire to cover the solder connections. See image 4 and 5

The LED arrangement is as follows

Pin1=GND

Pin2=LED12 (inner ring) Corresponding to Digital out pin12 on arduino nano

Pin3=LED13 (inner ring) Corresponding to Digital out pin13 on arduino nano

Pin4=LED3 (outer ring) Corresponding to Digital out pin3 on arduino nano

Pin5=LED5 (outer ring) Corresponding to Digital out pin5 on arduino nano

Pin6=LED6 (outer ring) Corresponding to Digital out pin6 on arduino nano

Pin7=LED9 (outer ring) Corresponding to Digital out pin9 on arduino nano

Pin8=LED10 (outer ring) Corresponding to Digital out pin10 on arduino nano

Pin9=LED11 (outer ring) Corresponding to Digital out pin11 on arduino nano

You will notice the numbering is not in a numeric order. Thats because Digital pins 3, 5, 6, 9, 10 and 11 is the only pins on the Arduino nano that has PWM (Pulse Width Modulation). This is why I use them only on the outer ring. Digital pins 12 and 13 were used for the inner ring because the follow after 11, that's all.

The total is 8 LED's in the lamp itself. The remaining 6 led pins will be used to illuminate the spine and base.

Step 19: LED Placement and Soldering

  • Assemble the lamp but without the motor mounting in the middle so that you can have access to the wires from the serial plug.
  • To connect all the negative pins for the 8 LEDs (large plate inside LED) I made a copper wire ring just bigger than the top ring of the lamp and place it over the lamp and stuck it to the frame with a small amount of hot glue just to keep it in place.
  • Take 6 led and stick than to the bottom of the top ring opposite each rib segment.
  • When gluing down the LEDs, make sure the negative side touches the copper wire ring. This will make the soldering easier.
  • Solder each negative pin of the LEDs to the copper ring. See image 2
  • Pull the wires through each rib segment. follow the numbering as depicted in image 5. Each number in image 5 represents a pin on the serial plug. I uses pliers shown in image 6. it made the job hush easier.
  • Solder a 100 Ohm resistor to each of the positive pins of the LEDs on the ring. Try to solder the resistor as close as possible to the LED.
  • Bring the serial pin wires to the resistor. Cut of the excess wire and remove a small portion of the wire insulation.
  • Solder the wires to the resistor. See image 4
  • Solder the GND wire from serial plug pin 1 to any location on the copper ring.
  • Take two LEDs and solder the negative pin to the copper ring. Place the LEDs on opposite sides of the lamp's inner ring and solder the positive side to the wires of pin 2 and 3. no need to solder in the resistors now. it will be added in the base at the controller connection.
  • Solder the small motor pins to the bottom ring earphones plugs. I recommend you use very flexible wires because once the Motor mounting is installed you will see that there in very limited space. Be careful not to touch the lamp frame with the soldering iron.

Step 20: Micro Controller Wiring

I forgot to mention the two switches that is shown in images 1,2 and 3. One of them I will use to switch the motor in the lamp on or off. the other one is for future use. I used a separate power supply(battery) for the motor and not the same power supply for the micro controller.

  • in image 1 you will see i pulled the cables from the serial cable under the micro controller.
  • the serial cable I have follows the following color scheme Pin 1 color = black Pin 2 color = brown Pin 3 color = red Pin 4 color = orange Pin 5 color = yellow Pin 6 color = green Pin 7 color = blue Pin 8 color = grey Pin 9 color = white
  • Pin-out from serial cable to arduino Pin 1 black to GND Pin 2 brown to D13 Solder a resistor between wire and arduino connection Pin 3 red to D12 Solder a resistor between wire and arduino connection Pin 4 orange to D3 Pin 5 yellow to D5 Pin 6 green to D6 Pin 7 blue to D9 Pin 8 grey to D10 Pin 9 white to D11
  • Wire the earphone jack cables through the switch and to the battery holder. Polarity does not matter.

Step 21: Internal Lighting

There are 6 remaining Digital outputs.

I used pins D0 and D1 at the front, D2 and D4 on the top of the dome and D7 and D8 at the back

The top and the back LEDs i glued D2 and 4 together for the top and D7 and 8 together for the back.

In the dome of the base you have to make one hole at the back and one on the top. Check out the images for reference.

I used hot glue to secure the LEDs in place.

Once the glue dries the potentiometer can be installed. This can also be secured by hot glue.

I used hot glue sticks to transmit the LED light from the base to the spine.

Step 22: Code!!

  • Download the Arduino IDE software
  • Once complete, open the Arduino IDE
  • Go to the Tools option and click on board. select the type of arduino you are using.In this case Arduino nano
  • Click processor and select your prosesor type. in this case ATmega328
  • Click on port and select you USB port you are using.
  • copy the code from the attached word document and paste it into the sketch pad
  • Click on the arrow pointing right. this is to download the code to the arduino.

const int potMin = 0;
const int potMax = 1023;

const int ledPin13 = 13; const int ledPin12 = 12; const int ledPin11 = 11; const int ledPin10 = 10; const int ledPin9 = 9; const int ledPin8 = 8; const int ledPin7 = 7; const int ledPin6 = 6; const int ledPin5 = 5; const int ledPin4 = 4; const int ledPin3 = 3; const int ledPin2 = 2; const int ledPin1 = 1; const int ledPin0 = 0; int brightness = 0; // initial brightness int deltaFade = 5; // change in brightness void setup() {

}

void loop(){ pinMode(ledPin13, OUTPUT); pinMode(ledPin12, OUTPUT); pinMode(ledPin11, OUTPUT); pinMode(ledPin10, OUTPUT); pinMode(ledPin9, OUTPUT); pinMode(ledPin8, OUTPUT); pinMode(ledPin7, OUTPUT); pinMode(ledPin6, OUTPUT); pinMode(ledPin5, OUTPUT); pinMode(ledPin4, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin1, OUTPUT); pinMode(ledPin0, OUTPUT); int sensorReading = analogRead (A0); int range = map(sensorReading, potMin, potMax , 0, 14);

switch (range) { case 0: digitalWrite(ledPin13, LOW); digitalWrite(ledPin12, LOW); digitalWrite(ledPin11, LOW); digitalWrite(ledPin10, LOW); digitalWrite(ledPin9, LOW); digitalWrite(ledPin8, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin1, LOW); digitalWrite(ledPin0, LOW); break;

case 2: digitalWrite(ledPin0, HIGH); delay (40); digitalWrite(ledPin1, HIGH); delay (40); digitalWrite(ledPin2, HIGH); delay (40); digitalWrite(ledPin4, HIGH); delay (40); digitalWrite(ledPin7, HIGH); delay (40); digitalWrite(ledPin8, HIGH); delay (40); digitalWrite(ledPin12, HIGH); delay (40); digitalWrite(ledPin13, HIGH); delay (40); digitalWrite(ledPin6, HIGH); delay (40); digitalWrite(ledPin3, HIGH); delay (40); digitalWrite(ledPin5, HIGH); delay (40); digitalWrite(ledPin11, HIGH); delay (40); digitalWrite(ledPin10, HIGH); delay (40); digitalWrite(ledPin9, HIGH); delay (40);

digitalWrite(ledPin9, LOW); delay (40); digitalWrite(ledPin10, LOW); delay (40); digitalWrite(ledPin11, LOW); delay (40); digitalWrite(ledPin5, LOW); delay (40); digitalWrite(ledPin3, LOW); delay (40); digitalWrite(ledPin6, LOW); delay (40); digitalWrite(ledPin13, LOW); delay (40); digitalWrite(ledPin12, LOW); delay (40); digitalWrite(ledPin8, LOW); delay (40); digitalWrite(ledPin7, LOW); delay (40); digitalWrite(ledPin4, LOW); delay (40); digitalWrite(ledPin2, LOW); delay (40); digitalWrite(ledPin1, LOW); delay (70); digitalWrite(ledPin0, LOW); delay (80);

digitalWrite(ledPin0, HIGH); delay (40); digitalWrite(ledPin1, HIGH); delay (40); digitalWrite(ledPin2, HIGH); delay (40); digitalWrite(ledPin4, HIGH); delay (40); digitalWrite(ledPin7, HIGH); delay (40); digitalWrite(ledPin8, HIGH); delay (40); digitalWrite(ledPin12, HIGH); delay (40); digitalWrite(ledPin13, HIGH); delay (40); digitalWrite(ledPin6, HIGH); delay (40); digitalWrite(ledPin3, HIGH); delay (40); digitalWrite(ledPin5, HIGH); delay (40); digitalWrite(ledPin11, HIGH); delay (40); digitalWrite(ledPin10, HIGH); delay (40); digitalWrite(ledPin9, HIGH); delay (40);

digitalWrite(ledPin9, LOW); delay (40); digitalWrite(ledPin10, LOW); delay (40); digitalWrite(ledPin11, LOW); delay (40); digitalWrite(ledPin5, LOW); delay (40); digitalWrite(ledPin3, LOW); delay (40); digitalWrite(ledPin6, LOW); delay (40); digitalWrite(ledPin13, LOW); delay (40); digitalWrite(ledPin12, LOW); delay (40); digitalWrite(ledPin8, LOW); delay (40); digitalWrite(ledPin7, LOW); delay (40); digitalWrite(ledPin4, LOW); delay (40); digitalWrite(ledPin2, LOW); delay (40); digitalWrite(ledPin1, LOW); delay (80); digitalWrite(ledPin0, LOW); delay (80); break; case 4: digitalWrite(ledPin9, HIGH); delay (10); digitalWrite(ledPin9, LOW); delay (10); digitalWrite(ledPin10, HIGH); delay (10); digitalWrite(ledPin10, LOW); delay (10); digitalWrite(ledPin11, HIGH); delay (10); digitalWrite(ledPin11, LOW); delay (10); digitalWrite(ledPin5, HIGH); delay (10); digitalWrite(ledPin5, LOW); delay (10); digitalWrite(ledPin3, HIGH); delay (10); digitalWrite(ledPin3, LOW); delay (10); digitalWrite(ledPin6, HIGH); delay (10); digitalWrite(ledPin6, LOW); delay (10); digitalWrite(ledPin13, HIGH); delay (10); digitalWrite(ledPin13, LOW); delay (10); digitalWrite(ledPin12, HIGH); delay (10); digitalWrite(ledPin12, LOW); delay (10); digitalWrite(ledPin8, HIGH); delay (10); digitalWrite(ledPin8, LOW); delay (10); digitalWrite(ledPin7, HIGH); delay (10); digitalWrite(ledPin7, LOW); delay (10); digitalWrite(ledPin4, HIGH); delay (10); digitalWrite(ledPin4, LOW); delay (10); digitalWrite(ledPin2, HIGH); delay (10); digitalWrite(ledPin2, LOW); delay (10); digitalWrite(ledPin1, HIGH); delay (10); digitalWrite(ledPin1, LOW); delay (10); digitalWrite(ledPin0, HIGH); delay (10); digitalWrite(ledPin0, LOW); delay (10); digitalWrite(ledPin0, HIGH); delay (10); digitalWrite(ledPin0, LOW); delay (10); digitalWrite(ledPin1, HIGH); delay (10); digitalWrite(ledPin1, LOW); delay (10); digitalWrite(ledPin2, HIGH); delay (10); digitalWrite(ledPin2, LOW); delay (10); digitalWrite(ledPin4, HIGH); delay (10); digitalWrite(ledPin4, LOW); delay (10); digitalWrite(ledPin7, HIGH); delay (10); digitalWrite(ledPin7, LOW); delay (10); digitalWrite(ledPin8, HIGH); delay (10); digitalWrite(ledPin8, LOW); delay (10); digitalWrite(ledPin12, HIGH); delay (10); digitalWrite(ledPin12, LOW); delay (10); digitalWrite(ledPin13, HIGH); delay (10); digitalWrite(ledPin13, LOW); delay (10); digitalWrite(ledPin6, HIGH); delay (10); digitalWrite(ledPin6, LOW); delay (10); digitalWrite(ledPin3, HIGH); delay (10); digitalWrite(ledPin3, LOW); delay (10); digitalWrite(ledPin5, HIGH); delay (10); digitalWrite(ledPin5, LOW); delay (10); digitalWrite(ledPin11, HIGH); delay (10); digitalWrite(ledPin11, LOW); delay (10); digitalWrite(ledPin10, HIGH); delay (10); digitalWrite(ledPin10, LOW); delay (10); digitalWrite(ledPin9, HIGH); delay (10); digitalWrite(ledPin9, LOW); delay (10); break; case 6: digitalWrite(ledPin13, random(50)+250); digitalWrite(ledPin12, random(50)+250); analogWrite(ledPin11, random(100)+250); analogWrite(ledPin10, random(100)+250); analogWrite(ledPin9, random(100)+250); digitalWrite(ledPin8, random(50)+250); digitalWrite(ledPin7, random(50)+250); analogWrite(ledPin6, random(100)+250); analogWrite(ledPin5, random(100)+250); digitalWrite(ledPin4, random(50)+250); analogWrite(ledPin3, random(100)+250); digitalWrite(ledPin2, random(50)+250); digitalWrite(ledPin1, random(50)+250); digitalWrite(ledPin0, random(50)+250); delay(random(50)); break; case 8: digitalWrite(0, HIGH); digitalWrite(1, HIGH); delay (50); digitalWrite(2, HIGH); digitalWrite(4, HIGH); delay (50); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay (50); digitalWrite(6, HIGH); digitalWrite(11, HIGH); delay (50); digitalWrite(3, HIGH); digitalWrite(5, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); delay (50); digitalWrite(12, HIGH); digitalWrite(13, HIGH); delay(50); digitalWrite(13, LOW); digitalWrite(12, LOW); delay(20); digitalWrite(3, LOW); digitalWrite(5, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); delay(20); digitalWrite(6, LOW); digitalWrite(11,LOW); delay(20); digitalWrite(7, LOW); digitalWrite(8, LOW); delay(20); digitalWrite(2, LOW); digitalWrite(4, LOW); delay(20); digitalWrite(0, HIGH); digitalWrite(1, HIGH); delay (50); digitalWrite(2, HIGH); digitalWrite(4, HIGH); delay (50); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay (50); digitalWrite(6, HIGH); digitalWrite(11, HIGH); delay (50); digitalWrite(3, HIGH); digitalWrite(5, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); delay(50); digitalWrite(12, HIGH); digitalWrite(13, HIGH); delay(50); digitalWrite(13, LOW); digitalWrite(12, LOW); delay(50); digitalWrite(3, LOW); digitalWrite(5, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); delay(60); digitalWrite(6, LOW); digitalWrite(11, LOW); delay(60); digitalWrite(7, LOW); digitalWrite(8,LOW); delay(60); digitalWrite(2, LOW); digitalWrite(4, LOW); delay(60); digitalWrite(1,LOW); digitalWrite(0, LOW); delay(100); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(80 ); break;

case 10: digitalWrite(ledPin2, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, HIGH); digitalWrite(ledPin12, HIGH); digitalWrite(ledPin13, HIGH); digitalWrite(ledPin0, HIGH); digitalWrite(ledPin1, HIGH); delay(2); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); digitalWrite(ledPin12, LOW); digitalWrite(ledPin13, LOW); digitalWrite(ledPin0, LOW); digitalWrite(ledPin1, LOW); analogWrite(ledPin11, brightness); // set initial LED brightness analogWrite(ledPin10, brightness); // set initial LED brightness analogWrite(ledPin9, brightness); // set initial LED brightness analogWrite(ledPin6, brightness); // set initial LED brightness analogWrite(ledPin5, brightness); // set initial LED brightness analogWrite(ledPin3, brightness); // set initial LED brightness brightness += deltaFade; // change brightness for next loop execution

// reverse fading direction at either end of fade

if (brightness == 0 || brightness == 255) {

deltaFade = -deltaFade; }

delay(50); // delay for 50ms to see dimming effect

break;

case 12: digitalWrite(ledPin13, HIGH); digitalWrite(ledPin12, HIGH); digitalWrite(ledPin11, HIGH); digitalWrite(ledPin10, HIGH); digitalWrite(ledPin9, HIGH); digitalWrite(ledPin8, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin1, HIGH); digitalWrite(ledPin0, HIGH);

break; } }

Step 23: Final

If you are reading this you probably went through the insructable or you are looking for an "accept terms and condition" button

Please leave you comments or questions below and I will try to answer you as soon as possible.

Thank you for reading and watching and I will see you in the comment section

<p>Big work, compliments!!! </p><p>you thought about putting your work in a box? with RGB Leds?</p>
<p>Hi <a href="https://www.instructables.com/member/PinoS" style="">PinoS</a>. Thank you for the compliment. I'm a big fan!!! Yes. The idea with this lamp was to make it a multi functional tool. The head (lamp) can detach from the spine and a different attachment with different functions can be installed. Putting it in a box, well, you just gave me something that will keep me awake at night. I recently started playing with the adafruit neopixel leds.....Did you make the box lamp in the attached immages? </p>
Hi! OK You've read my mind! Yes, I made it.<br>my lamp is constituted by an outer box with diffusing paper back and forth. Inside there is a section of a can. A LED strip inside and an outside, independent of each other. My LEDs are static (controlled switches, I had not the IR controller), you can make them dynamic with neopixel. <br>I do not know if it's a good idea, you have to try.<br>Probably this is a different use of neopixel. No colored square but two different lights that run independently.<br>You can change the internal and external form, add neopixel still free on internal surfaces (remember that the light decreases with the square of distance). I'm sure you will do a good job.<br>I am not able to program Arduino, maybe I'll learn, so I'll wait to see how you will change the project.<br>I'm sorry if I was intrusive but ideas lead to other ideas.<br>Good job.<br>PS: I use Google translate<br>PS: I hope you sleep tonight :)<br><br>
<p>Hahaha! No! You were not intrusive! I appreciate any and all new ideas... It is like you say! Ideas lead to new ideas. I will surely try to construct this box and you will be the first to know!!</p>
<p>I wouldn't use it to read by .. but it is definitely one badass piece of art. awesome write up. keep up the good work</p>
<p>Thank you <a href="https://www.instructables.com/member/Lorddrake" style="">Lorddrake</a>. Your comment is highly apresiated!!</p>
It is very nice thou, looks like something tony stark has in his chest.
<p>Yes you are correct! The lamp part of the unit is based on it. I got the inspiration from an insructable member which I mentioned in the instructable</p>
Very nice, but not very practical as a desk lamp
<p>Jip. Valid! Thank you for pointing that out. I guess its more of a mood light, but its on my desktop table and its a light. Hence, the name!</p>

About This Instructable

1,255views

23favorites

License:

Bio: I'm someone who appreciates anything that is made by hand form sculptures to food. Mass production is the hot topic these days and individuality ... More »
More by TheRabbitHole:Harley Quinn's shiny Aluminium Bat My little planetarium Valentines gift Idea 
Add instructable to: