BMS Doug
Posts: 3812
Joined: Thu Mar 27, 2014 2:42 pm
Location: London, UK

backlit poster

Postby BMS Doug » Sun May 07, 2017 8:39 pm

Yet another ws281x LED project, i made a birthday present for my brother-in-law for his 60's themed birthday party.

Psychadelic mushroom poster with pattern changing backlight.
You-tube clip

I bought the poster from amazon, the first one arrived with a corner stuck together so the sheets ripped as i seperated them. The vendor was very helpful and the replacement arrived just in the nick of time.

Bill of materials:
1 off Pi0W
1 off 5v UBEC
1 off 3v3 - 5v logic level converter. I used a mypifi led controller board as I had several from the kickstarter.
2 off 5m ws281x LED strips.
1 off 12V 5A power supply.
1 off SPDT toggle switch.
1 off 2.1mm power jack socket.
plenty of 0.5mm csa wire.
2 off 600mm x 800mm cork pinboards (have been lying around for a few years since we got them for a kids party).
1 off poster

Construction
pretty simple, measure the LED strip to desired length, cut and solder connections to the next section. Lots of cutting and soldering, I created a spiral pattern.
12V supply in to the barrel jack.
+12V into the SPDT toggle switch.
toggle switch output goes to +12V of LED strips and to UBEC.
5V output of UBEC goes to Pi0W 5V GPIO and to power of logic levrl converter.
all 0v's linked together.
GPIO pin 12 (bcm18, pwm0) connected to Din of LED strip.

Poster sections sellotaped together.
cardboard frame sellotaped to poster (frame needed to move poster away from LEDs, to diffuse light. If the LEDs are too close they show as points of light through the poster).

Programming
easiest stage of the build:
I built the SD card using PiBakery, setting my access point details in the wifi setup module.
WS281x program: I simply followed the adafruit tutorial, i commented out the sections of strandtest.py that i didnt wish to use (i only kept the RainbowCycle loop active). Once I was happy with the number of leds (96) and the animation pattern I set striptest to run on startup (trivially easy with PiBakery, I just used a "on every boot" block and a "run python script" block and filled in the path and filename).

I changed the Pi0W's wifi settings to match my phone's wifi hotspot settings (just in case I wanted to connect to it later, which wasn't needed) (again very easy with PiBakery).
Doug.
Building Management Systems Engineer.