This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
digispark:tutorials:rgb [2012/12/20 01:09] digistump [Programming:] |
digispark:tutorials:rgb [2015/06/03 00:23] oscomputing [Programming:] |
||
|---|---|---|---|
| Line 13: | Line 13: | ||
| ^ Part ^ Quantity ^Identification^ | ^ Part ^ Quantity ^Identification^ | ||
| | RGB Shield PCB|1| | | | RGB Shield PCB|1| | | ||
| - | | 100 (100R) Ohm 1/4W resistor 1% or 5%|2| Brown - Black - Brown| | + | | 100 ohm 1/4 W resistor 1% or 5%|2| Brown - Black - Brown| |
| - | | 180 (180R) Ohm 1/4W resistor 1% or 5%|1| Brown - Grey - Brown| | + | | 180 ohm 1/4 W resistor 1% or 5%|1| Brown - Grey - Brown| |
| | RGB Common Cathode LED|1| | | RGB Common Cathode LED|1| | ||
| - | | 1x40pin male 0.1" pitch header| 9 pins worth| | | + | | 1x40 pin male 0.1" pitch header| 9 pins worth| | |
| - | **Resistor Values:** For more information on how to identify the value of the resistors we recommend these sites: | + | **Resistor Values:** For more information on how to identify the value of the resistors, we recommend these sites: |
| A nice simple resistor calculator: http://www.ealnet.com/m-eal/resistor/resistor.htm | A nice simple resistor calculator: http://www.ealnet.com/m-eal/resistor/resistor.htm | ||
| A comprehensive article on identification: http://www.diyaudioandvideo.com/Electronics/Color/ | A comprehensive article on identification: http://www.diyaudioandvideo.com/Electronics/Color/ | ||
| Line 25: | Line 25: | ||
| Soldering Basics (http://www.sparkfun.com/tutorials/106) and Soldering Crash Course from the folks at Sparkfun (http://www.sparkfun.com/tutorials/354). | Soldering Basics (http://www.sparkfun.com/tutorials/106) and Soldering Crash Course from the folks at Sparkfun (http://www.sparkfun.com/tutorials/354). | ||
| How to solder from the Curious Inventor: http://store.curiousinventor.com/guides/How_to_Solder | How to solder from the Curious Inventor: http://store.curiousinventor.com/guides/How_to_Solder | ||
| + | |||
| + | Adafruit has this excellent guide that starts with the tools needed and then shows detailed pictures, including some of the common problems that beginners experience (http://learn.adafruit.com/adafruit-guide-excellent-soldering) | ||
| **We assume for these assembly instructions that you know the basics of thru-hole soldering. If you don't check out the links above, these boards are very easy to solder - we promise!** | **We assume for these assembly instructions that you know the basics of thru-hole soldering. If you don't check out the links above, these boards are very easy to solder - we promise!** | ||
| Line 32: | Line 34: | ||
| - | Empty kit bag (or if using a raw PCB, aquire parts) and verify contents. | + | Empty kit bag (or if using a raw PCB, acquire parts) and verify contents. |
| **Note for Kickstarter Backers and Pre-orders:** Headers are not included in each kit bag, but the entire order came with more than enough headers for all kits. | **Note for Kickstarter Backers and Pre-orders:** Headers are not included in each kit bag, but the entire order came with more than enough headers for all kits. | ||
| Line 41: | Line 43: | ||
| [[https://s3.amazonaws.com/digispark/images/m/rgb5.jpg|{{https://s3.amazonaws.com/digispark/images/t/rgb5.jpg}}]] | [[https://s3.amazonaws.com/digispark/images/m/rgb5.jpg|{{https://s3.amazonaws.com/digispark/images/t/rgb5.jpg}}]] | ||
| - | When inserting the LED into the board ensure the longest lead of the LED goes through the hole marked ground - this ensure you ahve the LED oriented properly. Solder the LED leads and clip off the excess. | + | When inserting the LED into the board ensure the longest lead of the LED goes through the hole marked ground - this will ensure you have the LED oriented properly. Solder the LED leads and clip off the excess. |
| [[https://s3.amazonaws.com/digispark/images/m/rgb4.jpg|{{https://s3.amazonaws.com/digispark/images/t/rgb4.jpg}}]] | [[https://s3.amazonaws.com/digispark/images/m/rgb4.jpg|{{https://s3.amazonaws.com/digispark/images/t/rgb4.jpg}}]] | ||
| - | Cut a length of male headers 6 pins long and one 3 pins long. Insert into corresponding positions (on the bottom of the board) and solder each pin. | + | Cut two lengths of male headers, one 6 pins long and another 3 pins long. Insert into corresponding positions (on the bottom of the board) and solder each pin. |
| - | **Tip:** Inseting the headers into a breadboard and then placing the board on top can make this process easier. | + | **Tip:** Inserting the headers into a breadboard and then placing the board on top can make this process easier. |
| **Note:** If you are using stackable headers, use them here instead of the standard male headers. | **Note:** If you are using stackable headers, use them here instead of the standard male headers. | ||
| Line 61: | Line 63: | ||
| =====Programming:===== | =====Programming:===== | ||
| - | **Note:** The programming sections assumes you've installed the Arduino IDE and the Digispark Add-ons: [[digispark:tutorials:connecting|Connecting and Programming Your Digispark]] | + | **Note:** The programming sections assumes you've installed the Arduino IDE and the Digispark Add-ons: [[digispark:tutorials:connecting|Connecting and Programming Your Digispark]]. |
| - | The RGB shield uses the following pins to control the LEDS: | + | The RGB shield uses the following pins to control the LEDs: |
| - | Pin 0 -> Red | + | Pin 0 -> Red LED |
| - | Pin 1 -> Green | + | Pin 1 -> Green LED |
| - | Pin 2 -> Blue | + | Pin 2 -> Blue LED |
| Turning a color on or off is as simple as this: | Turning a color on or off is as simple as this: | ||
| <code arduino> | <code arduino> | ||
| - | void setup() { | + | void setup() { |
| - | // initialize the LED pins as outputs | + | // Initialize the LED pins as outputs |
| - | pinMode(0, OUTPUT); | + | pinMode(0, OUTPUT); |
| - | pinMode(1, OUTPUT); | + | pinMode(1, OUTPUT); |
| - | pinMode(2, OUTPUT); | + | pinMode(2, OUTPUT); |
| } | } | ||
| void loop() { | void loop() { | ||
| - | digitalWrite(0, HIGH); // turn the Red LED On | + | digitalWrite(0, HIGH); // Turn the red LED On |
| - | delay(1000); // wait for a second | + | delay(1000); // Wait for a second |
| - | digitalWrite(1, HIGH); // turn the Green LED On | + | digitalWrite(1, HIGH); // Turn the green LED On |
| - | delay(1000); // wait for a second | + | delay(1000); // Wait for a second |
| - | digitalWrite(2, HIGH); // turn the Blue LED On | + | digitalWrite(2, HIGH); // Turn the blue LED On |
| - | delay(1000); // wait for a second | + | delay(1000); // Wait for a second |
| - | digitalWrite(0, LOW); // turn the Red LED off | + | digitalWrite(0, LOW); // Turn the red LED off |
| - | digitalWrite(1, LOW); // turn the Green LED off | + | digitalWrite(1, LOW); // Turn the green LED off |
| - | digitalWrite(2, LOW); // turn the Blue LED off | + | digitalWrite(2, LOW); // Turn the blue LED off |
| - | delay(1000); // wait for a second | + | delay(1000); // Wait for one second |
| } | } | ||
| </code> | </code> | ||
| - | Take a look at the DigiRGB example for more advanced usage. When using that example you must set your board type as Digispark (Tiny Core) for it to work. | + | **PWM Note:** While the red and green LEDs are connected to pins that support PWM, the blue LED is not - this is because the third PWM pin is used by the USB communications and we figure most will want to use the RGB shield with USB communication. See Examples->DigisparkRGB->DigisparkRGB or Examples->DigisparkUSB->DigiBlink for examples of using software PWM for pin 2 (blue LED). |
| + | |||
| + | If you are not planning to use USB communication: If you want to connect the blue LED to P4 instead of P2 - flip the shield over and you'll see two solder jumpers, one has a little trace connecting its two pads, the other doesn't - cut the one with the trace and bridge the other with solder. This will disconnect the blue LED from P2 and connect it to P4. | ||
| + | |||
| + | In the Arduino IDE, take a look at the Examples -> DigisparkRGB -> DigisparkRGB example for more advanced usage. When using that example you must set your board type as Digispark (Tiny Core) for it to work. | ||