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

Zustand eines Schalters am Smartphone darstellen

Aufgabe

Wenn ein Taster geschlossen wird, soll dies am Smartphone dargestellt werden.

Aufbau der Schaltung

Material

  • Arduino
  • 1 Taster
  • 1 HC-06
  • 2 Widerstände 1kΩ
  • 1 Widerstand 2kΩ
  • Breadboard
  • Leitungen

Beschreibung

Der Aufbau der Schaltung ist ein Mix aus der Schaltung zum Einlesen eines Tasters und dem Bluetooth-Taster.

 

Dazu kommt noch das HC-06 Modul, das wie gewohnt an VCC, GND, Pin 0 (RX) und Pin 1 (TX) über die Widerstände angeschlossen wird.

Bluetooth Electronics-Panel

Mit der App "Bluetooth Electronics" wird ein neues Panel erstellt.

Wenn man das Feld "Edit" berührt, kann man das Panel bearbeiten.

Durch Auswahl von "indicators" erscheinen unten verschiedene Anzeigen:

Jetzt eine weiße Kontrolllampe auswählen und in das Panel hineinziehen:

Mit dem blauen Feld "Edit" kann man die Eigenschaften der Lampe ansehen und ändern:

Hier steht beschrieben, wie man die Lampe zum Leuchten bringt:

  • Der Arduino soll via Bluetooth zunächst das Zeichen '*' senden,  
  • danach soll der Buchstabe 'L' gesendet werden (Der Buchstabe kann hier geändert werden),
  • jetzt muss man angeben, in welcher Farbe die Lampe leuchten soll. Dies geschieht mittels des RGB-Codes. das ist eine Zahlenkombination aus drei ganzen Zahlen zwischen 0 und 255 und jede Kombination steht für eine andere Farbe. 
  • Der Befehl wird mit dem Zeichen '*' abgeschlossen.
  • Im Beispiel ist aufgeführt, dass das Senden der Zeichen '*LR255G200B0*' die Lampe in einem orange leuchten lässt: Zuerst das '*' Zeichen, danach das 'L' für diese Lampe. Orange setzt sich zusammen aus den Farben rot und grün, also werden diese Farben voll aufgedreht (Wert 255), blau hingegen hat in der Farbe orange nix zu suchen, darum hat es den Wert 0. Zum Anschluss des Befehls wieder ein '*'.

 

Wenn man herunter scrollt, kann man sich eine Farbe mischen. Der RGB-Wert der Farbe wird dann angezeigt.

 

Als Beispiel sei hier mal die Farbe "helltminttürkies" oder so eingestellt

Die Werte oberhalb der Schieberegler (z.B. R135G158B82) muss man sich jetzt merken oder aufschreiben und später in das ArduBlock-Programm oder in den Arduino-Sketch einfügen. 

Das ArduBlock-Programm

Das Programm kann mit ArduBlock erstellt werden. Es müssen allerdings ein paar Zeilen abgeändert werden.

Bedeutung der einzelnen Blöcke

(Steht unter dem Block keine Erklärung, dann wurde er bereits in einem Tutorial erklärt - Noch ein Hinweis: Oben steht, dass man den "serial println"-Befehl ändern muss, das ist aber gar nicht nötig! )

Eine Variable mit dem Namen "TASTER" wird erstellt. Wie erhält den Wert "wahr", wenn am Pin 8 ein Signal von 5V (HIGH) anliegt, also wenn der Taster gedrückt ist. Ist der Taster nicht gedrückt, liegt an Pin 8 eine Spannung von 0V (LOW) an und der Wert der Variable ist dann "falsch".

 

Wenn der Wert der Variable "TASTER" wahr ist, dann wird eine Zeile an den seriellen Monitor und an das Bluetoothmodul HC-06 gesendet. in der Zeile stehen die Zeichen '*'  und 'L' , danach der RGB-Wert R255G0B0, was für die Farbe "rot" steht.

Die App interpretiert diese Zeile so, dass sie die Lampe rot leuchten lässt.

 

Wenn der Wert der Variable "TASTER" nicht wahr, also falsch ist, dann wird eine Zeile an den seriellen Monitor und an das Bluetoothmodul HC-06 gesendet. in der Zeile stehen die Zeichen '*'  und 'L' , danach der RGB-Wert R0G255B0, was für die Farbe "grün" steht. Danach folgt das abschließende Zeichen '*'.

Die App interpretiert diese Zeile so, dass sie die Lampe grün leuchten lässt.

 

Der Arduino-Sketch

Zunächst mal der Sketch, wie er nach dem Hochladen in der Arduino-IDE erscheint.

Danach folgt der Sketch mit ein paar Veränderungen (Die Variable wurde umbenannt( und Erklärungen

 

 

bool _ABVAR_1_TASTER;

void setup()
{
    _ABVAR_1_TASTER = false;
    Serial.begin(9600);
    pinMode( 8 , INPUT);
}

void loop()
{
    _ABVAR_1_TASTER = digitalRead( 8) ;
    if (_ABVAR_1_TASTER)
    {
        Serial.print( "*LR255G0B0*" );
        Serial.println("");                                    
    }
    if (!( _ABVAR_1_TASTER ))
    {
        Serial.print( "*LR0G255B0*" );
        Serial.println("");                                     
    }
}

  

Durch die Veränderungen zeigt sich der Sketch wie folgt: 

 

bool TASTER;                                                       // Eine Variable TASTER wird erstellt. 

                                                                              // Sie kann die Werte wahr oder falsch annehmen.

void setup()
{
    TASTER = false;                                               // Zu beginn des Programms erhält die Variable den Wert falsch
    Serial.begin(9600);                                         // die serielle Übertragung wird eröffnet
    pinMode( 8 , INPUT);                                     // Pin 8 ist ein Eingang
}

void loop()
{


    TASTER = digitalRead( 8) ;                          // Die Variable erhält den Wert, der am Pin 8 anliegt


    if (TASTER)                                                    // Wenn der Wert der Variable wahr ist...


    {


        Serial.print( "*LR255G0B0*" );               // ... dann wird an den seriellen Ausgang die Zeile "*LR255G0B0* 

         Serial.println("");                                     // gesendet. Die Lampe in der App soll rot leuchten
     }


    if (!( TASTER ))                                               // Wenn der Wert der Variable nicht wahr (also falsch)  ist...


    {
        Serial.print( "*LR0G255B0*" );              // ... dann wird an den seriellen Ausgang die Zeile "*LR0G255B0*

         Serial.println("");                                     // gesendet. Die Lampe in der App soll grün leuchten
    }
}

    

Während des Hochladens m u s s  das HC-06 Modul ausgesteckt werden, sonst klappt das Hochladen nicht!!!



Sobald der Sketch hochgeladen ist, kann man am seriellen Monitor verfolgen, wie die Zeichen beim Drücken bzw. Nichtdrücken des Tasters erscheinen:

Wenn das Hochladen geklappt hat, dann verbindest Du die App "Bluetooth Electronics" mit dem Arduino und berührst im Hauptfenster "RUN". Das angewählte, blau hinterlegte Panel wird gestartet und die die Lampe leuchtet rot oder grün, je nachdem ob der Taster gedrückt ist oder nicht. 

So siehts aus, wenn der Taster nicht gedrückt ist:

Und so, wenn der Taster gedrückt ist:

Cookie-Regelung

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

Stimmen Sie dem zu?