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/03 16:05] 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 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 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) ====
Zeile 15: Zeile 29:
 #include <MeMCore.h> #include <MeMCore.h>
  
-MeBluetooth bluetooth;  // Initialisiert das Bluetooth-Modul +MeRGBLed led(0, 2);  // LED-Modul am mBot
-MeRGBLed led(0, 2);     // RGB-LEDs am Port 0+
  
 void setup() { void setup() {
-    Serial.begin(9600);      // Serielle Kommunikation starten +    Serial.begin(115200); 
-    bluetooth.begin(9600);   // Bluetooth starten+    led.setpin(13); 
 +    led.setColor(0, 0, 0, 0); // LED aus beim Start 
 +    led.show();
 } }
  
 void loop() { void loop() {
-    if (bluetooth.available()) {  // Prüfen, ob Daten empfangen wurden +    if (Serial.available()) { 
-        char command bluetooth.read();  // Zeichen auslesen +        char cmd Serial.read();
-        Serial.print("Empfangen: ");   +
-        Serial.println(command);  // Debugging in der seriellen Konsole+
  
-        switch (command) { +        switch (cmd) { 
-            case 'R':  // LED auf Rot setzen+            case 'r':  // Rot
                 led.setColor(0, 255, 0, 0);                 led.setColor(0, 255, 0, 0);
                 led.setColor(1, 255, 0, 0);                 led.setColor(1, 255, 0, 0);
                 break;                 break;
- +            case 'g':  // Grün
-            case 'G':  // LED auf Grün setzen+
                 led.setColor(0, 0, 255, 0);                 led.setColor(0, 0, 255, 0);
                 led.setColor(1, 0, 255, 0);                 led.setColor(1, 0, 255, 0);
                 break;                 break;
- +            case 'b':  // Blau
-            case 'B':  // LED auf Blau setzen+
                 led.setColor(0, 0, 0, 255);                 led.setColor(0, 0, 0, 255);
                 led.setColor(1, 0, 0, 255);                 led.setColor(1, 0, 0, 255);
                 break;                 break;
- +            case '0':  // LED aus
-            case 'O':  // LEDs ausschalten+
                 led.setColor(0, 0, 0, 0);                 led.setColor(0, 0, 0, 0);
                 led.setColor(1, 0, 0, 0);                 led.setColor(1, 0, 0, 0);
                 break;                 break;
-        +            default: // unknown command ...do nothing 
-        led.show();  // LEDs aktualisieren+                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**. 🚀 
-====  Android: ''Serial Bluetooth Terminal'' (Play Store)  ==== + 
-====  Linux: ''bluetoothctl'' oder ''minicom''    ====+====  Bluetooth Verbindung herstellen   ==== 
 + 
 +  * [[Bluetooth-Verbindung mit Android]]  
 +  * [[Bluetooth-Verbindung mit Linux]] 
hello_mbot_bluetooth.1738598744.txt.gz · Zuletzt geändert: 2025/02/03 16:05 von torsten.roehl