Stap 2: Arduino
voor gebruik als is met ofwel:
twitterMentionMoodLight_processing
twitterMentionMoodLight_python
//
Het genereren van een vreedzame gloed totdat iemand op twitter u vermeldt.
//
Vereist een circuit met: twee knoppen en een pwm rgb led licht, en
3 weerstanden op 220 ohm; 2 weerstanden op 100 ohm; 2 weerstanden op 10 k ohm.
//
Shout out naar Tom Igoe, Adafruit, gluurders en msg platen overal.
meer informatie op:
/*
#####################################################################
---TWEE KNOPPEN EN EEN LICHT---
Knop One: Houd ingedrukt tot wit licht; Stuurt een bericht naar Twitter.
Het licht: Glow vreedzaam tot geboden door Twitter te wijzigen.
Knop twee: Resets leidde tot peacefulGlow.
peacefulGlow() - de standaardstatus van de stemming licht
mention() - iemand heeft vermeld
buttonSend() - Twitter status update
buttonReset() - terug naar peacefulGlow()
--------------------------------------------------------------------
#####################################################################
*/
Const int Rindrukken = 10; resetknop
int reset_btn_val = 0;
Const int sButton = 11; knop verzenden
int send_btn_val = 0;
Staat string = "peacefulGlow";
int ledAnalogOne [] {3, 5, 6} =; PWM RGB LED pinnen
Analoge LED 3 = redPin, 5 = greenPin, 6 = bluePin
Gedefinieerde kleuren
Const byte BLACK [] = {0, 0, 0};
Const byte WHITE [] = {255, 255, 255};
Const byte rood [] = {255, 0, 0};
Const byte [] groene = {0, 255, 0};
Const byte BLUE [] = {0, 0, 255};
Const byte oranje [] = {83, 4, 0};
Const byte YELLOW [] = {255, 255, 0};
Const byte MAGENTA [] = {0, 255, 255};
void setup {/ / beginnen
Serial.begin(9600);
pinMode (Rindrukken, INPUT);
pinMode (sButton, INPUT);
voor (int i = 0; ik < 3; i ++) {/ / Stel de 3 LED-pinnen als uitgang
pinMode (ledAnalogOne [i], OUTPUT);
}
}
void loop {}
listenToSerial();
buttonSend();
buttonReset();
setState(state);
}
VOID setState(String s) {}
Als (s == "peacefulGlow") peacefulGlow();
Als (s == "vermeld") mention();
}
VOID listenToSerial() {/ / Twitter opdrachten Voer hier
int serialMsg = 0;
Als (Serial.available()) {}
serialMsg = Serial.read();
Als (serialMsg == 1) staat = "vermeld"; verwerking
Als (serialMsg == 49) staat = "vermeld"; python
}
}
VOID buttonSend() {/ / Twitter posts die hier zijn verzonden
send_btn_val = digitalRead(sButton);
Als (send_btn_val == HIGH) {}
Serial.Print("#peacefulGlow");
delay(200);
sent();
}
}
ongeldig buttonReset() {}
reset_btn_val = digitalRead(rButton);
Als (reset_btn_val == HIGH) {}
staat = "peacefulGlow";
}
}
ongeldig peacefulGlow() {}
staat = "peacefulGlow";
Als (staat == "peacefulGlow") {}
fadeToColor (ledAnalogOne, rood, blauw, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Als (staat == "peacefulGlow") {}
fadeToColor (ledAnalogOne, BLUE, GREEN, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Als (staat == "peacefulGlow") {}
fadeToColor (ledAnalogOne, groen, geel, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Als (staat == "peacefulGlow") {}
fadeToColor (ledAnalogOne, geel, oranje, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Als (staat == "peacefulGlow") {}
fadeToColor (ledAnalogOne, oranje, rood, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
}
ongeldig mention() {}
staat = "vermeld";
Als (staat == "vermeld") {}
fadeToColor (ledAnalogOne, rood, zwart, 1);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
buttonReset();
Als (staat == "vermeld") {}
fadeToColor (ledAnalogOne, zwart, rood, 0);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
buttonReset();
}
ongeldig sent() {}
setColor (ledAnalogOne, witte);
delay(500);
}
// *************************************************************
*** KLEUR FUNCTIES - RAAK NIET ***
VOID setColor (int * geleid, byte * kleur) {}
for (int i = 0; ik < 3; i ++) {}
analogWrite (onder leiding van [i], 255 - color[i]);
}
}
VOID setColor (int * geleid, const byte * kleur) {}
byte tempByte [] {} =
kleur [0], kleur [1], kleur [2]};
setColor (led, tempByte);
}
VOID fadeToColor (int * leidde byte * startColor, byte * endColor, int fadeSpeed) {}
int changeRed = endColor [0] - startColor [0];
int changeGreen = endColor [1] - startColor [1];
int changeBlue = endColor [2] - startColor [2];
int stappen = max(abs(changeRed),max(abs(changeGreen), abs(changeBlue)));
for (int i = 0; ik < stappen; i ++) {}
byte newRed startColor [0] = + (ik * changeRed / stappen);
byte newGreen = startColor [1] + (ik * changeGreen / stappen);
byte newBlue startColor [2] = + (ik * changeBlue / stappen);
byte newColor [] = {newRed, newGreen, newBlue};
setColor (led, newColor);
delay(fadeSpeed);
}
setColor (led, endColor);
}
VOID fadeToColor (int * leidde const byte * startColor, const byte * endColor, int fadeSpeed) {}
byte tempByte1 [] = {startColor [0], startColor [1], startColor [2]};
byte tempByte2 [] = {endColor [0], endColor [1], endColor [2]};
fadeToColor (led, tempByte1, tempByte2, fadeSpeed);
}