Skip to content

Instantly share code, notes, and snippets.

@buildcircuit
Created September 3, 2015 04:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save buildcircuit/f5703758a871a1d6ce9b to your computer and use it in GitHub Desktop.
Save buildcircuit/f5703758a871a1d6ce9b to your computer and use it in GitHub Desktop.
RGB LED
/* FILE: ARD_RGB_LED_MODULE_HCARDU0021_Example.pde
DATE: 04/07/12
VERSION: 0.1
This is a simple example of how to use the HobbyComponents RGB LED module
(HCARDU0021). The module has 3 separate LED's (Red, Green & Blue) which
Can be individually driven by applying a voltage to the appropriate module pin.
This example uses the standard Arduino analogWrite (PWM) function to cycle
through the full range of colours this module is capable of producing.
Please be aware that this module does NOT include current limiting
resistors and therefore you should not connect this module directly to the
Arduino DIO pins.
SENSOR PINOUT:
PIN 1: GREEN LED +Ve
PIN 2: RED LED +Ve
PIN 3: BLUE LED +Ve
PIN 4: GND
You may copy, alter and reuse this code in any way you like but please leave
reference to HobbyComponents.com in your comments if you redistribute this code. */
#define BLUE_LED_DIO 11 /* Select the DIO for driving the BLUE LED */
#define RED_LED_DIO 9 /* Select the DIO for driving the RED LED */
#define GREEN_LED_DIO 10 /* Select the DIO for driving the GREEN LED */
/* Initialise serial and DIO */
void setup()
{
/* Configure the DIO pins used by the analogWrite PWM function */
pinMode(BLUE_LED_DIO, OUTPUT);
pinMode(RED_LED_DIO, OUTPUT);
pinMode(GREEN_LED_DIO, OUTPUT);
}
/* Main program loop */
void loop()
{
int k;
/* Slowly reduce the red LED's intensity and at the same time
increase the green LED's intensity */
for (k = 0; k <=255; k++)
{
analogWrite(RED_LED_DIO,255 - k);
analogWrite(GREEN_LED_DIO, k);
delay(10);
}
/* Slowly reduce the green LED's intensity and at the same time
increase the blue LED's intensity */
for (k = 0; k <=255; k++)
{
analogWrite(GREEN_LED_DIO,255 - k);
analogWrite(BLUE_LED_DIO, k);
delay(10);
}
/* Slowly reduce the blue LED's intensity and at the same time
increase the red LED's intensity */
for (k = 0; k <=255; k++)
{
analogWrite(BLUE_LED_DIO,255 - k);
analogWrite(RED_LED_DIO, k);
delay(10);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment