Intro: 2D Art With Programmable LEDs and Customizable Base and Logo
Welcome to the instructable! Today, I will show you how to make a 2D Art Project with a logo and overall design of your choice. I made this project because it can teach people about many skills like programming, wiring, 3D modeling, and others. This makes a perfect Christmas gift! Here are some things that you will need:
Adafruit Trinket - $8.26 (you can use any 5V microcontroller but this one is simple and compact)
Adafruit LED Strip - $21.99 for the whole strip - (8-15 LEDs is enough) : this is a 3.2 ft strip that you can cut and store for later use. Again, you can choose any LEDs you want but I recommend digital ones that are high density. If you can find shorter LED strips like this one, please post it in the comments and I will update this link to the shorter/cheaper version.
Perfboard - $5.59
Micro USB cable - for power - $5.29
470 ohm resistor
Male micro-USB plug - $0.95
Female micro-USB plug - $0.95
Soldering iron - to solder everything together
Hot Glue - in case something else needs to be attached
3D Printer (you can choose to order a print or model your base differently if you don't have access to one)
Laser Engraver - link to a service you can use
From the micro-USB plugs, we can build an extender, but it is a painful soldering job, so you might want to just model your base different so that Trinket's USB plug sticks out instead of making the extender. Read on to see exactly what I mean.
If you want to know some more information, check out my blog where I documented the project: http://mykytasolonko196832.blogspot.com/
Step 1: Soldering
For this step, you will need the Adafruit Trinket, digital LED strip, 470 ohm resistor (optional, but recommended), soldering iron, solder, header pins, and perfboard. If you are planning to make micro USB extender, get those materials ready as well.
First, if you haven't already, solder header pins onto your Adafruit Trinket. If you have not soldered before, go to this link and learn how to solder before coming back here.
Now we will cut out LED strip and solder wires to it. If you got a different model than the one in the introduction, you might want to find an online resource on how to use it. This is what you should read for the WS2812 model. As you can see, this model has one 5V pin, one GND pin, and one DATA pin. Follow the instruction in the link to cut your LED strip (I used 15 but then cut it down to 13 for this project. Choose a length that you are okay with. I thought that 3.5 inches of strip is sufficient). After you cut it, solder a wire (I recommend 22 or higher gauge solid wire in this case) to each of the copper dots on the LED strip.
Now that the strip has wires on it, plant the Adafruit Trinket on your perfboard and solder it to it. Now insert the 5V LED strip pin near the USB (not 5V!) pin of the Trinket and the - or GND pin to the Ground on the Trinket. Make a solder bridge to make those two connections. We used the USB pin because it can supply 500 mA vs. the 150 mA of the 5V Trinket pin. These LEDs need a lot of current (at least the ones I am using) so you want to make sure that they will be bright enough when your project is done.
Now for the data pin, I recommend wiring it to any pin on the trinket through a 470 ohm resistor. I used pin #1. Make a solder bridge between the data wire from the strip and one end of the 470 ohm resistor. Then, place the other end of the resistor near the trinket pin of your choice (#1 in my case) and make the connection with two solder bridges. If you do not want the extender (which I recommend), you are done with this step. You can move on to step 2.
To make the extender, I again recommend thin wire. Google "micro USB pinout" and find the images that show you which pins on the male and female micro USB plug are which (I do not want to post copyrighted images here). If you plan to be able to program the Trinket from the extender, you must solder 4 of the pins together (not the NC pin) to connect male to female. The male will go into the Trinket and the female will reside on the outside of your box. If you have the option to upload your program to the Trinket and be done with it, you really only need the 5V and GND pin soldered. You won't be able to program the Trinket from this extender, but it makes the job easier.
If only 5V and GND are soldered for the extender, it will work but you cannot program the Trinket using the extender. You will still be able to upload code to it using the native female micro USB slot.
Step 2: Programming
This step could appear later in this sequence, but since some people made an extender using only 5V and GND, they will not be able to change their code later, so I put this step here. For programming, we will be using Arduino IDE which can be downloaded here . I will upload my code here, but you will likely want another pattern so you can either change my code, use example code online and change it, or write your own from scratch.
First, we have to install the correct drivers for the Adafruit Trinket. Here , you can download them on your computer.
Now, open Arduino IDE, go to File -> Preferences and paste https://adafruit.github.io/arduino-board-index/pa... into the field Additional Boards Manager URLs. Click OK and restart the Arduino IDE.
Once Arduino IDE is open, go to Tools -> Board -> Boards Manager Search for “Trinket”, locate “Adafruit AVR Boards”, click on it, then select “Install” In the Arduino IDE, go to TOOLS and change the Board to Adafruit Trinket 8MHz and the Programmer to USBTinyISP.
Now you are ready to program the Trinket. Plug it in, go to file->examples, and open a blink sketch and test that everything works fine (the built in LED blinks). Keep in mind that you can upload code to the Trinket only when you press the RESET button. After that, you have 10 seconds to upload. If you are confused, refer to this amazing resource!
Here are some links that will help you program the LED strip. As mentioned before, I attached my code. If you are having trouble, refer to my example because every line of code is commented. Link 1, Link 2, and Link 3 are also very nice resources. Customize the LED pattern to your heart's content.
I hope you enjoyed the coding and have some nice effects. To see the examples provided by the FastLED library go to files -> examples -> and find Fast LED. (The Fire one is pretty cool!)
Step 3: Acrylic (Plexiglass)
Now you will make a piece of acrylic that will have your design. For this, I recommend using Adobe Illustrator. Here are the steps:
1. Find a logo (preferrably Black and White)
2. Place it into Adobe Illustrator (File->Place)
3. Do "Image Trace" so that it becomes vectorized (it has to be black and white)
You can tap on the image trace symbol again and change some settings like Noise, Threshold and more...
4. Scale the vector logo to the appropriate dimensions (MAX 6'' by 9'')
5. Make a shape outside with a thin (0.001 mm) red (#FF0000) path that will be where the shape will be cut. I attached what mine looked like. Have a rectangle base at the bottom that is approximately the length of your LED strip and a height of just under 1 inch. This base will insert into your base that we will make in the next step. Make whatever shape you want but make sure to, at the end, convert all the shapes into one shape using the Shape Builder Tool in the left menu.
6. Use your own laser engraver (with the settings that are best for yours) or order the engraving online and follow the instructions about making your logo, file format, cutting path thickness etc. A link to a service like this can be found in the introduction or by Googling. Good luck!
Step 4: Model the Base (Box That Will Contain Your Components)
Here, you have a lot of freedom. You can 3D Model and print base, make it out of wood, or whatever other method you choose. Here are some tips:
Make the slot for the acrylic only slightly wider than the acrylic. You do not want it to be loose.
Carefully plan out the location of everything. I recommend making a separate top and a bottom that will be glued or screwed together. Check out the picture to see how I planned every part of the base. I annotated each distinct part.
If you made the extender, plan out the location for the micro USB female input. I recommend using a dial caliper to make accurate measurements.
I chose 3D printing for this, so I will attach all my Autodesk Inventor files below (IPTs, and STLs). You can use them but make sure that the dimensions of your project (especially your LED strip) work with my files. There are many tutorials online available on Autodesk Inventor and 3D printing.
If you are having trouble, check by annotations for the attached images and leave comments below.
Step 5: Put Everything Together
Now, put everything that you made together. Put the perfboard into the box that you made. You can glue it on if you want using hot glue. If you made an extender, put it in accordingly. Finally, place the acrylic into the box and turn it on (by plugging it into a USB port using a cable). Make sure to post any questions and your completed project in the comments. Hope you enjoyed the project!