All the code be downloaded from here.
// 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 // 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 // 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); } }