Bluetooth kontrollerad chassi ljus (6 / 11 steg)
Steg 6: programmering
För mitt program jag använde exemplet switch ( http://www.arduino.cc/en/Tutorial/SwitchCase2 ) och modifierade det lite./*
Switch-sats med Seriell inmatning
Visar användningen en switch-sats. Växeln
uttalandet kan du välja bland en uppsättning diskreta värden
av en variabel. Det är som en serie av om uttalanden.
Denna skiss i aktion, öppna den Serial monitorn och skicka alla tecken.
Tecknen a, b, c, d och e, tänds lysdioder. Ett annat tecken kommer att vända
Lysdioderna off.
Krets:
* 5 lysdioder kopplat till digital stift 2 till 6 via 220 ohm motstånd
Detta är en modifierad version av Swith fall 2 exemplet från arduino.cc hemsida. (http://www.arduino.cc/en/Tutorial/SwitchCase2)
*/
int analogOutPinG = 9;
int analogOutPinB = 10;
int analogOutPinR = 11;
void setup() {
initiera seriell kommunikation:
Serial.BEGIN(9600);
initiera LED stift:
pinMode (analogOutPinG, produktionen);
pinMode (analogOutPinB, produktionen);
pinMode (analogOutPinR, produktionen);
}
void loop() {
Läs sensorn:
om (Serial.available() > 0) {
int inByte = Serial.read();
göra något annorlunda beroende på tecknet tas emot.
Switch-sats förväntar sig enstaka antal värden för varje ärende;
i detta exempel, men använder du enkel anföres att berätta
den registeransvarige att få ASCII-värdet för tecknet. För
exempel "a" = 97, "b" = 98, och så vidare:
Växla (inByte) {
fallet "a":
analogWrite (analogOutPinG, 255);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 0);
bryta;
fallet "b":
analogWrite (analogOutPinG, 255);
analogWrite (analogOutPinB, 220);
analogWrite (analogOutPinR, 0);
bryta;
fallet "c":
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 255);
analogWrite (analogOutPinR, 0);
bryta;
fall skulle ":
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 200);
analogWrite (analogOutPinR, 255);
bryta;
fallet "e":
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
bryta;
fallet "f":
analogWrite (analogOutPinG, 200);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
bryta;
fallet "g":
analogWrite (analogOutPinG, 120);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 255);
bryta;
fallet "h":
analogWrite (analogOutPinG, 0);
analogWrite (analogOutPinB, 0);
analogWrite (analogOutPinR, 0);
bryta;
}
}
}