Skip to content

Instantly share code, notes, and snippets.

@Hau-Yuan
Created January 15, 2018 04:12
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 Hau-Yuan/99320e36d5d2c876e6d14b3c82cf5d4e to your computer and use it in GitHub Desktop.
Save Hau-Yuan/99320e36d5d2c876e6d14b3c82cf5d4e to your computer and use it in GitHub Desktop.
WorryCapsuleTreeArduinoCode
#include <Adafruit_NeoPixel.h>
int neoPixelPin1 = 30;
int neoPixelPin2 = 32;
int neoPixelPin3 = 34;
int numPixels = 30;
//RGB_light1
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
//RGB_light2
int redPin2 = 2;
int greenPin2 = 3;
int bluePin2 = 4;
//RGB_light3
int redPin3 = 5;
int greenPin3 = 6;
int bluePin3 = 7;
//WhiteLED
int LEDPin1 = 12; //(light1+2)
int LEDPin2 = 13;//(light3+4)
int LEDPin3 = 8;//(light5+6)
//create "breath effects"
int brightness1 = 0;//BreatheState
int brightness2 = 200; //RecordingState
int brightness3 = 255;
int brightness4 = 255;
int brightnessNeo = 255;
int fadeAmount1 = 3;//BreatheState
int fadeAmount2 = 4;//RecordingState
int fadeAmount3 = 5;
int fadeAmountNeo = 3;
//Neopixels
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numPixels, neoPixelPin1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(numPixels, neoPixelPin2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel(numPixels, neoPixelPin3, NEO_GRB + NEO_KHZ800);
//boolean
boolean BreatheState = true;
boolean RecordingState = false;
boolean SubmitState = false;
boolean FinishState = false;
boolean BlowState = false;
void setup() {
Serial.begin(9600);
pinMode(LEDPin1, OUTPUT);
pinMode(LEDPin2, OUTPUT);
pinMode(LEDPin3, OUTPUT);
//neoPixel
strip.begin(); // initialize the strip
strip.show(); // make sure it is visible
strip.clear(); // Initialize all pixels to 'off'
strip2.begin(); // initialize the strip
strip2.show(); // make sure it is visible
strip2.clear(); // Initialize all pixels to 'off'
strip3.begin(); // initialize the strip
strip3.show(); // make sure it is visible
strip3.clear(); // Initialize all pixels to 'off'
}
void loop() {
int fromP5 = Serial.read();
if (fromP5 == 0) {
SubmitState = false;
RecordingState = true;
BreatheState = false;
BlowState = false;
// RecordingState = !RecordingState;
// BreatheState = !BreatheState;
delay(500);
}
if (fromP5 == 1 ) {
SubmitState = true;
RecordingState = false;
BreatheState = false;
BlowState = false;
delay(500);
}
if (fromP5 == 2) {
SubmitState = false;
BreatheState = true;
RecordingState = false;
BlowState = false;
//delay(500);
}
if (fromP5 == 3) {
BlowState = true;
SubmitState = false;
BreatheState = false;
RecordingState = false;
delay(500);
}
//stage1
if (BreatheState) {
//light1
setColor(brightness1, brightness1, brightness1);
//light2
setColor2(brightness1, brightness1, brightness1);
//light3
setColor3(brightness1, brightness1, brightness1);
analogWrite(LEDPin1, brightness1);
analogWrite(LEDPin2, brightness1);
analogWrite(LEDPin3, brightness1);
brightness1 = brightness1 + fadeAmount1;
if (brightness1 <= 0 || brightness1 >= 255) {
fadeAmount1 = -fadeAmount1;
}
brightnessNeo = brightnessNeo - fadeAmountNeo;
for ( int i = 0; i < numPixels; i++ ) {
strip.show();
strip2.show();
strip3.show();
strip.setPixelColor(i, brightnessNeo / 8, brightnessNeo / 8, brightnessNeo / 8);
strip2.setPixelColor(i, brightnessNeo / 8, brightnessNeo / 8, brightnessNeo / 8);
strip3.setPixelColor(i, brightnessNeo / 8, brightnessNeo / 8, brightnessNeo / 8);
}
if (brightnessNeo <= 0 || brightnessNeo >= 255) {
fadeAmountNeo = -fadeAmountNeo;
}
delay(30);
}
if (RecordingState) {
brightnessNeo = brightnessNeo - fadeAmountNeo;
for ( int i = 1; i < numPixels; i++ ) {
strip.show();
strip2.show();
strip3.show();
strip.setPixelColor(i, brightnessNeo / 8, 0, 0);
strip2.setPixelColor(i, brightnessNeo / 8, 0, 0);
strip3.setPixelColor(i, brightnessNeo / 8, 0, 0);
//Serial.println(i);
}
if (brightnessNeo <= 0 || brightnessNeo >= 255) {
fadeAmountNeo = -fadeAmountNeo;
}
brightness4 = brightness4 - fadeAmount2*2;
if (brightness4 <= 0 || brightness4 >= 255) {
fadeAmount2 = -fadeAmount2;
}
setColor(brightness4, 255, 255);
setColor2(brightness4, 255, 255);
setColor3(brightness4, 255, 255);
analogWrite(LEDPin1, 0);
analogWrite(LEDPin2, 0);
analogWrite(LEDPin3, 0);
delay(30);
}
if (SubmitState) {
switch (SubmitState) {
case 1:
setColor(255, 255, 255);
setColor2(255, 255, 255);
for ( int i = 1; i < numPixels; i++ ) {
strip.setPixelColor(i, 60, 10, 60);
strip2.setPixelColor(i, 60, 10, 60);
strip3.setPixelColor(i, 60, 10, 60);
Serial.println(i);
delay(200);
strip.show();
strip2.show();
strip3.show();
}
break;
}
setColor3(0, 255, 0);
analogWrite(LEDPin1, 0);
analogWrite(LEDPin2, 0);
analogWrite(LEDPin3, 0);
}
if (BlowState) {
switch (BlowState) {
case 1:
for ( int i = 0; i < numPixels; i++ ) {
strip.setPixelColor(i, 60, 40, 0);
strip2.setPixelColor(i, 60, 40, 0);
strip3.setPixelColor(i, 60, 40, 0);
delay(10);
strip.show();
strip2.show();
strip3.show();
}
break;
}
setColor(0, 0, 255);
setColor2(0, 0, 255);
setColor3(0, 0, 255);
analogWrite(LEDPin1, 0);
analogWrite(LEDPin2, 0);
analogWrite(LEDPin3, 0);
delay(30);
}
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
void setColor2(int redValue, int greenValue, int blueValue) {
analogWrite(redPin2, redValue);
analogWrite(greenPin2, greenValue);
analogWrite(bluePin2, blueValue);
}
void setColor3(int redValue, int greenValue, int blueValue) {
analogWrite(redPin3, redValue);
analogWrite(greenPin3, greenValue);
analogWrite(bluePin3, blueValue);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment