Benutzer-Werkzeuge

Webseiten-Werkzeuge


hello_mbot_bluetooth

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hello_mbot_bluetooth [2025/02/04 15:33] torsten.roehlhello_mbot_bluetooth [2025/02/05 11:01] (aktuell) – [Hello mBot Bluetooth] torsten.roehl
Zeile 3: Zeile 3:
 Dieses Arduino-Programm ermöglicht die Steuerung der **mBot-LEDs über Bluetooth**.   Dieses Arduino-Programm ermöglicht die Steuerung der **mBot-LEDs über Bluetooth**.  
 Über ein **Bluetooth-Terminal** (z. B. ''Serial Bluetooth Terminal'' für Android)   Über ein **Bluetooth-Terminal** (z. B. ''Serial Bluetooth Terminal'' für Android)  
-kann der mBot Befehle empfangen und die **LEDs in verschiedenen Farben schalten**.   +kann der mBot Befehle empfangen und die **LEDs in verschiedenen Farben schalten**.  
-<WRAP center round important 60%> + 
-FIXME Noch nicht getestet + 
 +<WRAP center round info 95%> 
 +**Wozu Bluetooth?** 
 + 
 + 
 +Sobald Bluetooth für den **mBot** verfügbar ist, eröffnet es eine Vielzahl von Steuerungs- und Regelungsaufgaben. Die **mBots** können sowohl untereinander als auch über einen PC (Android, Linux) gesteuert werden oder in Gruppen agieren. Dies schafft zahlreiche interessante Anwendungsmöglichkeiten. 8-) 
 </WRAP> </WRAP>
 + 
 +<WRAP center round important 90%>
 +**Bluetooth mit **mBot** ist aufgrund der //"fehlenden Dokumentation"// zu Beginn mit einigen Hürden verbunden.** :-?
 +  -  Beim **mBot** teilen sich die USB-Verbindung und das Bluetooth-Modul (welches aufgesteckt wird) die __gleiche Hardware__. Das bedeutet, dass bei einer USB-Verbindung (USB-Kabel steckt) Bluetooth nicht genutzt werden kann!
 +  - Die Klasse `MeBluetooth` in der API oder `SoftwareSerial` sind __nicht__ für den **mBot** zuständig. 
 +  - Die Programmierung ist identisch mit der Programmierung der seriellen Schnittstelle, wobei die Baudrate auf den Standardwert **115200** gesetzt werden sollte.
 +  - Das Gerät muss mit den richtigen ''UUIDs'' verwendet werden (siehe Unten).
 +
 +</WRAP>
 +
  
-**Erlaubte Befehle:**   
-  * '''R''' → LEDs **Rot**   
-  * '''G''' → LEDs **Grün**   
-  * '''B''' → LEDs **Blau**   
-  * '''O''' → LEDs **Ausschalten**   
  
 ==== Quellcode (engl. Sourcecode) ==== ==== Quellcode (engl. Sourcecode) ====
 <Code c linenums:1 | Listing 1:MinimalesProgramm.ino> <Code c linenums:1 | Listing 1:MinimalesProgramm.ino>
-    #include <MeMCore.h> +#include <MeMCore.h>
-  #include <SoftwareSerial.h> +
-    MeBluetooth bluetooth;  // Initialisiert das Bluetooth-Modul +
-    MeRGBLed led(0, 2);     // RGB-LEDs am Port 0 +
-      +
-    void setup() { +
-        Serial.begin(9600);      // Serielle Kommunikation starten +
-        bluetooth.begin(9600);   // Bluetooth starten +
-        led.setpin(13); +
-    } +
-      +
-    void loop() { +
-        if (bluetooth.available()) {  // Prüfen, ob Daten empfangen wurden +
-            char command = bluetooth.read();  // Zeichen auslesen +
-            Serial.print("Empfangen: ");   +
-            Serial.println(command);  // Debugging in der seriellen Konsole +
-      +
-            switch (command) { +
-                case 'r':  // LED auf Rot setzen +
-                    led.setColor(0, 255, 0, 0); +
-                    led.setColor(1, 255, 0, 0); +
-                    break; +
-      +
-                case 'g':  // LED auf Grün setzen +
-                    led.setColor(0, 0, 255, 0); +
-                    led.setColor(1, 0, 255, 0); +
-                    break; +
-      +
-                case 'b':  // LED auf Blau setzen +
-                    led.setColor(0, 0, 0, 255); +
-                    led.setColor(1, 0, 0, 255); +
-                    break; +
-      +
-                case 'O':  // LEDs ausschalten +
-                    led.setColor(0, 0, 0, 0); +
-                    led.setColor(1, 0, 0, 0); +
-                    break; +
-            } +
-            led.show();  // LEDs aktualisieren +
-        } +
-    }+
  
 +MeRGBLed led(0, 2);  // LED-Modul am mBot
 +
 +void setup() {
 +    Serial.begin(115200);
 +    led.setpin(13);
 +    led.setColor(0, 0, 0, 0); // LED aus beim Start
 +    led.show();
 +}
 +
 +void loop() {
 +    if (Serial.available()) {
 +        char cmd = Serial.read();
 +
 +        switch (cmd) {
 +            case 'r':  // Rot
 +                led.setColor(0, 255, 0, 0);
 +                led.setColor(1, 255, 0, 0);
 +                break;
 +            case 'g':  // Grün
 +                led.setColor(0, 0, 255, 0);
 +                led.setColor(1, 0, 255, 0);
 +                break;
 +            case 'b':  // Blau
 +                led.setColor(0, 0, 0, 255);
 +                led.setColor(1, 0, 0, 255);
 +                break;
 +            case '0':  // LED aus
 +                led.setColor(0, 0, 0, 0);
 +                led.setColor(1, 0, 0, 0);
 +                break;
 +            default: // unknown command ...do nothing
 +                return; 
 +        }        
 +        led.show();
 +        delay(50); 
 +    }
 +}
 </Code> </Code>
 +
 +
 +**Erlaubte Befehle:**  
 +  * '''r''' → LEDs **Rot**  
 +  * '''g''' → LEDs **Grün**  
 +  * '''b''' → LEDs **Blau**  
 +  * '''O''' → LEDs **Ausschalten**  
 +
  
 ===== Verbindung des mBot über Bluetooth ===== ===== Verbindung des mBot über Bluetooth =====
  
   - Den **Code auf den mBot hochladen** (über USB mit der Arduino IDE).     - Den **Code auf den mBot hochladen** (über USB mit der Arduino IDE).  
-  - Das **USB-Kabel entfernen**, da Bluetooth den seriellen Port nutzt.  +  - Das **<color #ed1c24>USB-Kabel entfernen</color>**, da Bluetooth den __gleichen__ seriellen Port nutzt
 +  - Den **mBot** neu starten.  
   - Den **mBot mit einem Bluetooth-Terminal verbinden**:     - Den **mBot mit einem Bluetooth-Terminal verbinden**:  
     - **Android**: ''Serial Bluetooth Terminal'' (Play Store)      - **Android**: ''Serial Bluetooth Terminal'' (Play Store) 
     - **Linux**: ''bluetoothctl'' oder ''minicom''       - **Linux**: ''bluetoothctl'' oder ''minicom''  
   - Einen der folgenden Befehle senden:     - Einen der folgenden Befehle senden:  
-    - **''R''** → LEDs **Rot**   +    - **''r''** → LEDs **Rot**   
-    - **''G''** → LEDs **Grün**   +    - **''g''** → LEDs **Grün**   
-    - **''B''** → LEDs **Blau**  +    - **''b''** → LEDs **Blau**  
     - **''O''** → LEDs **Ausschalten**       - **''O''** → LEDs **Ausschalten**  
  
 Nach erfolgreicher Verbindung können die **LEDs über Bluetooth gesteuert werden**. 🚀  Nach erfolgreicher Verbindung können die **LEDs über Bluetooth gesteuert werden**. 🚀 
-====  Bluetooth mit Android  ==== + 
-====  Bluetooth mit Linux   ====+====  Bluetooth Verbindung herstellen   ==== 
 + 
 +  * [[Bluetooth-Verbindung mit Android]]  
 +  * [[Bluetooth-Verbindung mit Linux]] 
hello_mbot_bluetooth.1738683229.txt.gz · Zuletzt geändert: 2025/02/04 15:33 von torsten.roehl