-
-
Save heatxsink/dae96d4658745cd966ec to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "TinyWireM.h" | |
#include <Arduino.h> | |
void setup() { | |
pinMode(3, OUTPUT); | |
TinyWireM.begin(); | |
delay(100); | |
blinkm_stop_script(0x01); | |
blinkm_stop_script(0x02); | |
blinkm_stop_script(0x03); | |
blinkm_stop_script(0x04); | |
} | |
void loop() { | |
/* | |
delay(50); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(500); | |
*/ | |
run_pattern(1000, 1, 0, 0); | |
run_pattern(1000, 0, 1, 0); | |
run_pattern(1000, 0, 0, 1); | |
//red_light_pattern(500); | |
//blink_led(3); | |
} | |
static void blink_led(int pin) { | |
digitalWrite(pin, HIGH); | |
delay(1000); | |
digitalWrite(pin, LOW); | |
delay(1000); | |
} | |
byte addresses[] = { 0x01, 0x02, 0x03, 0x04 }; | |
static void run_pattern(int interval, int red, int green, int blue) { | |
int second_interval = interval * 2; | |
for (int i = 0; i < sizeof(addresses); i++) { | |
byte address = addresses[i]; | |
if(red == 1) { | |
blinkm_change_color(address, 0xFF, 0x00, 0x00); | |
} else if (green == 1) { | |
blinkm_change_color(address, 0x00, 0xFF, 0x00); | |
} else if (blue == 1) { | |
blinkm_change_color(address, 0x00, 0x00, 0xFF); | |
} | |
delay(interval); | |
} | |
delay(interval); | |
} | |
static void red_light_pattern(int interval) { | |
int second_interval = interval * 2; | |
blinkm_change_color(0x01, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0xFF, 0x00, 0x00); | |
delay(interval); | |
delay(second_interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0xFF, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x02, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
blinkm_change_color(0x01, 0xFF, 0x00, 0x00); | |
blinkm_change_color(0x02, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x03, 0x00, 0x00, 0x00); | |
blinkm_change_color(0x04, 0x00, 0x00, 0x00); | |
delay(interval); | |
delay(second_interval); | |
} | |
static void blinkm_stop_script(byte address) { | |
TinyWireM.beginTransmission(address); | |
TinyWireM.send(0x6F); | |
TinyWireM.endTransmission(); | |
} | |
static void blinkm_change_color(byte address, byte red, byte green, byte blue) { | |
TinyWireM.beginTransmission(address); | |
TinyWireM.send(0x6E); | |
TinyWireM.send(red); | |
TinyWireM.send(green); | |
TinyWireM.send(blue); | |
TinyWireM.endTransmission(); | |
delay(50); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment