NEOPIXEL MATRIX with the Adafruit NeoMatrix Library
HTML-код
- Опубликовано: 10 сен 2024
- How to use a grid of WS2812 / NeoPixels and combine multiple tiles of these grids into a single unified matrix display that can be controlled by the Adafruit GFX and NeoMatrix libraries in Arduino.
The resulting display can scroll text and draw graphics the same as any other type of displays using these libraries.
Index:
0:30 - Overview of Adafruit libraries
5:14 - Schematic description
8:38 - Physical circuit overview
10:16 - Adafruit sketch review
13:55 - GR sketch adaptation review
Sketch/Schematic:
github.com/Gad...
Another Neopixel video with more info about using a series data resistor and 5v power supply 1000 uF capacitor:
• HOW TO USE WS2812B NEO...
Adafruit NeoMatrix and Graphics library details
learn.adafruit...
learn.adafruit...
Patreon: / gadgetreboot
#ElectronicsCreators
Background music from the RUclips music library:
A Rising Wave by Jeremy Blake
Ridge Racer by DivKid
This videos on this channel are very good explained. Thank you very much.!
Very Helpful, got me started quickly, Thanks
Most excellent explanation so far. Thanks a lot brother. Keep up the good work
This has been super helpful !!! THANKYOU!!
Nice and useful product. I liked it.
Thanks!
Excellent tutorial!
Great video - Thank you
Yep, very usefull, was it not that I really need to dig into this before all comes out the way I want. Thanks....
Very nice videooo
Tnx on info, check FastLED lib. Keep them coming :)
The capacitor you use has 1000uF. How did you scale the capacity. Is there a formular or a rule on how to dimension capacitors which are used against voltage peaks, and when is it necessary to use one? I saw a lot of people using bigger power supplys and did not use any capacitors.
Most people just try it out and go with whatever seems to work for their set up including if they don’t even bother using one. The general 1000 µF recommendation comes from Adafruit’s Neopixel usage recommendations.
Since the capacitor in this application is similar to how it would be used to smooth the ripple in an AC to DC power supply, if I want to try to actually calculate a value I would use a formula like the one in this thread with the checkmark beside it electronics.stackexchange.com/questions/253665/how-to-calculate-capacitor-value-to-reduce-pwm-load-ripple
But it gets complicated because of lacking information and dependency on the power supply being used.
For the calculation we need to know load current that the capacitor has to provide when it is doing its job, which would be the worst case load current for all the LEDs being powered.
We need to know the acceptable voltage ripple that the particular LEDs can handle, for example when the capacitor is doing its job while the power supply has dropped its voltage temporarily, the capacitor will do it’s best to maintain a steady voltage but it will have some amount of droop as well so we need to know how low the voltage to the LEDs can go before it causes a problem.
The bigger unknown is how long will the power supply take to recover its voltage while the capacitor is taking over. That may be referred to as the power supply load transient response time and I don’t often see something like that published so it may need to be simply tested if the power supply is in hand, by forcing a load on it whether it’s the actual LEDs at full brightness or some sort of a load resistor and then using an oscilloscope maybe, observe the Power supply voltage waveform and how long it takes the power supply voltage to stabilize.
That power supply recovery time would be similar to the AC to DC power supply waveform after rectifier diodes, where the power supply is basically losing output voltage and then recovering it over and over and the capacitor has to try to maintain a steady voltage.
And there’s other factors but that’s the general idea on figuring out what value capacitor is actually needed. If I can ever get a test set up going I want to try doing a test like that and if it works out I will do a video.
Brilliant vid thank you ,.//.,
Is there a list of what is in the Adafruit NeoMatrix Library and what they do?
Hello i have a problem with my 3 32x8 Neopixel matrices. I got everything running well on a single 32x8 matrix. I can tile another one horizontally and my running text gets displayed properly on both. But when in start chaining a third matrix horizontally, and give the NeoMatrix Function the input that I have arranged 3 matrices horizontally (not 2 anymore), the text that was getting displayed during upload freezes and nothing happends afterwards. Am i exceeding Ram? The programm only uses 27% memory.
A 16x16 or 32x8 panel uses 768 bytes of RAM. An Arduino Uno only has 2KB, and you've used 27% of that for your code.
How would you get the matrices to only draw static shapes with a single color? I am trying to get two 8x8 NeoMatrices to display 2 orange rounded rectangles, one on each matrix and have been pretty stumped since I'm quite new to programming LEDS.
You draw the shape(s) in the software, then send the instructions to the Neopixels only once. As long as you don't reset the panels to black, the shapes will stay visible.
This video clarified my doubts on how to define top right or left of matrix thanks a lot man ! and btw i was wondering if you can make bouncing balls on this matrix bouncing around the matrix , except the ones on youtube they all use one long straight strip for the bouncing effect.
Since the lights are individually accessible it's just a matter of software to light up just one pixel heading for an edge and then going another direction, but I haven't made one.
Is it possible to turn off the scrolling? I have 5 15x10 grids. I'd like to matrix.print one letter to each grid, but have them remain static.
I don't have it set up to test but it looks like the scrolling is done in the demo sketch loop by moving the cursor along to a new x_pos horizontal position and writing the text to do scrolling so if the cursor is just manually located where a letter or text need to be placed, then matrix.print("Text") and matrix.show() to carry out the command, that should hold the text there until it's changed in the code.
To make a static image, you write the pixel data once, then not refresh (clear) the screen. The pixels will stay static as long as power is applied. You will need a powerful Micro to run 5 x 15x10 panels, as an Arduino Uno only has enough RAM to run about 15x30 (3 of your panels)
How to adjust the size of the string?
Nice job on that, can you make a display from ledstrip (ws2812b) example 15x15 using those libraries?
It should work fine, though I don't have that many strips to test. I changed the sketch for 16x16 and it compiled using the same amount of memory and program space (I guess it just needs to send out more or less serial data and doesn't need more memory to store data unless we make a more complicated display picture). When I ran it on my small 8x8 I could see it was expanded beyond my display as if it were a larger 16x16 so it looks like a success.
@@GadgetReboot THX I'm now trying to build one out of those ledstrips.
How to modify the code so that the text scrolls from bottom to top
I haven't tried it and don't have access to the parts right now but try adding matrix.setRotation(3); (a number from 0 to 3 for different rotations) somewhere in setup after matrix.begin. It's supposed to rotate a display but I'm not sure if it handles keeping text "upright" .
@@GadgetReboot I have tried matrix.setRotation but then the font need to rotate 90 clockwise
My matrix is 7 pixel wide*32height I will put it in potrait orientation so I want it to display name bottom to top EX.
M
Y
N
A
M
E
scrolling upwards plz help
@@SKElectronics - RTFM. The adafruit documentation contains everything that you need to know.
Yep. You always want your tip to be red. A red tip is good. A blue tip is very bad, but a green tip is catastrophic.