summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordaniel-Jones <daniel@danieljon.es>2017-12-08 17:38:21 +1030
committerdaniel-Jones <daniel@danieljon.es>2017-12-08 17:38:21 +1030
commitc39e7e667d51e368727807a9a2a6e482c6c63e52 (patch)
tree89cc92b74b4bc464a71eac06d862bef080b8f66a
parent5e02ba3073dfcac05d6fc2d0e26418b723f8d0fb (diff)
downloadRGB-Controller-c39e7e667d51e368727807a9a2a6e482c6c63e52.tar.gz
RGB-Controller-c39e7e667d51e368727807a9a2a6e482c6c63e52.zip
added color up and down commands for incrementing/decrementing the colors individually remotely (over tcp for example)
-rw-r--r--arduino/rgb/rgb.ino55
1 files changed, 42 insertions, 13 deletions
diff --git a/arduino/rgb/rgb.ino b/arduino/rgb/rgb.ino
index bfadefa..5e2c289 100644
--- a/arduino/rgb/rgb.ino
+++ b/arduino/rgb/rgb.ino
@@ -1,9 +1,9 @@
#include <SPI.h>
#include <Thread.h>
-const int redPin = 2;
-const int greenPin = 4;
-const int bluePin = 3;
+const int redPin = 4;
+const int greenPin = 3;
+const int bluePin = 2;
int red = 0;
int rf = 0;
@@ -25,8 +25,6 @@ struct stat
bool b_fade;
} status;
-void tests();
-
void red_thread();
bool r_rev = false;
@@ -64,19 +62,19 @@ void setup()
void red_thread()
{
- if (red < rf) {red = rf;}
- if (red > rt) {red = rf;}
- if (red == rt) {r_rev = true;}
- if (red == rf) {r_rev = false;}
+ if (red < rf) red = rf;
+ if (red > rt) red = rf;
+ if (red == rt) r_rev = true;
+ if (red == rf) r_rev = false;
((!r_rev) ? (red++, analogWrite(redPin, red)) : (red--, analogWrite(redPin, red)));
}
void green_thread()
{
- if (red < rf) {green = gf;}
- if (green > gt) {green = gf;}
- if (green == gt) {g_rev = true;}
- if (green == gf) {g_rev = false;}
+ if (red < rf) green = gf;
+ if (green > gt) green = gf;
+ if (green == gt) g_rev = true;
+ if (green == gf) g_rev = false;
((!g_rev) ? (green++, analogWrite(greenPin, green)) : (green--, analogWrite(greenPin, green)));
}
@@ -132,6 +130,37 @@ void parse(String com)
if (p1.equalsIgnoreCase("bf")) bf = p2.toInt();
if (p1.equalsIgnoreCase("bt")) bt = p2.toInt();
if (p1.equalsIgnoreCase("ping")) Serial.write("ping=pong\n");
+
+ /* color increment/decrement */
+ if (p1.equalsIgnoreCase("ru") && red <= 255)
+ {
+ red++;analogWrite(redPin, red);
+ }
+ if (p1.equalsIgnoreCase("gu") && green <= 255)
+ {
+ green++;analogWrite(greenPin, green);
+ }
+ if (p1.equalsIgnoreCase("bu") && blue <= 255)
+ {
+ blue++;analogWrite(bluePin, blue);
+ }
+
+ if (p1.equalsIgnoreCase("rd") && red > 0)
+ {
+ red--;analogWrite(redPin, red);
+ }
+ if (p1.equalsIgnoreCase("gd") && green > 0)
+ {
+ green--;analogWrite(greenPin, green);
+ }
+ if (p1.equalsIgnoreCase("bd") && blue > 0)
+ {
+ blue--;analogWrite(bluePin, blue);
+ }
+
+
+
+
if (p1.equalsIgnoreCase("off"))
{
red = 0;