Created
September 26, 2017 12:03
-
-
Save splitline/1c92cfc37c55bc0451df64ae2f0acd39 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
#define greenPin 9 | |
#define bluePin 10 | |
#define redPin 11 | |
#define magPIN A1 | |
#define VAL 4 | |
int r = 0; | |
int g = 0; | |
int b = 0; | |
void setColor(int red, int green, int blue) { | |
red = 255 - red; | |
green = 255 - green; | |
blue = 255 - blue; | |
analogWrite(redPin, red); | |
analogWrite(greenPin, green); | |
analogWrite(bluePin, blue); | |
} | |
void brighten(char light) { | |
switch (light) | |
{ | |
case 'r': | |
if (r + VAL <= 255) r += VAL; | |
else r = 255; | |
break; | |
case 'g': | |
if (g + VAL <= 255) g += VAL; | |
else g = 255; | |
break; | |
case 'b': | |
if (b + VAL <= 255) b += VAL; | |
else b = 255; | |
break; | |
default: | |
break; | |
} | |
} | |
void darken(char light) { | |
switch (light) | |
{ | |
case 'r': | |
if (r - VAL >= 0) r -= VAL; | |
else r = 0; | |
break; | |
case 'g': | |
if (g - VAL >= 0) g -= VAL; | |
else g = 0; | |
break; | |
case 'b': | |
if (b - VAL >= 0) b -= VAL; | |
else b = 0; | |
break; | |
default: | |
break; | |
} | |
} | |
void setup() { | |
// pinMode(LED, OUTPUT); | |
Serial.begin(9600); | |
Serial.println("--------------------------------------------"); | |
Serial.println("[Team 1] owo)/"); | |
Serial.println("1. B10530027"); | |
Serial.println("2. B10301052"); | |
Serial.println("3. A10502002"); | |
Serial.println("4. A10506001"); | |
Serial.println("--------------------------------------------"); | |
} | |
void loop() { | |
int val = analogRead(magPIN); | |
if (val < 200) setColor(0, 0, 0); | |
// else setColor(128, 128, 128); | |
int event; | |
if (Serial.available() > 0) { | |
event = Serial.read(); | |
switch (event) | |
{ | |
case 'R': r = 255; g = 0; b = 0; break; | |
case 'G': r = 0; g = 255; b = 0; break; | |
case 'B': r = 0; g = 0; b = 255; break; | |
case '+': | |
brighten('r'); | |
brighten('g'); | |
brighten('b'); | |
break; | |
case '-': | |
darken('r'); | |
darken('g'); | |
darken('b'); | |
break; | |
case 'Q': | |
brighten('r'); | |
break; | |
case 'A': | |
darken('r'); | |
break; | |
case 'W': | |
brighten('g'); | |
break; | |
case 'S': | |
darken('g'); | |
break; | |
case 'E': | |
brighten('b'); | |
break; | |
case 'D': | |
darken('b'); | |
break; | |
case '?': Serial.print("RGB="); Serial.print(r); Serial.print(","); Serial.print(g); Serial.print(","); Serial.print(b); break; | |
case 'h': | |
Serial.println("--------------------------------------------"); | |
Serial.println("[Help Page]"); | |
Serial.println("+/- : Brighten/Darken all."); | |
Serial.println("Q/A : Brighten/Darken RED."); | |
Serial.println("W/S : Brighten/Darken GREEN."); | |
Serial.println("E/D : Brighten/Darken BLUE."); | |
Serial.println("R/G/B: Switch light to R/G/B."); | |
Serial.println("? : Show R,G,B"); | |
Serial.println("--------------------------------------------"); | |
default: | |
break; | |
} | |
setColor(r, g, b); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment