This is the sketch I use on the nano. Just change the number of LEDs, and make sure the baudrate matches in hyperion settings.
I started off using this video as a guide.
This is the sketch I use on the nano. Just change the number of LEDs, and make sure the baudrate matches in hyperion settings.
I started off using this video as a guide.
It's in adafruit's best practices for neopixels. This answer goes into a bit more detail.
I keep my power supply on the floor and run power up through the wall, but in that instance, I run 10 AWG wires to a distribution block, and 20 AWG to all corners. I'm not sure how thick or long your wires are, but keep in mind that it's best to use thicker wires if you have a longer distance to travel. So maybe run some thicker 5v + ground wires and split those to the front and back of the LEDs behind the TV.
It may be worth trying out a longer USB cable for the nano. That way you could keep the data wire short and just mount the nano behind the TV. Assuming you power the pi with the same power supply as the LEDs. If that's not possible, I'm not exactly sure how long the data wire can be off of a nano. I guess you won't know until you try.
Edit: adafruit best practices also say data at 1-2 meters is usually fine.
Yes, I can control the lights with the app. It appears the HA Hyperion integration only allows power on/off. But adding some shell commands is easy enough. For instance, If I wanted I could use the following HA automations.
When TV turns on, start a Hyperion effect or solid color.
When TV starts playback with a specific app (or multiple apps, or all apps) stop the effect. Which would then allow the standard bias lighting / ambilight.
When playback stops, resume effect or solid color.
When TV turns off, turn off Hyperion.
You could also make those trigger with the harmony remote if you didn't want the light change to be automatic.
The arduino nano just runs a set block of code and gets instructions from the pi/Hyperion. There is no way to control the arduino outside of Hyperion. IMO the arduino is better than running directly off the pi when it comes to the WS2812b LEDs.
While I haven't tried running Hyperion with nodeMCU, I do have a couple of other nodeMCU's running WLED for other LED projects around the home. I could definitely see the benefit if my pi wasn't set up behind my TV already.
I'm not sure exactly how much it matters, but my data wire is about 3.5 feet long and I have a 330 ohm resistor soldered in right before the LED strip. Each of the 4 sides is powered from the front and back with 1000uf capacitors right before the LED strip. You can see my set up here: https://imgur.com/a/Yp0Y0St
That is the one of have too. But it keeps dropping being recognized by the pi and I have to unplug and plug the usb from the pi
That would seem to indicate an issue with the hdmi capture card, not the splitter. Lighting-guy77's post might help with that.
I would guess that you may need a logic level shifter, given the length of the data cable.
This is the 4k splitter I use.
I'm not positive about HDR 10+, but it works with HDR 10, 4:4:4 and dolby vision / atmos. CEC is perfect.
Unfortunately, I'm not sure about ST since I've never worked with it. But, depending on your media source, I can think of a couple of easy automations in home assistant that would work.
About the LEDs,
Assuming your wiring and everything else is good, I've heard of problems when using the pins on a pi with certain LEDs, but I'm not familiar enough with the problem to give solid advice. There may be a command you need to run, and/or use a level shifter to boost the data signal. I use an arduino nano clone with a pi4b and ws2812b LEDs which work amazingly well.
I'm not exactly sure what you mean by toggle the lights from USB capture, but you can use signal detection on the USB source.
Also, you can send commands formatted in json to do things like change the lights to a solid color, or start an effect.
For instance, this will turn the lights red for 10 seconds
curl "http://HYPERION-IP:PORT/json-rpc" -X POST -d "{\"command\":\"color\", \"color\":[255,0,0], \"priority\":1, \"duration\":10000, \"origin\":\"Hyperion JSON\"}"
If you don't set a duration, it will be infinite until you issue a clear command
curl "http://HYPERION-IP:PORT/json-rpc" -X POST -d "{\"command\":\"clear\", \"priority\":1}"
You could set those up as shell commands in HA and then use the shell_command service in automations.
You can see all the options here: https://docs.hyperion-project.org/en/json/Control.html
When using different power sources it's important to establish a common ground between the two.
I would also guess it's a grounding issue. You need to bring a wire from the ground on the PSU to a ground pin on the pi.
It looks like those are 4 pin, so you'd need clock and data. I'm not sure what type of timing they have or if they'd work with hyperion out of the box. I'm not even positive that they're individually addressable. If you end up going with 5V neopixels, I'd recommend something like this
It depends on how many LEDs you want to run. For instance, each WS2812B LED can draw a max of 0.06A. So even 150 LEDs could draw up to 9 amps. If you figure out a rough estimate on how many (and what type of) LEDs you'll have, you'll be able to get a better idea of what power supply you should be looking at.
Meanwell is a trustworthy and reputable brand of PSUs. I'm using a SHNITPWR 5V 30A 150W PSU on 330 LEDs and it's been great so far. Accurate output & runs cool.
What type of LEDs are they? How many amps is your power supply? Did you connect the ground from your LEDs to your pi? Do you see the flash in the LED Visualization preview?
I have an RPi4B 2GB and it seems to be working fine, but it's an earlier revision.
pi@raspberrypi:~ $ grep MemTotal /proc/meminfo
MemTotal: 1911324 kB
pi@raspberrypi:~ $ cat /sys/firmware/devicetree/base/model
Raspberry Pi 4 Model B Rev 1.2
Paulchen-Panther Nice! I like the paint. Interesting to see the LEDs mounted on the wall as opposed to the TV. While I like them mounted on my TV since it's a full-motion swivel bracket, I definitely see the appeal of having them mounted directly to the wall.
Edit: or is that a projector set up?
Sounds like a power problem. What is the power supply? Have you checked it with a multimeter?
Thanks! thought I'd add some diagrams as well.
The project turned out well. I ended up going with a 30 amp power supply, 10 AWG to a busbar, 20 AWG to all four corners (2x). It's probably overkill to have the front and back of each strip powered, but no one ever accused me of cutting corners. I have 1000uf caps on the front and back of all the strips as well. Attached pics of the 85" 334 LED set up/install. Also, video, which didn't turn out super great due to the TV having a 3000 nit brightness.
If anyone has questions about the setup, feel free to ask.
My hardware setup is a 5m 300 LED WS2812b, rpi2, arduino nano, HDMI capture card, and I'm currently using a 5v 15a 75w power brick, 1000uf 25V capacitors soldered to the front and back of the LED strip, 330 ohm resistor on the data line. I'm powering the rpi2 and capture card from an alternate power source so the power brick is dedicated to the LEDs. I'm using 256 LEDs, so amps are technically above what my power supply can provide (16.9a vs 15a).
I do plan on upgrading my TV to an 85" soon, so I'll likely be getting another strip to add to what I have. Planning ahead, I've bought a
I'd like to upgrade my current setup with the new power supply initially, with the ability to add more LEDs with the TV upgrade.
I was planning on getting a garbage disposal power cord to connect the power supply, and using 14 AWG to some type of distribution block. At the moment, I just have power to the front and the back of the LED strip but will want 4 (or out terminals to run to all corners.
So, my questions are:
Really appreciate any feedback. This is my first Hyperion setup and I just used a lot of what I had laying around, but I'd like to do things "right" and get the best results possible. Thanks in advance.