I have always enjoyed the various acrylic laser-cut night lights that others have made. Thinking more about these I thought that it would be great if the night light could also double as a form of entertainment. With this is mind I decided to create jigsaw puzzle that would fit into a thin box that would then be illuminated by an LED strip.
Regarding the actual lighting, I wanted the LEDs to slowly cycle through a range of colours with the user having the ability to either pause at a particular colour or skip through to a new colour.
- Two different colours of 3D printing filament
- Spray paint
- 2mm Acrylic (for creating the box)
- 8mm Acrylic (for creating the puzzle)
- Screws: M3 10mm
- Capacitor: 1000μf 6.3v
- Round, mini reset button (one red and one green)
- Rocker switch
- RBG LED Strip
- Arduino Nano V3
- Power barrel connector
- Step down transformer
- 12V power supply
- Soldering Iron
- CO2 Laser cutter
- 3D Printer
- Glue gun
- Acrylic cement
- Wire strippers
- Iron file
- Drill bits (used to clean out holes in 3D printed model)
Step 1: Preparing the Puzzel Art Work
Since was cut using a CO2 laser cutter, the final file needed to be an SVG file.
Using Wolfie's SVG Puzzle Generator, I created the basic puzzle map.
My puzzle was created for a friend of mine's son. The family is from Pakistan and so I wished the lamp to have a Pakistani flavour. I therefore chose to create a puzzle using the name of his son, the Pakistani flag and the Markhor (national animal of Pakistan). I also initially intended to print the lamp base in green but unfortunately ran out of green filament.
Using the trace options in Inkscape I converted the required PNGs to SVGs and added them to the puzzle map.
The colours were set so that the puzzle base was cut while the picture parts were etched.
Step 2: Making the Box
The case was designed using LibreCAD and then exported to a SVG file. This was then edited in Inkscape in order to set the correct colour and line thickness for cutting on the CO2 laser cutter.
Using acrylic cement the I stuck the sides of the box to only one of the large sides. The actually puzzle can therefore be built in the box. Once complete the second large size is placed over the top of the puzzle (slotting into the relevant slots) and held in place by the white top cover and the LED base.
Acrylic cement is not great to work with as it is easy to accidentally destroy your final finish by messing the acrylic on the main display parts of the box. Because of this I left the brown protective covering that comes with the acrylic on until the edges, which been cemented together, had dried. Having said this I did need to take care not to accidentally cement the protective layer in between the joins.
In short, at this point I had have a very shallow box that could hold the completed puzzle with one large loose piece of acrylic that could then be placed over the top, locking into the slots created by the sides of the box.
Step 3: Printing the Base and Top Cover
Using FreeCAD I designed and printed the attached pieces:
- Top cover (white)
- Base (back; in a perfect world this would have been green)
- Base cover (white)
For some reason the corners of the sloping sections of the base did not print very smoothly. Sanding them smooth resulted in a very uneven finish to the base. I therefore sanded the whole base down with fine sandpaper and then spray painted it back to achieve an even finish. In hindsight if I had printed it in white, I could have spray painted it the green colour that I initially wanted it to be.
I then stuck the RBG LED strip such that the LEDs faced up towards the base of the puzzle, feeding it back into the inside of the base via the slot provided. The sticky surface underneath the LED strip did not hold the strip down properly and so I added some super glue to secure it properly.
The reset buttons, rocket switch and power barrel connector where also inserted or screwed in. Some of the holes need to be drilled or filed out a little before these bits would fit properly.
Step 4: Programming the Arduino and Testing the Setup
I then set up your bread board as shown above. Initially there was no need to include the transformer or barrel connector as the project was powered and programmed via the USB power, connected to my computer.
From the code you will see that the LEDs will cycle slowly from one colour range to the next. If button 3 (green) is pushed, the LEDs change to the next main colour in the sequence. If button 2 (red) is pushed then the LEDs stop changing and remain displaying the current colour. To continue seeing the colours change, the red button simply needs to be pushed again. Pausing the display does not pause the programme and so when the red button is pushed again, the LEDs will jump to the current colour that the programme is working through.
Next I needed to wire everything into the box as per the next step.
Step 5: Putting It Together
I wanted to be able to run this project off of a standard 12V power supply. As the Nano can be powered using 6 to 20V I thought that I could simply connect the barrel connector to the GND and VIN pins, using the 5V pin on the Nano to power the LEDs, and all would be well. Alas this was not the case. In short it appears that the LED strip pulls too many amps for it to be powered from the 5V pin on the Nano, when using the Nano's regulator (see the following discussion for more details). I therefore added the step down transformer and powered the Nano and LED strip from there.
As the project works just fine when powered via the USB, all of this pain could have been avoided if the base had been designed such that the Nano could be positioned with its USB port accessible from the outside. In this way the project could have been powered using a standard USB cable connected to a USB charger.
The above however brings me to another thought. An arduino appears to be overkill for this project which could just as well be controlled by one of the ATtiny controllers. In this case the step down transformer would be necessary.
I am still new to all of this and so my wiring leaves much to be desired. This said, I wired the bits up as per the previous diagram, using a glue gun to stilck the controller and transformer down. When doing this ensure that the glue is not near any part that might get hot as this will resulting it the glue melting and the part coming loose when in use.
When connecting the power, barrel connector, it pays to use a multimeter to confirm which pin is positive and which is ground. While not shown in the diagram, the rocker switch is connected in between the positive input of the transformer and the positive pin of the barrel connector.
Before connecting anything to the output of the transformer, it needed to be connected to the power supply and then with help of a multimeter, the output setting adjusted (by turning the adjusting screw) until the output was 5V. Once set, this screw was glued into position so that it could not be accidentally moved in the future.
The base cover could now be attached and screwed down.
Step 6: Conclusion
Overall I am very happy with the final result. Because the puzzle is a totally separate part of the project, it is possible to create many different puzzles to be displayed by the lamp.
There were too small issues:
- The green and red reset buttons were a little too long, obstructing the puzzle a little. It was ever so slight and and because they were centrally placed, the puzzle could still be made to sit squarely in the slot.
- The box was a little too narrow so did not close together as snugly as I would have liked. However because of the design, the base and top cover were still able to hold it all together properly.
I would normally list lessons learnt as well as suggestions for future builds but as I have already mentioned most of these in my previous steps, for now I will leave things here.