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
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
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
57
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Side Projects
sachag
455
43k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Un-Boring Meetings
codingconduct
0
200
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
Test your architecture with Archunit
thirion
1
2.2k
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