Schritt 2: Arduino
für den Einsatz als entweder mit:
twitterMentionMoodLight_processing
twitterMentionMoodLight_python
//
Generieren Sie eine friedliche Leuchten, bis jemand auf Twitter Sie erwähnt.
//
Erfordert eine Schaltung mit: zwei Tasten und einem Pwm Rgb-led-Licht, und
3 Widerstände an 220 Ohm; 2 Widerstände an 100 Ohm; 2 Widerstände an 10 k Ohm.
//
Gruß an Tom Igoe, Adafruit, Lurker und msg Boards überall.
Erfahren Sie mehr unter:
/*
#####################################################################
---ZWEI TASTEN UND EIN LICHT---
Taste 1: Halten Sie bis weißes Licht; Sendet eine Nachricht an Twitter.
Das Licht: Leuchten Sie friedlich bis von Twitter befohlen, zu ändern.
Taste 2: Zurücksetzen von Kennwörtern zu PeacefulGlow geführt.
peacefulGlow() - der Standardzustand das Stimmungslicht
Mention() - hat jemand erwähnt.
buttonSend() - Twitter-Status zu aktualisieren
buttonReset() - Rückkehr zur peacefulGlow()
--------------------------------------------------------------------
#####################################################################
*/
const Int rButton = 10; Reset-Taste
Int Reset_btn_val = 0;
const Int sButton = 11; Schaltfläche "senden"
Int Send_btn_val = 0;
String-Zustand = "PeacefulGlow";
Int LedAnalogOne [] = {3, 5, 6}; PWM RGB-LED-pins
Analoge LED 3 = RedPin, 5 = GreenPin, 6 = BluePin
Definierten Farben
const Byte Schwarz [] = {0, 0, 0};
const Byte weiß [] = {255, 255, 255};
const Byte rot [] = {0, 0, 255};
const Byte grün [] = {0, 255, 0};
const Byte blau [] = {0, 0, 255};
const Byte [ORANGE] = {0, 83, 4};
const Byte gelb [] = {0, 255, 255};
const Byte MAGENTA [] = {0, 255, 255};
void setup() {/ / begin
Serial.Begin(9600);
PinMode (rButton, Eingabe);
PinMode (sButton, Eingabe);
für (Int ich = 0; ich < 3; i ++) {/ / 3 LED-Pins als Ausgänge festlegen
PinMode (LedAnalogOne [i], OUTPUT);
}
}
void loop() {}
listenToSerial();
buttonSend();
buttonReset();
setState(state);
}
void SetState(String s) {}
Wenn (s == "PeacefulGlow") peacefulGlow();
Wenn (s == "Schweigen") mention();
}
void listenToSerial() {/ / Twitter Befehle eingeben hier
Int SerialMsg = 0;
Wenn (Serial.available()) {}
SerialMsg = Serial.read();
Wenn (SerialMsg == 1) Zustand = "Schweigen"; Verarbeitung
Wenn (SerialMsg == 49) Zustand = "Schweigen"; Python
}
}
void buttonSend() {/ / Twitter-Postings hier gesendet
Send_btn_val = digitalRead(sButton);
Wenn (Send_btn_val == HIGH) {}
Serial.Print("#peacefulGlow");
Delay(200);
Sent();
}
}
void buttonReset() {}
Reset_btn_val = digitalRead(rButton);
Wenn (Reset_btn_val == HIGH) {}
Status = "PeacefulGlow";
}
}
void peacefulGlow() {}
Status = "PeacefulGlow";
Wenn (Zustand == "PeacefulGlow") {}
FadeToColor (LedAnalogOne, rot, blau, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Wenn (Zustand == "PeacefulGlow") {}
FadeToColor (LedAnalogOne, blau, grün, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Wenn (Zustand == "PeacefulGlow") {}
FadeToColor (LedAnalogOne, grün, gelb, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Wenn (Zustand == "PeacefulGlow") {}
FadeToColor (LedAnalogOne, gelb, ORANGE, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
Wenn (Zustand == "PeacefulGlow") {}
FadeToColor (LedAnalogOne, ORANGE, rot, 6);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
}
void mention() {}
Status = "Schweigen";
Wenn (Zustand == "Schweigen") {}
FadeToColor (LedAnalogOne, rot, schwarz, 1);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
buttonReset();
Wenn (Zustand == "Schweigen") {}
FadeToColor (LedAnalogOne, schwarz, rot, 0);
} else {}
setState(state);
}
listenToSerial();
buttonSend();
buttonReset();
}
void sent() {}
SetColor (LedAnalogOne, weiß);
Delay(500);
}
// *************************************************************
*** FARBE FUNKTIONIERT - NICHT BERÜHREN ***
void SetColor (Int * geführt, Byte * Farbe) {}
für (Int ich = 0; ich < 3; i ++) {}
AnalogWrite (führte [i], 255 - color[i]);
}
}
void SetColor (Int * geführt, const Byte * Farbe) {}
Byte TempByte [] = {}
Farbe [0], Farbe [1] [2]};
SetColor (led, TempByte);
}
void FadeToColor (Int * geführt, 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 Schritte = max(abs(changeRed),max(abs(changeGreen), abs(changeBlue)));
für (Int ich = 0; ich < Schritte; i ++) {}
NewRed Byte = StartColor [0] + (ich * changeRed / Schritte);
NewGreen Byte = StartColor [1] + (ich * ChangeGreen / Schritte);
NewBlue Byte = StartColor [2] + (ich * ChangeBlue / Schritte);
Byte NewColor [] = {NewRed, NewGreen, NewBlue};
SetColor (led, NewColor);
Delay(fadeSpeed);
}
SetColor (led, EndColor);
}
void FadeToColor (Int * geführt, 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);
}