Introduction: Bottle Display With LED's

The idea for a bottle display Is due to a school project. For the project we have to make something with a laser cutter, a 3d printer and a hinge. After looking for idea's on instructables and thingiverse I came with the idea to make the bottle display. I made a sketch that is shown above. With the potentionmeters on the right site you can change the collor of the leds in the plate. To upgrade the project you can program the arduino so it wil play a light show.

Step 1: The Things That Are Necesarry

The second step is to make a list with al the things you need to make it.

For the box you need:

Tools:

  1. a 3d printer
  2. a laser cutter
  3. construction glue
  4. wire cutter
  5. soldering station
  6. tin
  7. drill

Materials:

  1. wood
  2. plastic foor 3d printer
  3. a arduino uno
  4. tri-color led
  5. some wire
  6. a small hinge
  7. three potentionmeters of 10K
  8. screws

In the next step we are going to design the rotating plate for the bottle

Step 2: Rotating Plate

The rotating plate is printed with an 3d printer so we need to have a stl. file for the 3d printer.

Below you can download my file.

The plate is 10 centimeters in diameter. If you want to create a larger surface so you can put more leds in it. you also have to change the size of the box. The measurements are shown in the first step.

After creating the 3d file in autodesk fusion 360 I printed it in a fablab in rotterdam. The 3d printer that was used was an UP!. A machine that is easy to use and who I reccommend if you are using a 3d printer for the first time.

The photo's of the printer is shown on top.

Step 3: The Box

The box is made of wood. Because the box is mitred, it is much easier to laser cut the wood. It is a simple design that you can easily adjust to your own specifications.

I olso toke same pictures of the laser cutting to gave you same expressions.

The box has to be 300mm by 200mm and 70mm high. you can download the pdf file below.

Attachments

Step 4: Assembly of the Rotating Plate

After you removed all the excess filament from the 3d print, you can assemble the leds
into the plate. In the first photo you can see how I put all the led's in.

Some led hole's where very tight so be patient.

After soldering all the ground pins to each other I isolated it with isolating tape. You
have to do this or you will get a short circuit. Also remember to connect a
wire to each layer so you can connect it to the arduino. In the third picture
you see my layers are done.

Step 5: Assembly of the Box

After laser cutting every panel I put the potentiometer in de side panel. You have to
solder a wire to each pin.

In the photo you see I have used an orange wire for the + an a black wire for the ground. The middle
wire, the green/yellow wire, is for the arduino. That wire give the voltage tot
the arduino what is divided by the potentiometer. After receiving the voltage
the arduino then sent it to the led to fade or un fade the corresponding led
color.

As you can see in the pictures, I first tested each potentiometer to make sure everything worked.
After that I put the whole thing together and glued it together.

Step 6: The Arduino

The arduino code that I used is not very hard to understand. it is a basic code. You have to check if you have the servo library on your computer. If not you will get an error with uploading. In the picture above you see an arduino nano. first i wanted to you one of the but because they cannot suply enough current. Finally i uses an arduino uno.

I didn't put the servo in my project but the code is ready for it so try it!

After all the code looks like this:

#include
Servo myservo;

const int RoodPin = A1;
const int GroenPin = A2;
const int BlauwPin = A3;
const int RoodmeterPin = A4;
const int GroenmeterPin = A5;
const int BlauwmeterPin = A0;
int Roodwaarden;
int Groenwaarden;
int Blauwwaarden;
int pos = 0;
void setup() {
myservo.attach(9);
pinMode(RoodPin, OUTPUT);
pinMode(GroenPin, OUTPUT);
pinMode(BlauwPin, OUTPUT);
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees

myservo.write(pos); // tell servo to go to position in variable 'pos'

Roodwaarden = (map( analogRead(RoodmeterPin), 0, 1024, 0, 255 ) );
Blauwwaarden = (map( analogRead(BlauwmeterPin), 0, 1024, 0, 255 ) );
Groenwaarden = (map( analogRead(GroenmeterPin), 0, 1024, 0, 255 ) );
Serial.print("Rood = ");
Serial.println(Roodwaarden);
Serial.print("Groen= ");
Serial.println(Groenwaarden);
Serial.print("Blauw = ");
Serial.println(Blauwwaarden);
Serial.println(" ");

analogWrite(RoodPin, Roodwaarden);
analogWrite(BlauwPin, Blauwwaarden);
analogWrite(GroenPin, Groenwaarden);

delay(40); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'

Roodwaarden = (map( analogRead(RoodmeterPin), 0, 1024, 0, 255 ) );
Blauwwaarden = (map( analogRead(BlauwmeterPin), 0, 1024, 0, 255 ) );
Groenwaarden = (map( analogRead(GroenmeterPin), 0, 1024, 0, 255 ) );
Serial.print("Rood = ");
Serial.println(Roodwaarden);
Serial.print("Groen= ");
Serial.println(Groenwaarden);
Serial.print("Blauw = ");
Serial.println(Blauwwaarden);
Serial.println(" ");

analogWrite(RoodPin, Roodwaarden);
analogWrite(BlauwPin, Blauwwaarden);
analogWrite(GroenPin, Groenwaarden);

delay(40); // waits 15ms for the servo to reach the position
}
}

Step 7: Total Assembly

After having made the plate, the box and the arduino ready you have to put everything together. the end result is shown in the pictures.

For the assembly of the electronics I uploaded a schematic. If put everything together like the schematic. its going to be okay.

I hope this instructable was interesting and if you have any questions please comment below!!