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
PyCon 2014
April 11, 2014
1
400
Blending Art, Technology, and Light by Preston Holmes
PyCon 2014
April 11, 2014
Tweet
Share
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
770
Deliver Your Software in an Envelope by Augie Fackler and Nathaniel Manista
pycon2014
1
600
Hitchhikers Guide to Free and Open Source Participation by Elena Williams
pycon2014
6
1.2k
Localization Revisted (aka. Translations Evolved) by Ruchi Varshney
pycon2014
0
720
Smart Dumpster by Bradley E. Angell
pycon2014
0
560
Software Engineering for Hackers: Bridging the Two Solitudes by Tavish Armstrong
pycon2014
0
770
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Curse of the Amulet
leimatthew05
1
8.7k
How STYLIGHT went responsive
nonsquared
100
6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
KATA
mclloyd
PRO
34
15k
Fireside Chat
paigeccino
41
3.8k
How to train your dragon (web standard)
notwaldorf
97
6.5k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
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