Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Blending Art, Technology, and Light by Preston ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
PyCon 2014
April 11, 2014
410
1
Share
Blending Art, Technology, and Light by Preston Holmes
PyCon 2014
April 11, 2014
More Decks by PyCon 2014
See All by PyCon 2014
Postgres Performance for Humans by Craig Kerstiens
pycon2014
29
3.7k
Technical Onboarding, Training, and Mentoring by Kate Heddleston and Nicole Zuckerman
pycon2014
1
2.4k
"My big gay adventure. Making, releasing and selling an indie game made in python." by Luke Miller
pycon2014
2
1.7k
Farewell and Welcome Home, Python in Two Genders by Naomi_Ceder
pycon2014
1
790
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
610
Hitchhikers Guide to Free and Open Source Participation by Elena Williams
pycon2014
6
1.3k
Localization Revisted (aka. Translations Evolved) by Ruchi Varshney
pycon2014
0
730
Smart Dumpster by Bradley E. Angell
pycon2014
0
570
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
780
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
240
Done Done
chrislema
186
16k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
230
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Google's AI Overviews - The New Search
badams
0
1k
Skip the Path - Find Your Career Trail
mkilby
1
110
AI: The stuff that nobody shows you
jnunemaker
PRO
6
620
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
Context Engineering - Making Every Token Count
addyosmani
9
860
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
Transcript
Blending Art, Technology, and Light Python for interactive and real
time LED installations Preston Holmes! @ptone
Why are LEDs interesting?
None
None
None
LED LED Controller Hardware Interfaces and Protocols Software and Libraries
Creative Effects
! Light Emitting Diode
LED
None
• Three LEDs • put into a 5050 surface mount
package Common RGB LED
Smart vs Dumb LEDs • A dumb LED is an
RGB LED without any Integrated Circuit • 3 positive voltage inputs, and a common ground • responds just to voltage • An entire strip shares this electrical input • All LEDs on the strip are the same color
Smarter
Moar Smarter WS2811/2812
None
5 176 50 60 0 230 20 8 100 5V
serial protocol Array of Bytes
http://fastled.io But….
SanDevices E682 Joshua1Systems ECG-PIXAD8
None
DMX
E1.31 DMX over Ethernet
And what about the software
Ethernet USB Smart LED Serial DMX512 (RS485) “Software” E1.31
Interface Library Program! 0010101 Ethernet USB Smart LED Serial DMX512
(RS485) “Software” E1.31
http://www.openlighting.org/ola/
https://github.com/ptone/lumos E1.31 in Python
None
None
Inputs Elements Outputs Keyboard, MIDI, OSC, Kinect, Event File Single,
Groups, Chases, Effects DMX-USB, E1.31, servo control ...
BirdFish https://github.com/ptone/BirdFish
Trigger Events
3 Trigger Events 1 2
Map Events
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 etc Speed of chase set by mapped events Events: Map Events Trigger Events Elements: Channels: Single Group Chase
Inputs • MIDI (Musical Instrument Digital Interface) • 16 channels,
7 bit (0-127 value) • large number of physical controllers • OSC (Open Sound Control) • More modern - UDP based • Path based with very flexible values
None
None
None
Demo
A D S R • Attack • Decay • Sustain
• Release Envelopes
Tweening
Position over time Saturation Hue + Intensity
Demo
Thank You
Questions?
Bonus Material: Adaptive Frame Rates
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 1 Second
Set target time based on current frame rate Render elements
and effects into data Send Data to Output Time remaining till frame “due”: Wait Frame data “overdue” Reduce framerate
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 1 Second