Skip to content

Instantly share code, notes, and snippets.

Created January 12, 2015 16:55
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 anonymous/249b613b38299b2b80e9 to your computer and use it in GitHub Desktop.
Save anonymous/249b613b38299b2b80e9 to your computer and use it in GitHub Desktop.
#include <RFduinoBLE.h> //RFduino support
#include <Adafruit_NeoPixel.h>
#define PIN0 6
#define PIN1 4
Adafruit_NeoPixel strip0 = Adafruit_NeoPixel(11, PIN0, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(4, PIN1, NEO_GRB + NEO_KHZ800);
void setup() {
strip0.begin();
strip0.show(); // Initialize all pixels to 'off'
strip1.begin();
strip1.show(); // Initialize all pixels to 'off'
Serial.begin(9600);
RFduinoBLE.advertisementData = "rgb";
RFduinoBLE.begin();
//Serial.println("setup");
}
int mode = 4;
//int m = 0;
int steps = 0;
void RFduinoBLE_onReceive(char *data, int len) {
uint8_t myByte = data[0]; // store first char in array to myByte
Serial.println(data); // print myByte via serial
if (myByte == '1') {
//colorWipe0(strip0.Color(255, 0, 0), 10); // Red
//colorWipe1(strip1.Color(0, 255, 0), 10); // Green
}
if (myByte == '0') {
//colorWipe1(strip1.Color(255, 0, 0), 10); // Red
//colorWipe0(strip0.Color(0, 255, 0), 10); // Green
}
if (myByte == '2') {
mode = 1;
}
if (myByte == '4') {
mode = 4;
}
//RFduino_systemReset(SECONDS(1));
}
void loop() {
//m += 25; if (m > 255) m = 0;
if (mode == 4)
{
for ( int i = 0 ; i < 12; i++)
{
strip0.setPixelColor(i, 0, 0, 0);
strip1.setPixelColor(i, 0, 0, 0);
}
if (steps == 0) {
//for (int i = 0 ; i < 12 ; i++) strip0.setPixelColor(i, 0, 0, 0);
//for (int i = 0 ; i < 4 ; i++) strip1.setPixelColor(i, 0, 0, 0);
strip0.setPixelColor(5, 0, 120, 255);
}
if (steps == 1) {
strip0.setPixelColor(4, 0, 120, 255);
strip0.setPixelColor(6, 0, 120, 255);
strip0.setPixelColor(5, 0, 60, 125);
}
if (steps == 2) {
strip0.setPixelColor(4, 0, 60, 125);
strip0.setPixelColor(6, 0, 60, 125);
strip0.setPixelColor(2, 0, 120, 255);
strip0.setPixelColor(8, 0, 120, 255);
strip0.setPixelColor(5, 0, 30, 65);
strip1.setPixelColor(0, 0, 30, 65);
strip1.setPixelColor(1, 0, 30, 65);
strip1.setPixelColor(2, 0, 30, 65);
strip1.setPixelColor(3, 0, 30, 65);
}
if (steps == 3) {
strip0.setPixelColor(4, 0, 30, 65);
strip0.setPixelColor(6, 0, 30, 65);
strip0.setPixelColor(2, 0, 60, 125);
strip0.setPixelColor(8, 0, 60, 125);
strip0.setPixelColor(0, 0, 60, 125);
strip0.setPixelColor(10, 0, 60, 125);
strip0.setPixelColor(5, 0, 0, 0);
strip1.setPixelColor(0, 0, 60, 125);
strip1.setPixelColor(1, 0, 60, 125);
strip1.setPixelColor(2, 0, 60, 125);
strip1.setPixelColor(3, 0, 60, 125);
}
if (steps == 4) {
strip0.setPixelColor(4, 0, 0, 0);
strip0.setPixelColor(6, 0, 0, 0);
strip0.setPixelColor(2, 0, 30, 65);
strip0.setPixelColor(8, 0, 30, 65);
strip0.setPixelColor(0, 0, 120, 225);
strip0.setPixelColor(10, 0, 120, 225);
strip1.setPixelColor(0, 0, 30, 65);
strip1.setPixelColor(1, 0, 30, 65);
strip1.setPixelColor(2, 0, 30, 65);
strip1.setPixelColor(3, 0, 30, 65);
}
if (steps == 5) {
strip0.setPixelColor(4, 0, 0, 0);
strip0.setPixelColor(6, 0, 0, 0);
strip0.setPixelColor(2, 0, 0, 0);
strip0.setPixelColor(8, 0, 0, 0);
strip0.setPixelColor(0, 0, 50, 125);
strip0.setPixelColor(10, 0, 50, 125);
strip1.setPixelColor(0, 0, 0, 0);
strip1.setPixelColor(1, 0, 0, 0);
strip1.setPixelColor(2, 0, 0, 0);
strip1.setPixelColor(3, 0, 0, 0);
}
if (steps == 6) {
strip0.setPixelColor(4, 0, 0, 0);
strip0.setPixelColor(6, 0, 0, 0);
strip0.setPixelColor(2, 0, 0, 0);
strip0.setPixelColor(8, 0, 0, 0);
strip0.setPixelColor(0, 0, 0, 0);
strip0.setPixelColor(10, 0, 0, 0);
strip1.setPixelColor(0, 0, 0, 0);
strip1.setPixelColor(1, 0, 0, 0);
strip1.setPixelColor(2, 0, 0, 0);
strip1.setPixelColor(3, 0, 0, 0);
}
// (RFduinoBLE.radioActive);
strip0.show();
strip1.show();
delay(800);
steps++;
if (steps > 6) steps = 0;
}
//steps++;
//if (steps > 6) steps = 0;
if (mode == 0) {
//for ( int i = 0 ; i < 12; i++)
{
//strip0.setPixelColor(i, 0, 0, 255);
}
//strip0.show();
}
if (mode == 1) {
for ( int i = 0 ; i < 12; i++)
{
strip0.setPixelColor(i, 0, 0, 0);
strip1.setPixelColor(i, 0, 0, 0);
}
strip0.setPixelColor(int(random(12)), 0, 170, 120);
strip0.setPixelColor(int(random(12)), 0, 120, 150);
strip1.setPixelColor(int(random(4)), 0, 150, 100);
//(RFduinoBLE.radioActive);
strip0.show();
strip1.show();
delay(0.5);
/*
for ( int i = 0 ; i < 12; i++)
{
strip0.setPixelColor(i, 0, 0, 0);
}
strip0.show();
delay(1 00);
*/
}
//Serial.println("ok");
Serial.println(millis());
//delay(1000);
RFduino_ULPDelay(SECONDS(1));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment