40
votes
Accepted
Addressable RGB strip works fine individually but cannot set all LEDs to full white
I would suspect that it is a voltage drop in the power rails caused by the current draw. Probably cheap construction with copper tracks that are just too thin and so have too high a resistance.
To ...
5
votes
Accepted
Setting 10 RGB Strips Independently from Single Arduino
You could use chainable RGB drivers like these:
They are based on the P9813 chip and can be used with the FastLED library.
You can find them on Aliexpress or eBay, if you search for "STM32 rgb".
...
5
votes
RGB led strip is too dim
The Wemos D1 Mini is a 3.3V device. With a 1k base resistor, the most base current you're going to get is (3.3V / 1k ohm) = 3.3mA.
Looking at the datasheet, the current gain (h_FE) for the TIP31 ...
5
votes
Addressable RGB strip works fine individually but cannot set all LEDs to full white
Majenko's answer is correct, and you could also verify it with the test performed.
Since it is an issue I encountered myself in the past in a similar case, I want to share some measurements I took on ...
4
votes
Accepted
Do I have to wire up my WS2812 LED strip in "series", if I want to address each LED individually?
The LEDs are "addressed" in series; if you address the first LED then you address all connected first LEDs. So yes, you must connect the Data Out of the previous LED/strip to the Data In of the next ...
4
votes
Accepted
RGB LED strip 100m
100 Meters of 5050 SMD strip LEDs will require roughly 120-200 amps. However, you cannot drive a 100 meter strip from a single power supply. The thin copper traces in the LED strip can only handle so ...
4
votes
Accepted
What can I do to increase the amount of LEDs I can power with a pro micro?
As Majenko already mention, use a separate power supply.
Use that power to power the LED strip(s).
Use the MCU to control the data and clock lines.
Connect grounds together.
3
votes
Accepted
Stacks on arrays on arrays
C(++) does not natively let you "add" arrays like that. Your code looks like maybe Python.
There are several ways to do what you want to do. You could make your code which writes the pattern to the ...
3
votes
for() loop doesn't seem to break?
Consider the sequence of values of "fadeIn". It starts at 8 and in incremented by 16. So: 8, 24, ... 248, 264, ... . It is never exactly 255. So you never break out of your "for" loop.
There is ...
3
votes
Control multiple WS2812B strips with different leds count
The WS2812 chip requires highly timing dependent pulses to work, as I describe on my page about Neopixels. We are talking about pulse widths of 350 ns.
I suggest it would be impossible to add another ...
3
votes
Accepted
Arduino is incorrectly reading serial input from C# program
Your Serial receive code is not correct in some ways:
You should only read from Serial, if there is really something to read. For the first read, that is not the problem, since you checked against ...
3
votes
What can I do to increase the amount of LEDs I can power with a pro micro?
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If ...
3
votes
Accepted
LED strip brightness decreases when using multiple strips
40 amps is a LOT of current.
24 AWG wire can't handle anywhere near 20A of current, nevermind 40A. (After a little googling, it looks like 24 AWG wire is limited to about 3.5A.)
Think about it. In ...
3
votes
ignoring potentiometer value variations
You have two issues going on - noise pickup, and a potentiometer with imprecise stops at one or both ends.
The pot is the easiest to fix: What are the lowest low reading and highest high reading you ...
3
votes
FastLED library: How can I adjust the brightness of a single pixel on an absolute scale?
There is no dedicated function to adjust brightness.
You can (however) do this by using the HSV color model.
Breaking HSV (Anachronism) into Parts:
H (Hue) Controls the Color itself.
S (Saturation) ...
2
votes
How to identify RGBW LED pins?
The pin with a + is the anode of one colour. The three next to it are also anodes.
Each anode is connected to one LED. The cathode of that LED is connected to the pin directly opposite the anode.
2
votes
2
votes
Accepted
RGB LED strip green LEDs cannot be dimmed to less than 50%
analogWrite only works on pins that support PWM. Those are the pins with the ~ next to it.
On no-PWM pins, analogWrite will set the pin to LOW, for all values lower than 128, and HIGH for all the ...
2
votes
Accepted
RGB LED strip inverted PWM
The RGB LED strip has a common anode (V+). When you put 12 V on R, G or B, the LEDs have 12 V on both sides, so there is no voltage across it and no current.
And if you put 0 V, they have 12 V across ...
2
votes
Accepted
Is there any problem in running Arduino logic to 12V LEDs?
The signalling of those LEDs is 5V and the power supply 12V. Basically you have a 5V-powered chip with constant current sinks driving LED chains that are powered from 12V. The 5V power for the chip is ...
2
votes
Do I need the Ground and 5 V pin connect to Led?
I think it is not a good idea to power the LED strip via USB.
Normally USB delivers a maximum of mA (see below). Assuming you have 30 LEDs (minimum for a normal LED strip), and each LED gives 40 mA (...
2
votes
WS2812B LED strip + Arduino First Pixel keeps dying/breaking
I found (a part of) the problem:
The soldered pin connections at start of the ribbon had leaking current. This was due to the soldering flux remaining around the pins. Rinsing the connection with ...
2
votes
for() loop doesn't seem to break?
This is doing an assignment, not the comparison you are expecting
if (led = 144
Need == for the comparison
2
votes
Accepted
Strange artifact in writing to serial while executing loop
In your code colors is declared as
rgb_color colors[ledCount];
This means that the very first iteration of this cycle in shiftLED
for (uint16_t i = ledCount; i > 0; i--)
{
// access colors[i]
...
2
votes
What can I do to increase the amount of LEDs I can power with a pro micro?
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power ...
2
votes
Accepted
Cycling through switch states
The problem lies in your for cycle.
If (state == 1) you are switching the red colour ON.
If (state == 2) you are switching the blue colour is ON. So at this moment, you have red AND blue colour on, ...
2
votes
Cycling through switch states
In your lines:
if (state==1) { leds[i].red = 100;Serial.println("Red"); }
if (state==2) { leds[i].blue = 100;Serial.println("Blue"); }
if (state==3) { ...
2
votes
ignoring potentiometer value variations
There are many ways to remove noise, below are some ways:
Only change the value when it differs enough. Assume the range is 0-1023. Than only change the value if the input value differs more than a ...
2
votes
Addressable RGB strip works fine individually but cannot set all LEDs to full white
For completeness, I want to include an RGB circuit simulation I made a while ago, along with some data. It's for analog RGB strips, but the concept regarding voltage drop is the same. I've since added ...
2
votes
Accepted
Pass Color to a function without using a specific Adafruit_NeoPixel
Looking at the library at https://github.com/adafruit/Adafruit_NeoPixel/blob/master/Adafruit_NeoPixel.h, you can see that the Color method is static (see line 307):
static uint32_t Color(uint8_t r, ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
led-strip × 85arduino-uno × 25
led × 21
rgb-led × 21
arduino-nano × 9
ws2812 × 8
esp32 × 6
neopixel × 6
esp8266 × 5
power × 5
programming × 4
nodemcu × 3
adafruit × 3
potentiometer × 3
serial × 2
wifi × 2
usb × 2
library × 2
pins × 2
arduino-pro-mini × 2
electronics × 2
rtc × 2
memory × 2
loop × 2
midi × 2