Bluetooth-Schieber
Aufgabe
Zusätzlich zur vorherigen Schaltung soll, eine RGB-Leuchtdiode vom Smartphone aus mit drei Schiebereglern angesteuert werden.
Es wird also das Einlesen eines analogen Sensors simuliert.
Aufbau der Schaltung | Material
|
Aufbau der Schaltung
Zur vorherigen Schaltung kommt noch eine RGB Leuchtdiode und drei 220Ω Widerstände, die an den PWM Pins 5, 6 und 9 angeschlossen werden.
Die RGB Leuchtdiode wird hier genauer beschrieben.
Bluetooth Electronics-Panel
Mit der App "Bluetooth Electronics" wird das Panel aus der vorherigen Schaltung um drei Schieber erweitert werden.
Die Slider sollen folgende Eigenschaften haben, die im blauen Feld rechts unten eingestellt werden:
- Der Slider für die rote LED soll Werte von 0 bis 255 annehmen. Bei Veränderung soll zunächst der Buchstabe 'R', dann der Wert und abschließend nochmal der Buchstabe 'R' gesendet werden.
- Der Slider für die grüne LED soll Werte von 0 bis 255 annehmen. Bei Veränderung soll zunächst der Buchstabe 'G', dann der Wert und abschließend nochmal der Buchstabe 'G' gesendet werden.
- Der Slider für die blaue LED soll Werte von 0 bis 255 annehmen. Bei Veränderung soll zunächst der Buchstabe 'B', dann der Wert und abschließend nochmal der Buchstabe 'B' gesendet werden.
- Weil dieses Panel in den folgenden Übungen erweitert wird, ist es ratsam, auch den Schalter zu beschriften:
Der Arduino-Sketch
Zum vorherigen Sketch werden folgende Änderungen eingefügt:
- Drei weitere Pins, an denen LEDs angeschlossen sind, erhalten einen Namen: So ist heißt Pin 5 ROTE_LED und Pin 6 GRUNE_LED und Pin 9 BLAUE_LED. Dies wird vor dem Setup deklariert.
- Die Variablen ROT, Grun und Blau sollen die Werte (Zahlen zwischen 0 und 255) beinhalten, die an die jeweiligen PWM Ausgänge gesendet werden. Diese Werte bestimmen letztendlich die Farbe der RGB LED.
- Im Loop Teil kommen noch drei if... Abfragen hinzu. Es wird abgefragt ob die Variable BLUETOOTH den Wert 'R' bzw. 'G' bzw. 'B' hat.
- Wenn ein Schieber am Smartphone verändert wird, dann sendet es einen Buchstaben, danach einen Zahlenwert und abschließend wieder einen Buchstaben (z.B. R255R wenn der rote Schieber voll aufgedreht ist).
- Wenn ein 'R' am Arduino ankommt, dann soll der Befehl ROT = Serial.parseInt() die folgenden Zahlen einlesen und unter dem Namen ROT speichern. Dass sie Zahlen zuende sind, merkt das Programm am Abschließenden Buchstaben 'R'.
- Bei den Buchstaben 'G' und 'B' ist es entsprechend.
- Damit es übersichtlich bleibt, ist alles neu eingefügte rot eingefärbt.
char BLUETOOTH; // Werte die vom Smartphone empfangen werden int GELBE_LED = 2; // Jeder Pin, an den eine LED angeschlossen ist erhält einen Namen int ROT; // Werte der einzelnen Farben, die vom Schieber der smartphone App gesendet werden
void setup()
void loop() // BLUETOOTH gespeichert werden
analogWrite(ROTE_LED, ROT); // Die Werte ROT, GRUN und BLAU werden an die entsprechenden analogWrite(GRUNE_LED, GRUN); // Ausgänge gesendet. Die RGB Leuchtdiode leuchtet in der analogWrite(BLAUE_LED, BLAU); // entsprechenden Farbe. } |