LED_5 Module

Arduino Code

All the code be downloaded from here.

LED_5_random

// LED_5_random
// requires LED_5 Module

// Output Pins
#define PIN_LED0           8    // LED0, connected to digital pin  8
#define PIN_LED1           9    // LED1, connected to digital pin  9
#define PIN_LED2          10    // LED2, connected to digital pin 10
#define PIN_LED3          11    // LED3, connected to digital pin 11
#define PIN_LED4          12    // LED4, connected to digital pin 12

#define WAIT            1000    // 1000ms (1s) delay

void led_5(byte v)
{
  digitalWrite(PIN_LED0,  v       & 0x01); // write current values to LED pins
  digitalWrite(PIN_LED1, (v >> 1) & 0x01);
  digitalWrite(PIN_LED2, (v >> 2) & 0x01);
  digitalWrite(PIN_LED3, (v >> 3) & 0x01);
  digitalWrite(PIN_LED4, (v >> 4) & 0x01);
}

void setup()
{
  pinMode(PIN_LED0, OUTPUT);    // sets the RGB pins as output
  pinMode(PIN_LED1, OUTPUT);
  pinMode(PIN_LED2, OUTPUT);
  pinMode(PIN_LED3, OUTPUT);
  pinMode(PIN_LED4, OUTPUT);
  randomSeed(analogRead(0));
}

// Main program
void loop()
{
  led_5(random(32));
  delay(WAIT);
}

LED_5_count

// LED_5_count
// requires LED_5 Module

// Output Pins
#define PIN_LED0           8    // LED0, connected to digital pin  8
#define PIN_LED1           9    // LED1, connected to digital pin  9
#define PIN_LED2          10    // LED2, connected to digital pin 10
#define PIN_LED3          11    // LED3, connected to digital pin 11
#define PIN_LED4          12    // LED4, connected to digital pin 12

#define WAIT            1000    // 1000ms (1s) delay

void led_5(byte v)
{
  digitalWrite(PIN_LED0,  v       & 0x01); // write current values to LED pins
  digitalWrite(PIN_LED1, (v >> 1) & 0x01);
  digitalWrite(PIN_LED2, (v >> 2) & 0x01);
  digitalWrite(PIN_LED3, (v >> 3) & 0x01);
  digitalWrite(PIN_LED4, (v >> 4) & 0x01);
}

void setup()
{
  pinMode(PIN_LED0, OUTPUT);    // sets the RGB pins as output
  pinMode(PIN_LED1, OUTPUT);
  pinMode(PIN_LED2, OUTPUT);
  pinMode(PIN_LED3, OUTPUT);
  pinMode(PIN_LED4, OUTPUT);
}

// Main program
void loop()
{
  // count in binary
  for (byte i = 0; i < 32; i++) {
    led_5(i);
    delay(WAIT);
  }
}

LED_5_anim

// LED_5_anim
// requires LED_5 Module

// Output Pins
#define PIN_LED0           8    // LED0, connected to digital pin  8
#define PIN_LED1           9    // LED1, connected to digital pin  9
#define PIN_LED2          10    // LED2, connected to digital pin 10
#define PIN_LED3          11    // LED3, connected to digital pin 11
#define PIN_LED4          12    // LED4, connected to digital pin 12

#define WAIT            1000    // 1000ms (1s) delay

byte pattern[] = {
  // 2, B11111, B00000
  // 5, B00001, B00010, B00100, B01000, B10000
  // 5, B00011, B00110, B01100, B11000, B10001
  8, B00001, B00010, B00100, B01000, B10000, B01000, B00100, B00010
  //10, B00000, B00001, B00011, B00111, B01111, B11111, B01111, B00111, B00011, B00001 
  //10, B00000, B00001, B00011, B00111, B01111, B11111, B11110, B11100, B11000, B10000 
};

void led_5(byte v)
{
  digitalWrite(PIN_LED0,  v       & 0x01); // write current values to LED pins
  digitalWrite(PIN_LED1, (v >> 1) & 0x01);
  digitalWrite(PIN_LED2, (v >> 2) & 0x01);
  digitalWrite(PIN_LED3, (v >> 3) & 0x01);
  digitalWrite(PIN_LED4, (v >> 4) & 0x01);
}

void setup()
{
  pinMode(PIN_LED0, OUTPUT);    // sets the RGB pins as output
  pinMode(PIN_LED1, OUTPUT);
  pinMode(PIN_LED2, OUTPUT);
  pinMode(PIN_LED3, OUTPUT);
  pinMode(PIN_LED4, OUTPUT);
}

// Main program
void loop()
{
  for (byte i = 1; i <= pattern[0]; i++) {
    led_5(pattern[i]);
    delay(WAIT);
  }
}