This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorials:make:adalight:index.html [2011/10/04 19:33] daigo [Introduction] |
tutorials:make:adalight:index.html [2016/01/28 18:05] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
<class noteimportant> | <class noteimportant> | ||
- | Hi everybody, this is Ladyada speaking! So far, I've been writing pretty much all the tutorials on the site but I'd like to introduce someone who is going to be doing some really really awesome LED projects and tutorials. First off is a simple but comprehensive "Ambient Light" project for your computer using digital RGB pixels to simplify wiring. \\ Take it away, [[http://www.paintyourdragon.com|Phil B]]! | + | Hi everybody, this is Ladyada speaking! So far, I've been writing pretty much all the tutorials on the site but I'd like to introduce someone who is going to be doing some really really awesome LED projects and tutorials. First off is a simple but comprehensive "Ambient Light" project for your computer using digital RGB pixels to simplify wiring. \\ Take it away, [[http://www.paintyourdragon.com|Phil Burgess]]! |
</class> | </class> | ||
Line 12: | Line 12: | ||
As a first demonstration, we’ll build a simple "[[http://en.wikipedia.org/wiki/Ambilight|Ambilight]]" clone. //[[http://en.wikipedia.org/wiki/Ambilight|Ambilight]]// is a [[http://www.seductionbylight.com/|feature of some Philips televisions that projects colored light onto the wall behind the display]], synchronized with the content on the screen to create an immersive effect. The authentic Philips system is well-integrated into the TV and works from any video source. Our facsimile, being computer-driven, works specifically with media content from your PC. This means its perfect for watching Youtube, TV or Movies on your PC or playing games! | As a first demonstration, we’ll build a simple "[[http://en.wikipedia.org/wiki/Ambilight|Ambilight]]" clone. //[[http://en.wikipedia.org/wiki/Ambilight|Ambilight]]// is a [[http://www.seductionbylight.com/|feature of some Philips televisions that projects colored light onto the wall behind the display]], synchronized with the content on the screen to create an immersive effect. The authentic Philips system is well-integrated into the TV and works from any video source. Our facsimile, being computer-driven, works specifically with media content from your PC. This means its perfect for watching Youtube, TV or Movies on your PC or playing games! | ||
- | + | <class center> | |
- | + | <html> | |
- | {{youtube>http://www.youtube.com/embed/gXynCu9nZaI}} | + | <iframe src="http://player.vimeo.com/video/30043456?title=0&byline=0&portrait=0" width="400" height="265" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe> |
- | <iframe width="420" height="315" src="http://www.youtube.com/embed/gXynCu9nZaI" frameborder="0" allowfullscreen></iframe>//This video isn't a Philips commercial! // | + | </html> \\ |
+ | //This video isn't a Philips commercial! // | ||
+ | </class> | ||
==== What you'll need... ==== | ==== What you'll need... ==== | ||
Line 24: | Line 26: | ||
That's for the 'main body' of the display - **[[http://www.adafruit.com/products/461|we have this available as a discounted project pack!]]** | That's for the 'main body' of the display - **[[http://www.adafruit.com/products/461|we have this available as a discounted project pack!]]** | ||
+ | <class notewarning> | ||
+ | Triple check that your power supply is a 5V supply! Any higher than that could damage the LEDs and Arduino! Even if you got a pack (one person accidentally received a 9V supply) **CHECK IT AGAIN BEFORE USING** | ||
+ | </class> | ||
You'll also need: | You'll also need: | ||
Line 42: | Line 46: | ||
- | The wire colors for these LEDs have changed over time, so use this photo for mechanical reference only, not necessarily for wire colors. The [[http://www.ladyada.net/products/rgbledpixel/|Adafruit RGB LED tutorial]] explains how to identify the function of each wire leading to the LED strand. And make sure you’re connecting everything to the LED strand’s **INPUT** side! From October 2011+, Red should be +5V, Black is Ground, Clock is , and Data is . | + | The wire colors for these LEDs have changed over time, so use this photo for mechanical reference only, not necessarily for wire colors. The [[http://www.ladyada.net/products/rgbledpixel/|Adafruit RGB LED tutorial]] explains how to identify the function of each wire leading to the LED strand. And make sure you’re connecting everything to the LED strand’s **INPUT** side! From October 2011+, Red should be +5V, Black is Ground, Clock is Green, and Data is Yellow. |
- | The three jumper wires then connect to **ground**, **clock** and **data** pins on the Arduino. If using a “traditional” Arduino board (Uno, etc.), use Digital pin **13** for clock and **11** for data. For the ATmega 32u4 or Teensy boards, use B1 for clock and B2 for data. The ground wire can connect to any GND pin on the Arduino. | + | The three jumper wires then connect to **ground**, **clock** and **data** pins on the Arduino. If using a “traditional” Arduino board (Uno, etc.), use Digital pin **13** for clock and **11** for data. For the ATmega 32u4 or Teensy boards, use **B1** for clock and **B2** for data. For Arduino Mega, use pin **52** for clock and **51** for data. The ground wire can connect to any GND pin on the Arduino. |
Line 74: | Line 78: | ||
[[https://github.com/adafruit/Adalight|Download the Adalight codebase by visiting the github repository]] and clicking **DOWNLOADS** in the top right corner. Now uncompress the folder. Inside you’ll find an “Arduino” folder, and inside that is an “**LEDstream**” folder. Move or copy the LEDstream folder to your Arduino **sketches** folder and open the sketch in the Arduino IDE. Select your board type and serial port, compile the sketch and upload to the board. The same sketch may come in handy for later LED projects; the board may not even need reprogramming. | [[https://github.com/adafruit/Adalight|Download the Adalight codebase by visiting the github repository]] and clicking **DOWNLOADS** in the top right corner. Now uncompress the folder. Inside you’ll find an “Arduino” folder, and inside that is an “**LEDstream**” folder. Move or copy the LEDstream folder to your Arduino **sketches** folder and open the sketch in the Arduino IDE. Select your board type and serial port, compile the sketch and upload to the board. The same sketch may come in handy for later LED projects; the board may not even need reprogramming. | ||
+ | <class note> | ||
An interesting feature of this code is that it streams (rather than buffers) the LED data. This will later allow it to scale up to many more LEDs, despite the constrained memory of the Arduino. It’s serial bandwidth that becomes the limiting factor. Typical boards like the Uno or the Duemilanove used here should be able to stream up to 50 or mmmaybe 100 pixels at decent, video-like frame rates.Bigger projects will require the ATmega32u4 Breakout Board or Teensy, with their fast native USB interfaces. On those boards, the code should be able to stream upwards of 1,200 LEDs at 30 frames per second. If using either of those devices, download and install the “Teensyduino” add-on for the Arduino IDE, and possibly [[http://ladyada.net/products/atmega32u4breakout/|follow the extra 32u4 directions on the Adafruit product page]]. | An interesting feature of this code is that it streams (rather than buffers) the LED data. This will later allow it to scale up to many more LEDs, despite the constrained memory of the Arduino. It’s serial bandwidth that becomes the limiting factor. Typical boards like the Uno or the Duemilanove used here should be able to stream up to 50 or mmmaybe 100 pixels at decent, video-like frame rates.Bigger projects will require the ATmega32u4 Breakout Board or Teensy, with their fast native USB interfaces. On those boards, the code should be able to stream upwards of 1,200 LEDs at 30 frames per second. If using either of those devices, download and install the “Teensyduino” add-on for the Arduino IDE, and possibly [[http://ladyada.net/products/atmega32u4breakout/|follow the extra 32u4 directions on the Adafruit product page]]. | ||
+ | </class> | ||
==== Computer Software ==== | ==== Computer Software ==== | ||
Line 84: | Line 89: | ||
{{ http://www.ladyada.net/images/adalight/COMselect.gif?nolink&533x605 |}} | {{ http://www.ladyada.net/images/adalight/COMselect.gif?nolink&533x605 |}} | ||
+ | <class notewarning> | ||
LINUX USERS: the Processing serial library fails to acknowledge the 32u4 and Teensy boards. This is a known bug that will be fixed in the Processing 2.0 release. In the interim, the work-around is to create a link from the actual 32u4 serial device (typically /dev/ttyACM*) to an unused /dev/ttyS* number, e.g.: ** sudo ln -s /dev/ttyACM0 /dev/ttyS42** | LINUX USERS: the Processing serial library fails to acknowledge the 32u4 and Teensy boards. This is a known bug that will be fixed in the Processing 2.0 release. In the interim, the work-around is to create a link from the actual 32u4 serial device (typically /dev/ttyACM*) to an unused /dev/ttyS* number, e.g.: ** sudo ln -s /dev/ttyACM0 /dev/ttyS42** | ||
+ | </class> | ||
Line 92: | Line 98: | ||
{{ http://www.ladyada.net/images/adalight/5-sampling.jpg?nolink&600x400 |}} | {{ http://www.ladyada.net/images/adalight/5-sampling.jpg?nolink&600x400 |}} | ||
- | + | <class center> | |
- | + | {{vimeo>30043456}} | |
- | <iframe width="420" height="315" src="http://www.youtube.com/embed/gXynCu9nZaI" frameborder="0" allowfullscreen></iframe> | + | </class> |
- | + | ||
==== Doing more! ==== | ==== Doing more! ==== | ||