digibury: project conway big reveal part 2- the hardware build
TRANSCRIPT
Life Is But a Game by Tinkersoc
The Hardware Brief
• To build a 10 x 10 matrix of lights that can play the Game of Life (GOL).
• The matrix must be controllable from an external source (the display only needs to render the GOL, it does not need to run it).
• A high quality finish is required.
Initial Concept
100 ping pong balls + RGB lights = win.
Sourcing Lights
• Due to the size of the matrix we can’t plug in lots of lights into a micro (100+ pins needed!).
• Multiplexing is one solution: ▪ This would provide very
fast IO to render an image, but adds complication to the wiring of the device.
Sourcing Lights
• We don’t need fast refresh rates (the GOL will be slowed down a lot due to the ‘limited’ size of the screen).
• Addressable RGB lights would give us expansion room (replacing or adding pixels would be easier)...
Enter the WS2801 and the WS2812B
WS2801 & WS2812B
• 2 wires (ws2801B) and 1 wire (ws2812b) required to control a huge string of LEDs.
• Very bright RGB and individually addressable.
• Although timing is sensitive (would require FPGA or some fancy DMA on very large strings) we aren’t running that many LEDs (100 is relatively small).
• 100 of these LEDs would need a fair amount of ‘current’ at 5V, but easy to supply (10A external psu).
Prototype 1.
• 5 x 5 Matrix using a WS2801 string.
• Bit of hardboard.
• Arduino.
Designing The Final Hardware
• WS2812b tape (very cheap per LED).
• IKEA HOL table (A 10 x 10 lattice!).
• Wire.
• Front one-way-mirror.
A Lot of Soldering Later…..
If YouTube decides to work…. http://www.youtube.com/watch?v=M7ut70dOd7o#t=192
Version 2
• Soldering by hand is slow and potentially unreliable.
• Time to produce some PCBS. !!!!
• Produced in KICAD. ▪ Each strip contains 5 LEDs (will need 10 strips of these). ▪ Surface mounting each led and a capacitor. Fits nicely in
the lattice gap.
Result:
All in:
PLUGGED IN AND…..
DISASTER! ☹
Diagnosis – Why is my LED not working?
• Power is fine (5V consistently across the power rail).
• No shorts.
• Can run an individual stick.
• Should be working and we have yet to diagnose what is wrong (probably something messing up the signal).
A FEW DAYS LEFT AND WE HAVE NO DISPLAY!?!
The Society To The Rescue – Scrapping the design and going Plan B.
• KISS approach (This had got lost along the way.)
• Many Tinkersoc members = many man/woman hours.
• More eyes to check the work.
• A fun evening of building (make this an actual Tinkersoc project).
Day 1 - Case Design
• Custom case was designed in autoCAD
• Lasercut by architecture department (took over 1 hour to cut all the MDF).
Day 1 - LEDs
• Back to the WS2801s (same as those used in the prototype). !!!!!!
• Kiss again: 100 LEDSs prewired purchased and measured to fit the custom case. Arrived day 2.
Day 1 - Software
• Arduino micro setup with GOL firmware.
• A PhD student wrote this. Uploaded and tested.
DAY 2: BUILD.
Lessons Learnt
• Things can be swimming along fine and fall over when you least suspect it (generally right at the end).
• KISS is the best approach (as long as you KISS the right thing).
• Your society can save your butt.
• I love the smell of laser’d MDF in the morning.
Life Is But a Game by Tinkersoc