Save 37% off PRO during our Black Friday Sale! »

Blending Art, Technology, and Light by Preston Holmes

D21717ea76044d31115c573d368e6ff4?s=47 PyCon 2014
April 11, 2014
320

Blending Art, Technology, and Light by Preston Holmes

D21717ea76044d31115c573d368e6ff4?s=128

PyCon 2014

April 11, 2014
Tweet

Transcript

  1. Blending Art, Technology, and Light Python for interactive and real

    time LED installations Preston Holmes! @ptone
  2. Why are LEDs interesting?

  3. None
  4. None
  5. None
  6. LED LED Controller Hardware Interfaces and Protocols Software and Libraries

    Creative Effects
  7. ! Light Emitting Diode

  8. LED

  9. None
  10. • Three LEDs • put into a 5050 surface mount

    package Common RGB LED
  11. 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
  12. Smarter

  13. Moar Smarter WS2811/2812

  14. None
  15. 5 176 50 60 0 230 20 8 100 5V

    serial protocol Array of Bytes
  16. http://fastled.io But….

  17. SanDevices E682 Joshua1Systems ECG-PIXAD8

  18. None
  19. DMX

  20. E1.31 DMX over Ethernet

  21. And what about the software

  22. Ethernet USB Smart LED Serial DMX512 (RS485) “Software” E1.31

  23. Interface Library Program! 0010101 Ethernet USB Smart LED Serial DMX512

    (RS485) “Software” E1.31
  24. http://www.openlighting.org/ola/

  25. https://github.com/ptone/lumos E1.31 in Python

  26. None
  27. None
  28. Inputs Elements Outputs Keyboard, MIDI, OSC, Kinect, Event File Single,

    Groups, Chases, Effects DMX-USB, E1.31, servo control ...
  29. BirdFish https://github.com/ptone/BirdFish

  30. Trigger Events

  31. 3 Trigger Events 1 2

  32. Map Events

  33. 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
  34. 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
  35. None
  36. None
  37. None
  38. Demo

  39. A D S R • Attack • Decay • Sustain

    • Release Envelopes
  40. Tweening

  41. Position over time Saturation Hue + Intensity

  42. Demo

  43. Thank You

  44. Questions?

  45. Bonus Material: Adaptive Frame Rates

  46. 1 2 3 4 5 6 7 8 9 10

    11 12 13 14 15 16 17 18 19 20 1 Second
  47. 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
  48. 1 2 3 4 5 6 7 8 9 10

    11 12 13 14 15 16 1 Second