For this project we need a few components. See full list here on this link. But anyway, make sure you will use an Arduino MEGA because the UNO don't have enough memory for this project. Then get that serial controlled 7 segments display module with 8 digits. The DF player and a SD micro card of 4 or below 4Gb. Get the WS2812 LED strip, the one with 30 LEDs per meter and get 5m so 150 LEDs because we need 128. You'll need a power supply of 5V and at least 2 amps of current. You could also buy an amplifier and place that between the DFplayer nand the speaker. See all parts on the full part list.
- 1 x Arduino MEGA: LINK eBay
- 1 x 7seg display module: LINK eBay
- 1 x 5m WS2812 (30LED/m): LINK eBay
- 1 x DFplayer: LINK eBay
- 1 x 8 ohm speaker: LINK eBay
- 1 x micro SD card (4GB): LINK eBay
- 1 x 5V/2A power supply: LINK eBay
- 1 x On/off switch: LINK eBay
- 1 x toggle switch: LINK eBay
- 1 x buzzer: LINK eBay
- 1 x joystick: LINK eBay
- 4 x Big push buttons: LINK eBay
- 2 x push buttons: LINK eBay
- Thin wire: LINK eBay
- FTDI programmer: LINK eBay
- Extra wire, solder, soldering-iron, breadboard, etc
The schematic has a few connections. We start with the power supply connected to 220VAC with an on and off switch and that will give us 5V. These 5V are connected to all the modules, the Arduino and the LED strip. Then, for the DFplayer make sure you add some jumper pins in order to disconnect the TX and RX pins in case that the code upload will give us problems. Add the 1k resistors to eliminate noise and a toggle switch between the speaker and the DFplayer. Each button is connected to GND and the other side of the button to one input of the Arduino. We don't need external pullup resistors since all these inputs will be defined as PULLUP in the code. Connect power and the serial wires to the 7 segments display and finally connect 5V, GND and the LED wire to the WS2812 strip. When you make the LEDs matrix, look that the arrow on the strip will go in the correct dirrection.
This is the long and boring part. We need to make the spacers and create some sort of grid to separate the light from one LED from the other LEDs around and avoid color blend and also give a squared shape instead of a spot shape. For that I'll use some RC modeling foam like the one you can see below. It is easy to cut and is whiteso it will reflect light. We need to cut 7 long strips of 52.8cm and 3mm width then 15 short ones of 26.6cm long and 3cm width. But the long part is to cut a hole for each row and column, so a total of 105 holes as you can see on "10". We will use these holes to join together each foam strip and create a grid as you can see on "11". So first place the long ones with the holes upwards. Then add all the rows with the hole downwards and complete the grid. Finally you could add a bit of glue to fix the grid exactly on top of the lines we have on the plywood.
At this point "13" we have the grid so we could test how it works. But the light must hit an opaque surface in order to see it better. So, first as you can see on "14" I glue the sides of the case and then we cut a piece of white-transparend acrylic. This must have the width of the case but the length only to cover the grid. I cut taht part and place it on top of the grid and the difference is huge. As you can see below the light with the acrylic on top is better. The camera makes a glow effect, but trust me, with the acrylic you will see the light a lot better and also the case will look nice.
I cut another plywood part to be the top cover of the electronics case. Then I follow the scheamtic and connect everythig. Add the DFplayer on a separated PCB and make sure you downlaod the mp3 files from below and copy the mp3 folder to an empty SD card. These are the sounds of the Tetris theme sound and more. Downlaod the mp3 zip file and extract the file. Copy the mp3 folder to the SD card. Not the files, the entire mp3 folder. Then as you can see I connect 5V from the pwoer supply to a PCB and here I connect all the 5V and GND wires. Glue everything in place, the speaker, the buttons on the top plywood and the joystick and the on adn off swithc on the side. I make holes for the supply input cable and the USB connector of the Arduino, in case I want to re-uplaod another code. Close the case and upload the code.
Download the code from the link below. On that same link you will find the needed library for this project such as the Adafruit_NeoPixel and the DFplayer libraries. So download those as well and install them to the Arduino IDE. Compile, select Arduino MEGA board and the USB COM and upload the code. If the code don't uplaod, it might be because of the TX and RX pins of the DFplayer so disconnect those for a seconds and upload the code and connect them back.
#include <Adafruit_NeoPixel.h> //Downlaod here: https://electronoobs.com/eng_arduino_Adafruit_NeoPixel.php
#include <DFMiniMp3.h> //Downlaod here: https://electronoobs.com/eng_arduino_DFMiniMp3.php
See the video for more information and see what options you have with this project. What do you think ? Comment below and help the community. Consider supporting me on PATREON.