Ihre Browserversion ist veraltet. Wir empfehlen, Ihren Browser auf die neueste Version zu aktualisieren.

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

  • HC-06
  • 1 Widerstand 1kΩ
  • 1 Widerstand 2kΩ
  • 5 Widerstände 220Ω
  • 1 gelbe LED
  • 1 weiße LED
  • 1 RGB Leuchtfiode
  • Arduino
  • Breadborad
  • Kabel

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 WEISSE_LED = 3;
int ROTE_LED = 5;
int GRUNE_LED = 6;
int BLAUE_LED = 9;

int ROT;                              // Werte der einzelnen Farben, die vom Schieber der smartphone App gesendet werden 
int GRUN;
int BLAU;

 

void setup()
{

    Serial.begin(9600);        // Beginn der seriellen Kommunikation

    pinMode(GELBE_LED, OUTPUT);    // Alle Pins werden als Ausgänge benutzt
    pinMode(WEISSE_LED, OUTPUT);
    pinMode(ROTE_LED, OUTPUT);
    pinMode(GRUNE_LED,OUTPUT);
    pinMode(BLAUE_LED,OUTPUT);

    digitalWrite (GELBE_LED, LOW);    // An allen Ausgängen soll eine Spannung von 0 Volt (LOW) anliegen 
    digitalWrite (WEISSE_LED, LOW);
    digitalWrite (ROTE_LED, LOW);
    digitalWrite (GRUNE_LED, LOW);
    digitalWrite (BLAUE_LED, LOW);
}

 

void loop()
{
    if (Serial.available())                              // Wenn etwas über die serielle Kommunikation empfangen wird...
        {
        BLUETOOTH = Serial.read();          // ...dann soll das, was gelesen wird unter dem Namen

                                                                  // BLUETOOTH gespeichert werden
        } 
    if (BLUETOOTH == 'N')                           // Wenn die Variable den Buchstaben 'N' enthält...
        {
        digitalWrite(GELBE_LED, HIGH);       // ...  soll am PIN GELBE_LED  5 Volt (HIGH) anliegen
        }
    if (BLUETOOTH == 'n')                            // Wenn die Variable den Buchstaben 'n' enthält... 
        {
        digitalWrite(GELBE_LED, LOW);            // ...  soll am PIN GELBE_LED  0 Volt (LOW) anliegen
        } 
    if (BLUETOOTH == 'A')                            // Wenn die Variable den Buchstaben 'A' enthält...
        {
        digitalWrite(WEISSE_LED, HIGH);         // ... soll am PIN WEISSE_LED 5 Volt (HIGH) anliegen
        }
    if (BLUETOOTH == 'a')                            // Wenn die Variable den Buchstaben 'a' enthält... 
        {        
        digitalWrite(WEISSE_LED, LOW);          // ...  soll am PIN WEISSE_LED eine  0 Volt (LOW) anliegen
        }


    if(BLUETOOTH=='R')                  // Wenn die Variable den Buchstaben 'R' enthält... 
        {
        ROT=Serial.parseInt();               // ... soll die Variable ROT den Wert erhalten, der nach dem R gesendet wird
        }
    if(BLUETOOTH=='G')                 // Wenn die Variable den Buchstaben 'G' enthält... 
        {
        GRUN=Serial.parseInt();           // ... soll die Variable GRUN den Wert erhalten, der nach dem G gesendet wird
        }
    if(BLUETOOTH=='B')                 // Wenn die Variable den Buchstaben 'B' enthält... 
        {
        BLAU=Serial.parseInt();            // ...  soll die Variable BLAU den Wert erhalten, der nach dem B gesendet wird
        }

 

    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.

    delay(20);

}  

Cookie-Regelung

Diese Website verwendet Cookies, zum Speichern von Informationen auf Ihrem Computer.

Stimmen Sie dem zu?