NeoPixel Light Decoration or Whatever You Call It
3738 Views, 11 Favorites, 0 Comments
NeoPixel Light Decoration or Whatever You Call It
![Intro -01.jpg](/proxy/?url=https://content.instructables.com/FCG/QQ42/KLWB52IJ/FCGQQ42KLWB52IJ.jpg&filename=Intro -01.jpg)
![Intro -02.jpg](/proxy/?url=https://content.instructables.com/FN6/K65Z/KLWB52IK/FN6K65ZKLWB52IK.jpg&filename=Intro -02.jpg)
![Intro -03.jpg](/proxy/?url=https://content.instructables.com/FDJ/JKPV/KLWB52IL/FDJJKPVKLWB52IL.jpg&filename=Intro -03.jpg)
![Intro -04.jpg](/proxy/?url=https://content.instructables.com/FHJ/EZUW/KLWB52IM/FHJEZUWKLWB52IM.jpg&filename=Intro -04.jpg)
![Intro -05.jpg](/proxy/?url=https://content.instructables.com/F7U/2UHO/KLWB52IN/F7U2UHOKLWB52IN.jpg&filename=Intro -05.jpg)
![Intro -06.jpg](/proxy/?url=https://content.instructables.com/FSY/3BLX/KLWB52IO/FSY3BLXKLWB52IO.jpg&filename=Intro -06.jpg)
![Intro -07.jpg](/proxy/?url=https://content.instructables.com/F7I/XU65/KLWB52IP/F7IXU65KLWB52IP.jpg&filename=Intro -07.jpg)
Bring some color into your life.
https://www.youtube.com/watch?v=e2HJLbp98rQ
The most beautiful colors can be displayed with the LED strip. But where do you leave them. I wanted to work with it, but then it had to remain compact, the whole house had to be lit.
The idea became something like an LED table but as a panel, so a NeoPixel light decoration that can display various light effects / patterns.
First thought was a NeoPixel board of 16 times 16 neopixels. These are 16 * 16 cm which I found just a bit too little and so I came to a size of 25 * 25 cm.
While searching the internet for possibilities and code for patterns I came across a lot of information.
I found the triangle pattern from https://www.instructables.com/Half-Square-Triangles-LED-Art/ to have something compared to the squares or circles that are usually used.
There is a lot of example code available from FASTLED.
From all this information I put together what I thought would be nice, with or without some adjustment, and added something else.
So if the code sounds familiar, yes most of it can be found on the internet, for which my thanks go to the creators.
I also integrated the code of the triangle and adjusted it in such a way that it changes the foreground and background color every x adjustable number of patterns.
Furthermore, everything can be set via an IR remote control.
The condition was not to be too expensive, so a low budget project, and to be made with simple means. But if you want to have it ready in an afternoon, stop reading because that will not work. In any case, I was able to keep myself busy with it for the necessary hours. I will briefly describe how I made it in a few steps. You are free to make it your own of course.
The Grid
![Led-deco-01a.jpg](/proxy/?url=https://content.instructables.com/FWD/WPNB/KK8AMT1Z/FWDWPNBKK8AMT1Z.jpg&filename=Led-deco-01a.jpg)
![Led-deco-01b.jpg](/proxy/?url=https://content.instructables.com/FJP/FZII/KK8AMT20/FJPFZIIKK8AMT20.jpg&filename=Led-deco-01b.jpg)
![Led-deco-01c.jpg](/proxy/?url=https://content.instructables.com/F3L/FNF2/KK8AMT21/F3LFNF2KK8AMT21.jpg&filename=Led-deco-01c.jpg)
The grid.
I made the grid from a number of zinc strips of 25 * 1.5 cm and 0.8 mm thick.
In this 9 slots have been sawn to just over half of the strip. These can then be assembled as a square. On the outside you solder a strip so that the square is closed. Then cut the short pieces and put them in.
I was able to solder it in various places so that it became a whole. My soldering iron was actually too light for this job, but just enough to get everything together.
Make sure that the cross connections look as tight as possible because they are always visible in the light pattern.
The strips I used were made of zinc because I thought I could use the reflection to reflect the light from the leds.
But I forgot that zinc dulls pretty quickly after you work it, and it is not to paint.
So iron strips and then just paint white is best.
Furthermore, it turned out that every small slit lets light through to the adjacent compartment, which is not the intention.
I solved this by sealing everything with a little white wood glue. This flows somewhat in the sleds and drys almost invisible.
Top and bottom must be completely flat. That also to prevent light from passing through. I sanded everything exactly flat with sandpaper.
Frame Work of the Housing
![Frame-00.jpg](/proxy/?url=https://content.instructables.com/FTF/TDWC/KLLA7PL7/FTFTDWCKLLA7PL7.jpg&filename=Frame-00.jpg)
![Frame-01.jpg](/proxy/?url=https://content.instructables.com/F76/UY6M/KLLA7PL8/F76UY6MKLLA7PL8.jpg&filename=Frame-01.jpg)
![Frame-02.jpg](/proxy/?url=https://content.instructables.com/FYR/MVD1/KLLA7PL9/FYRMVD1KLLA7PL9.jpg&filename=Frame-02.jpg)
![Frame-03.jpg](/proxy/?url=https://content.instructables.com/FM2/FA59/KLLA7PLA/FM2FA59KLLA7PLA.jpg&filename=Frame-03.jpg)
![Frame-04.jpg](/proxy/?url=https://content.instructables.com/FQK/DC5L/KLLA7PLB/FQKDC5LKLLA7PLB.jpg&filename=Frame-04.jpg)
A while ago I had found a number of U beams by some waste wood, which had served as transport protection, which now came in handy.
I sawed off one side of this so that I was left with an angle profile. Then I sawed four pieces with a length of 32,3 cm so that I got an opening of just over 25 by 25 cm. Glued together, sanded and done. With some white paint on it it looked fine.
Only a piece of glass or plexiglass remains
I still had a conversion screen that used to be placed in front of CRT monitors to get less tired eyes. It consists of double glass with a greenish coating in between. I cut the glass to size using a tile saw / tile cutting machine. The edges were a bit jagged, but since they are not visible, that is not a problem. The glass was glued with silicone sealant.
This glass gives a very good black effect on the Neopixels that are not lit and has almost no influence on the color.
Good Light Distribution
![Defecte monitor.jpg](/proxy/?url=https://content.instructables.com/FHB/KW6F/KM6B87E6/FHBKW6FKM6B87E6.jpg&filename=Defecte monitor.jpg)
![Filter scherm.jpg](/proxy/?url=https://content.instructables.com/FNI/GOEW/KM6B87E7/FNIGOEWKM6B87E7.jpg&filename=Filter scherm.jpg)
![IMG_7547.JPG](/proxy/?url=https://content.instructables.com/FGG/1O5O/KLLA7OXW/FGG1O5OKLLA7OXW.jpg&filename=IMG_7547.JPG)
![IMG_7548.JPG](/proxy/?url=https://content.instructables.com/F4B/A3S0/KLLA7OY0/F4BA3S0KLLA7OY0.jpg&filename=IMG_7548.JPG)
![IMG_7549.JPG](/proxy/?url=https://content.instructables.com/F7J/PL85/KLLA7OY3/F7JPL85KLLA7OY3.jpg&filename=IMG_7549.JPG)
![IMG_7550.JPG](/proxy/?url=https://content.instructables.com/FVG/BUX8/KLLA7OY5/FVGBUX8KLLA7OY5.jpg&filename=IMG_7550.JPG)
![IMG_7551.JPG](/proxy/?url=https://content.instructables.com/FF5/T16W/KLLA7OYD/FF5T16WKLLA7OYD.jpg&filename=IMG_7551.JPG)
![IMG_7552.JPG](/proxy/?url=https://content.instructables.com/F7T/UFRT/KLLA7OYH/F7TUFRTKLLA7OYH.jpg&filename=IMG_7552.JPG)
![IMG_7553.JPG](/proxy/?url=https://content.instructables.com/FFG/JH37/KLLA7OYN/FFGJH37KLLA7OYN.jpg&filename=IMG_7553.JPG)
![IMG_7554.JPG](/proxy/?url=https://content.instructables.com/F8L/PNK9/KLLA7OYR/F8LPNK9KLLA7OYR.jpg&filename=IMG_7554.JPG)
To get a good light distribution there must be a filter layer between the glass and Neopixels.
A faulty monitor offers a perfect solution for this. A screen contains a number of plastic foils that distribute the light perfectly and sometimes there is also a thin plexiglass plate, so you have everything complete. Remove them all at once, so you don't have to find out how they should lie to get the best light distribution. Also be careful with finger stains and dirt, plastic film attracts dirt, because everything is visible afterwards. I have added another paper layer. That gives something the effect of stained glass. A number of photos with the effect of rotating the foils in relation to each other.
Mounting the NeoPixels
![NeoPixel schema.jpg](/proxy/?url=https://content.instructables.com/FA9/XX1O/KLUVP0AP/FA9XX1OKLUVP0AP.jpg&filename=NeoPixel schema.jpg)
![NeoPixel-01.jpg](/proxy/?url=https://content.instructables.com/FBW/8XQV/KLUVP0AQ/FBW8XQVKLUVP0AQ.jpg&filename=NeoPixel-01.jpg)
![NeoPixel-02.jpg](/proxy/?url=https://content.instructables.com/FOL/HUJK/KLUVP0AR/FOLHUJKKLUVP0AR.jpg&filename=NeoPixel-02.jpg)
![NeoPixel-03.jpg](/proxy/?url=https://content.instructables.com/FCB/0P0S/KLUVP0AS/FCB0P0SKLUVP0AS.jpg&filename=NeoPixel-03.jpg)
![NeoPixel-04.jpg](/proxy/?url=https://content.instructables.com/FZC/NX8X/KLUVP0AT/FZCNX8XKLUVP0AT.jpg&filename=NeoPixel-04.jpg)
![NeoPixel-05.jpg](/proxy/?url=https://content.instructables.com/FLX/4II1/KLUVP0AU/FLX4II1KLUVP0AU.jpg&filename=NeoPixel-05.jpg)
![NeoPixel-06.jpg](/proxy/?url=https://content.instructables.com/FT2/S5MO/KLUVP0AV/FT2S5MOKLUVP0AV.jpg&filename=NeoPixel-06.jpg)
![NeoPixel-07.jpg](/proxy/?url=https://content.instructables.com/FLO/MWPV/KLUVP0AW/FLOMWPVKLUVP0AW.jpg&filename=NeoPixel-07.jpg)
![NeoPixel-08.jpg](/proxy/?url=https://content.instructables.com/FN4/GOU6/KLUVP0B2/FN4GOU6KLUVP0B2.jpg&filename=NeoPixel-08.jpg)
![NeoPixel-10.jpg](/proxy/?url=https://content.instructables.com/FX1/78DW/KLUVP0B5/FX178DWKLUVP0B5.jpg&filename=NeoPixel-10.jpg)
I mounted the LEDs on a piece of cardboard that was almost as thick as the LEDs. First draw the triangle distribution and then see where the center of each triangle is. This is where the LEDs should come. The LEDs are 5 by 5 mm, so I drew lines every 5 mm. Then cut out the cubicles.
Initially I thought to use LEDs on a printed circuit board. But I had ordered 500 pieces of individual LEDs because I did not yet know how much the display was going to be made. But when I wanted to solder it, it turned out that I could not solder straight ahead as was the case with the LEDs on a PCB. The solution was to turn them a quarter turn. I then made notches, but in retrospect it would have been better to make a new cardboard.
Assembly is done as follows, but if you have soldered the last one, you know exactly how it is it easiest to do.
Mark the LEDs on the back with a dot so that you know the connections. Then fill a row, 10 pieces. Secure the LEDs a little less than half way with a piece of adhesive tape. Take a piece of copper wire and place it over the free connections on the outside and secure it with some adhesive tape. Then solder a number of LEDs so that the wire is fixed. Then move the tape on the wire and solder the remaining LEDs. Then you solder the short connecting pieces of wire between the LEDs. When that's done, take the tape off the LEDs, You can use adhesive tape several times, and solder a piece of wire over the other outside in the same way as the first. I can't tell you exactly how to get started because that depends on whether you are handy left or right. In any case, solder in that direction so that you don't get in your way. Also do not solder the outer sides, plus and minus line first, because then the short pieces are difficult to solder. I made the tip of the soldering iron from a piece of 2.5 mm2 copper wire.
For the 5 volt power supply, I divided the LEDs into two groups. I did this to be able to use two USB connections. Connect all plus wires of the top 100 LEDs to each other and of the bottom 100. You can connect all the minus wires.
Because the specs of the LED indicate that there must be a capacitor on the power supply of the LED, I soldered one capacitor per two LEDs. I used what I had lying around. These are a bit on the large side in terms of dimensions. If I had to order new ones they would have been smaller.
Then six capacitors distributed over the whole and a resistor on the first LED. Then everything stuck with hot glue.
You can also use the LEDs on a printed circuit board, can be mounted in the same way and even a bit easier. So if you don't have much soldering experience I would recommend this one.
Mounting the Grille in the Frame
![Frame-05.jpg](/proxy/?url=https://content.instructables.com/F8J/5RJF/KM6B874O/F8J5RJFKM6B874O.jpg&filename=Frame-05.jpg)
![Frame-06.jpg](/proxy/?url=https://content.instructables.com/FI8/4H8M/KM6B874P/FI84H8MKM6B874P.jpg&filename=Frame-06.jpg)
![NeoPixel-09.jpg](/proxy/?url=https://content.instructables.com/FA5/IHG9/KLUVP0B3/FA5IHG9KLUVP0B3.jpg&filename=NeoPixel-09.jpg)
Cut the cardboard with the LEDs a bit to size and then stick it on the grid. Do not be too sparing with the adhesive because it must be firmly attached all over otherwise you will get light from one compartment to the other. I glued two pieces of wood on each side to the grid so that it just fit into the frame. Centering was done by pushing a number of pieces of cardboard between them in such a way that the grid was firmly attached and exactly in the middle. You can check this well by holding the back up to the light and looking from the front.
The Components
![Beep-01.jpg](/proxy/?url=https://content.instructables.com/FFJ/GM1P/KM6B89SJ/FFJGM1PKM6B89SJ.jpg&filename=Beep-01.jpg)
![Beep-02.jpg](/proxy/?url=https://content.instructables.com/F3Y/3OEZ/KM6B89SK/F3Y3OEZKM6B89SK.jpg&filename=Beep-02.jpg)
![Beep-03.jpg](/proxy/?url=https://content.instructables.com/FZY/C32Z/KM6B89SL/FZYC32ZKM6B89SL.jpg&filename=Beep-03.jpg)
![Beep-04.jpg](/proxy/?url=https://content.instructables.com/FPP/4FZM/KM6B89SM/FPP4FZMKM6B89SM.jpg&filename=Beep-04.jpg)
![Mosfet-01.jpg](/proxy/?url=https://content.instructables.com/FBZ/76J5/KM6B89SN/FBZ76J5KM6B89SN.jpg&filename=Mosfet-01.jpg)
![Mosfet-02.jpg](/proxy/?url=https://content.instructables.com/FO5/GSJ5/KM6B89SO/FO5GSJ5KM6B89SO.jpg&filename=Mosfet-02.jpg)
![Mosfet-03.jpg](/proxy/?url=https://content.instructables.com/F35/8T65/KM6B89SP/F358T65KM6B89SP.jpg&filename=Mosfet-03.jpg)
![Radar-01.jpg](/proxy/?url=https://content.instructables.com/FKG/OTCO/KM6B89SQ/FKGOTCOKM6B89SQ.jpg&filename=Radar-01.jpg)
![Radar-02.jpg](/proxy/?url=https://content.instructables.com/FDH/2J02/KM6B89SR/FDH2J02KM6B89SR.jpg&filename=Radar-02.jpg)
![Radar-03.jpg](/proxy/?url=https://content.instructables.com/FZS/6GAF/KM6B89ST/FZS6GAFKM6B89ST.jpg&filename=Radar-03.jpg)
![Touch-02.jpg](/proxy/?url=https://content.instructables.com/FNQ/339L/KM6B89SV/FNQ339LKM6B89SV.jpg&filename=Touch-02.jpg)
![Touch-01.jpg](/proxy/?url=https://content.instructables.com/FED/TP3O/KM6B89SU/FEDTP3OKM6B89SU.jpg&filename=Touch-01.jpg)
![CH340 aansluiting.jpg](/proxy/?url=https://content.instructables.com/FSE/MVU2/KO8M3Y1M/FSEMVU2KO8M3Y1M.jpg&filename=CH340 aansluiting.jpg)
![Afstandsbediening.jpg](/proxy/?url=https://content.instructables.com/FDG/X2N3/KOR6TWAR/FDGX2N3KOR6TWAR.jpg&filename=Afstandsbediening.jpg)
The components.
Reuse is the cheapest. An old desktop PC supplied the speaker, the LED, the capacitors for the LED board and the power cables and plug. The remote control is from an old HD recorder.
Furthermore, there is still needed
1 Arduino Pro Mini
200 WS2812B NeoPixels led’s
1 power supply 5 volt 2 amps or more
1 RCWL-0516 Microwave Radar Sensor, radar sensor to detect movement
1 TTP223 Capacitieve Touch Switch Button, touch key to freeze the image
1 IR Infrarood Ontvanger Sensor TL1838 of VS1838B for the remote control
1 CH340 TTL USB Serial Port Adapter
4 AO4409 P-Channel MOSFET
And a resistor of 100 and 2 * 470 ohms and 1 K and 470 K.
The Power Supply
![Tabel 01.jpg](/proxy/?url=https://content.instructables.com/F83/19BH/KM7QOI1M/F8319BHKM7QOI1M.jpg&filename=Tabel 01.jpg)
Which power supply do you need. Theoretically 5 volts and 12 amps, namely 200 leds * 20 mA * 3 for r g b led = 12000 mA.
FASTLED contains power management. So you can set the maximum power.
During the build I used a 1 amp power supply and had FASTLED set to 1000 mA. This worked fine but was a bit lacking for some displays. As a temporary and possibly definitive solution I now have a heavier USB power supply where I use two connections. I could get 2 amps from this twice, but I have set FASTLED to 2500 mA and this works fine. I divided the LEDs into two groups of 100 pieces each.
Warning, do not buy such a 5 volt 3 A plug power supply for a few euros, which would be multiple protected and which everyone in the review likes so much, because then you will really be disappointed.
I measured the current, see table, and the power consumption is with a full color image between 7 to 9 Watt. The arduino and the other components use 20 mA. The USB to TTL converter that is attached during programming uses 15 mA.
I have added a radar sensor to determine if someone is nearby or else could turn off the light to save energy. You could then set the LEDs to black, but then they still use current, namely a little more than 1 mA. I measure 210 mA at the 200 LEDs. That's why I turn off the 5 volts to the LEDs using a mosfet. Because I have divided the leds into two groups of 100 I use two mosfet to switch. To lower the resistance of the mosfets I put two parrellel. So in total 4 mosfets.
Running Direction of the Neopixels Seen From the Front
![NeoPixel richtig.jpg](/proxy/?url=https://content.instructables.com/FZ7/35YI/KOR6TVNA/FZ735YIKOR6TVNA.jpg&filename=NeoPixel richtig.jpg)
![Telling leds.jpg](/proxy/?url=https://content.instructables.com/FBG/RPEE/KO8M3Y1P/FBGRPEEKO8M3Y1P.jpg&filename=Telling leds.jpg)
The running direction of the Neopixels seen from the front is hardware based from left to right to left, etc. Software wise they go:
1) from right to left and then the next row from right to left.
2) back up from back to front
3) From top to bottom with first row of triangles down and second row of triangles
4) from top to bottom triangles alternately so that it is a square
5) back up from bottom to top to bottom triangles alternately so that it is a square
6) from the center clockwise around
7) from the center counterclockwise around
8) 45 degrees up from the bottom left
9) 45 degrees up from the bottom right
How Do You Determine the Colors Yourself
![pallets.jpg](/proxy/?url=https://content.instructables.com/FKA/XDYP/KO76OLOA/FKAXDYPKO76OLOA.jpg&filename=pallets.jpg)
![adafruit.jpg](/proxy/?url=https://content.instructables.com/FIP/3C1O/KO76OLO4/FIP3C1OKO76OLO4.jpg&filename=adafruit.jpg)
The colors are Rainbow colors or are generated via the PaletteKnife for FastLED color palette.
By adjusting the color table you can determine the colors yourself. So if you want more red, green, blue or whatever color you want, you have the option to decide for yourself. Enough choice.
Adjustments in the table are processed automatically, so more or less color pallets is no problem.
Where one bumps into is the memory capacity of the processor. That is why I opted for pallets that require little memory.
For more explanation with demo video about the PaletteKnife for FastLED color pallets see a.o.
adafruit, Creating Color Palettes
https://learn.adafruit.com/simple-beautiful-color-changing-light-strand/creating-color-palettes
https://learn.adafruit.com/twinkling-led-parasol/assembly
And for your own color adjustment
Hardware Schematic
![Schema NeoPixel decoration.jpg](/proxy/?url=https://content.instructables.com/FLM/68HM/KXSZARKJ/FLM68HMKXSZARKJ.jpg&filename=Schema NeoPixel decoration.jpg)
The Arduino description indicates the following,
To make a set of values generated by random () different,
in subsequent runs of a sketch, use randomSeed () around the generator
for random numbers to initialize with a reasonably random input,
like analogRead () on an unconnected pin.
That is why I soldered a piece of copper wire to A0 which serves as an antenna.
Software
![Compiler warning.jpg](/proxy/?url=https://content.instructables.com/FC3/DAHN/KOSMAG6Y/FC3DAHNKOSMAG6Y.jpg&filename=Compiler warning.jpg)
1)
I may be able to optimize the code so that less memory is needed.
When compiling, the following message comes up, but so far has not given a problem.
The sketch uses 28956 bytes (94%) of program storage space. Maximum is 30720 bytes.
Global variables use 1574 bytes (76%) of dynamic memory. Left 474 bytes for local variables. Maximum is 2048 bytes.
Low memory available, stability problems may occur
2)
In the Arduino work, the tone () function uses Timer2 and the IR remote also uses Timer2.
These do not work together and that is why we will adjust the IR library.
In the file IRremoteInt.h ( in newer version the file is IRTimer.cpp.h ) now IR_USE_TIMER1 is defined instead of IR_USE_TIMER2 which looks like this
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc.
#else
#define IR_USE_TIMER1 // tx = pin 9
// #define IR_USE_TIMER2 // tx = pin 3
// Jan 5412
#endif
Also, only the NEC remote is active and the other disabled, as advised in the code itself, to save memory space.
IRremote.h
// Supported IR protocols
// Each protocol you include costs memory and, during decode, costs time
// Disable (set to 0) all the protocols you do not need / want!
//
#define DECODE_RC5 0
#define SEND_RC5 0
#define DECODE_RC6 0
#define SEND_RC6 0
#define DECODE_NEC 1
#define SEND_NEC 1
#define DECODE_SONY 0
#define SEND_SONY 0
The adapted library is included. When downloading the library from GITHUB you have to adjust it.
Manual for Remote Control Settings
![Startscherm.jpg](/proxy/?url=https://content.instructables.com/FH0/2EKG/KOX6JE22/FH02EKGKOX6JE22.jpg&filename=Startscherm.jpg)
![Case 01.jpg](/proxy/?url=https://content.instructables.com/FMN/DNDY/KOZRGXZ1/FMNDNDYKOZRGXZ1.jpg&filename=Case 01.jpg)
![Case 02.jpg](/proxy/?url=https://content.instructables.com/FFY/OVZP/KOZRGP9V/FFYOVZPKOZRGP9V.jpg&filename=Case 02.jpg)
![Case 03.jpg](/proxy/?url=https://content.instructables.com/F8E/FUN6/KOZRH2GQ/F8EFUN6KOZRH2GQ.jpg&filename=Case 03.jpg)
![Case 04.jpg](/proxy/?url=https://content.instructables.com/FC6/ZZXM/KOVH7BL2/FC6ZZXMKOVH7BL2.jpg&filename=Case 04.jpg)
![Case 05.jpg](/proxy/?url=https://content.instructables.com/F2I/Y81U/KP16XE0N/F2IY81UKP16XE0N.jpg&filename=Case 05.jpg)
![Case 09.jpg](/proxy/?url=https://content.instructables.com/FFQ/M0FQ/KP16WOIE/FFQM0FQKP16WOIE.jpg&filename=Case 09.jpg)
There is a choice of 9 different effects, namely
case 1 : triangels
case 2 : ColorWavesWithPalettes
case 3 : Smiley_Smill
case 4 : ChangePalettePeriodically
case 5 : full_rainbow_color
case 6 : chaos
case 7 : Fire2012WithPalette
case 8 : FixBeeld
case 9 : juggle
You press a button on the remote control. Then the blue LED turns on, see red circle, and when you hear a tone, press the OK button.
The double button is to make sure that you want to set and that it is not, for example, the TV remote control or similar.
Then a screen appears with a colored band at the bottom and black for the rest.
After that you make the choice 1 to 9. The screen that then appears shows the settings that may be associated with the pattern.
The settings for each pattern are as follows:
key 1 = case 1 triangels
Press key 1 then you can switch between red on the left, no border, and green on the right, with a border
Press key 3 then you can switch between left red is off and right green is random start color
Press key 5 then you can switch between left red is off and right green is random target color
Key 3 and 5 is most visible in the border color
Left and right keys fill the green triangles in the next line. This determines the number of animations, max 20, before the color changes
Keys FF and FB fill the blue triangles in the next line. Each triangle is 30 sec animation time with a maximum of 20 triangles which is 30 to 600 seconds.
T comes on after operating the remote control and then everything is entered correctly. When you press the remote control, the blue LED turns on. It may then take a while for the tone to come to press OK. The current process is finished first. For this reason, the touch key does not work here either.
key 2 = case 2 ColorWavesWithPalettes
Press key 1 then you can switch between left red "pride" and right green "colorwaves"
Key left and right fill the green triangles in the next line. With triangle 1 to 9 you make a choice from the 9 different running directions of the LEDs and 10 determines the direction randomly.
Press FF and FB fill the blue triangles in the next line. Each triangle is 10 seconds with a maximum of 20 triangles, which is 200 seconds.
key 3 = case 3 Smiley_Smill
Press key 1 and you can switch between the left red random pattern and the right green smiley pattern
Any number of LEDs change color at random speed so that the pattern keeps changing.
key 4 = case 4 ChangePalettePeriodically
When pressing key 1, red on the left indicates that you can set the time and on the right green is a random time before the pattern changes. The random time is determined every time between 10 and 200 sec.
Key left and right fill the green triangles in the next line. Each triangle is 10 seconds with a maximum of 20 triangles, which is 200 seconds.
key 5 = case 5 full_rainbow_color
key 1 red random color and green is fixed color that is set with key left / right
key left and right you can set the first bar. This goes from 1 to 80. So in 80 steps over the entire color spectrum. The color you see is the color of the display which remains constant.
key FF and FB fill the blue triangles in the next line. Maximum of 20 triangles which determines the speed of coloring at random setting.
key 4 decrease and key 6 increase the number of colors of the whole image at random setting. Setting to 1 produces a continuously changing color for the entire display. Maximum setting is 20, whereby the image of the triangles always appears slightly different due to the coloring.
key 6 = case 6 chaos
*
key 7 = case 7 Fire2012WithPalette
*
key 8 = case 8 FixBeeld
*
key 9 = case 9 juggle
The color changes continuously with
key 1 colored dots, which quickly weave together synchronously
key 2 colored dot sweeping back and forth, with fading trails
key 3 colored dots, which slowly weave together synchronously
Conclusion
Ultimately, it is 200 LEDs that change color constantly whether or no and if you take the time to look at it, the question is always what comes next.
All in all, a nice project in which I have spent the necessary hours.
Update 30-dec-2021
![Running direction voor spiegeling.jpg](/proxy/?url=https://content.instructables.com/FTR/5CYU/KXSZAS2E/FTR5CYUKXSZAS2E.jpg&filename=Running direction voor spiegeling.jpg)
![IMG_8166.JPG](/proxy/?url=https://content.instructables.com/FVU/KZS5/KXSZAS2D/FVUKZS5KXSZAS2D.jpg&filename=IMG_8166.JPG)
Under construction
I saw a “link” here an example of mirroring the patterns and found it a challenge to get them integrated into my display. I partially succeeded. I've divided the display into four and created blocks from 0 to 49 , 50 to 99 , 100 to 149 and 150 to 199. The four blocks are mirrored relative to each other. Within a block, smaller blocks of 2 by 4 LEDs can be made. In my case, 2.5 blocks fit horizontally and vertically.
Because the processor was already full of code, and could only access very little, I limited myself to mirroring 4 rows. This has been added to choice menu 2.
So the possibilities are
1) Mirror the four blocks
2) Flip 4 rows within a block and mirror it again to other blocks
For the color you can choose from random RGB where the new pattern comes on immediately or for the color palette where the color slowly changes to the new pattern.
Test and Troubleshooter.
![Onderdelen-voorbeeld.jpg](/proxy/?url=https://content.instructables.com/FGD/5SVT/LD7E4Z8H/FGD5SVTLD7E4Z8H.jpg&filename=Onderdelen-voorbeeld.jpg)
I have written a very simple test program for all those who want to test the hardware or who have problems with the hardware and do not come out well themselves. You download it to your processor and it runs automatically. In the serial monitor you can see and indicate what is happening. There are 9 steps that are followed. If you don't use the hardware of a certain step, it will just be run through and the next step will come automatically. It is therefore not necessary that you have the entire hardware configuration exactly the same. You can also comment out the unused steps, and you can adjust the program to your own liking. If you use a different pin connection, you must of course adjust this in the program. To start over, reset the processor by pressing the reset button.
Step 1:
Here the blue LED is switched on and off 5 times.
If this doesn't work,
1) Check if the LED is connected to pin 10.
2) LED polarity is reversed.
3) Value of resistor is wrong, or not good in combination with the used LED. Led current is 5 volts -2.8 led voltage / 1 k ohm resistor value = 2.2 mA. You may lower the resistance to 150 ohms. A 1K Ohm resistor can be identified via resistor color codes of brown-black-red-gold or brown-black-black-brown-gold. I have collected some pictures from the internet to clarify.
There is a well-known mnemonic, in Dutch, to remember the numbers associated with the colors: Zwart-bruin-rood-oranje-geel-groen-blauw-violet-grijs-wit wordt dan; Zij Bracht Rozen Op Gerrits Graf Bij Vies Grauw Weer. Black-brown-red-orange-yellow-green-blue-violet-grey-white then becomes in English e.g. Better Be Right Or Your Great Big Vacation Goes Wrong.
Step 2:
Here the buzzer is tested. 5 tones follow, viz. 500 , 750, 1000, 1250 and 1500 Hz
If this doesn't work,
1) Check whether the buzzer is connected to pin 11.
2) Buzzer polarity is reversed.
3) Value of resistor is wrong. You may need a different value. Here a 100 ohm resistor is used. 100 Ohm = brown-black-brown, see color coding
4) You need a passive buzzer. I use a buzzer from an old PC motherboard. An easy way to distinguish between active and passive buzzers is to connect them to a DC voltage source. The buzzers are polarized, so check which pole is positive and which pole is negative before connecting. When you connect a passive buzzer to the 5 volts, the buzzer will make a clicking sound. But when you connect an active buzzer, the buzzer will make a loud buzzing sound.
Step 3:
Here the first WS2812B RGB LED NeoPixel is controlled. So you can test with 1 NeoPixel.
If this doesn't work,
1) If you use the MOSFETS connect the power supply directly to the NeoPixel.
2) Check that the NeoPixel is connected to pin 4.
3) Check NeoPixel polarity and if data in out are correct
4) Value of resistor is wrong, 470 ohm is brown-purple-brown
5) Check if the negative wire of the power supplies are connected together if processor power supply and NeoPixels power supply are not the same. If you power the processor via USB, for example.
6) The first NeoPixel may be defective. I've had a strip of NeoPixels not work. The problem then was that the first NeoPixel was defective and it did not pass on the signal to the rest. Put the date on the second NeoPixel.
7) You are using another NeoPixel as WS2812B. Then set it in the program.
Step 4:
Here all NeoPixels are controlled one by one. Color becomes red – green – blue.
If this doesn't work,
1) Quantity here is set to 200 NeoPixels. If you have more you have to adjust this, if you have less no adjustment is necessary.
2) If the series is not fully completed, you run into a defective NeoPixel, replace it.
3) If a certain NeoPixel's color does not light up, it is defective, replace it.
Step 5:
Here all NeoPixels are controlled simultaneously. Color becomes red - green - blue - white. You did also immediately test the power supply here. If the surface does not color evenly or you see other strange phenomena, your power supply may be too light.
If this doesn't work,
1) Replace the power supply. A 5 volt, 2 amp power supply should work
Step 6:
Here the MOSFETS are tested. NeoPixels are turned on and off a number of times. If you first connected the power supply directly, connect them first.
If this doesn't work,
1) Check if the MOSFETS is connected to pin 9.
2) Check the connections of the MOSFETS, drain, source, and gate for proper connection
3) experiment with a different resistor value
Step 7:
Here the radar sensor is tested. When motion is detected, NeoPixel 0 turns on or off and several other NeoPixels turn on. After 2 minutes the program continues, so no radar sensor is no problem, just wait 2 minutes.
If this doesn't work,
1) Check that the radar sensor is connected to pin 3.
2) Check the radar sensor connections.
Step 8:
Now you can test the touch key. When operated, NeoPixel 0 turns on or off and several other NeoPixels turn on. After 1 minutes the program continues, so no touch is no problem, just wait 1 minutes.
If this doesn't work,
1) Check if the touch button is connected to pin 12.
2) Check the touch button connections.
Step 9:
Here you can test your own used IR controller. This is the last step and the program continues to loop in it. When operating the IR controller you see the code in the serial monitor. You can copy these and enter them into the program afterwards. Change the code 0x898940BF to what is in the serial monitor when the button is pressed.
#define button_ok 0x898940BF // button ok
Most IR controllers use the NEC coding. I have modified the IR library to save memory space, see description.
If this doesn't work,
1) Check whether the VS1838 IR receiver is connected to pin 2.
2) Check the connections of the IR receiver. Connections of a separate IR receiver can be different from the connections of the IR receivers on a PCB.
3) Most IR controllers use the NEC coding. I have modified the IR library to save memory space, see description. Customize this library or download a full one. Compile and download to the processor again and try again.
Good luck Jan5412.