ESP32 Bluetooth Rotator Beispiel - Drehbare Scheibe/Regler Steuerungsschnittstelle Tutorial

Überblick

Das Bluetooth Rotator Beispiel bietet eine drehbare Scheiben-/Reglersteuerung, die über die DIYables Bluetooth STEM App zugänglich ist. Entwickelt für ESP32 Boards mit Unterstützung für sowohl BLE (Bluetooth Low Energy) als auch Classic Bluetooth Verbindungen. Der Rotator sendet Winkelwerte und unterstützt kontinuierliche (0-360°) oder begrenzte Winkelbereiche — perfekt für Servo-Steuerung, Kompassanzeige, Lautstärkeregler und jede Anwendung, die Rotationseingabe erfordert.

Dieses Beispiel unterstützt zwei Bluetooth-Modi:

  • ESP32 BLE (Bluetooth Low Energy): Funktioniert auf Android und iOS
  • ESP32 Classic Bluetooth: Funktioniert nur auf Android. iOS unterstützt Classic Bluetooth nicht. Verwenden Sie BLE, wenn Sie iOS-Unterstützung benötigen.
ESP32 Bluetooth Rotator Beispiel - Drehbare Scheibe/Regler Steuerungsschnittstelle Tutorial

Funktionen

  • Drehbarer Regler: Berühren und ziehen Sie, um die Bildschirmscheibe zu drehen
  • Kontinuierlicher Modus: Vollständige 360° Drehung ohne Grenzen
  • Begrenzter Modus: Eingeschränkter Winkelbereich (z.B. 0-180° für Servos)
  • Winkelausgabe: Float-Winkelwert in Echtzeit gesendet
  • Servo-kompatibel: Direkte Zuordnung zu Servo-Winkeln (0-180°)
  • BLE & Classic Bluetooth: Wählen Sie den Bluetooth-Modus, der zu Ihrem Projekt passt
  • Plattformübergreifend: BLE-Modus funktioniert auf Android und iOS; Classic Bluetooth funktioniert auf Android
  • Stromsparoption: BLE-Modus verbraucht weniger Strom als Classic Bluetooth

Benötigte Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×(Alternativ) ESP32 Uno-form board
1×(Alternativ) ESP32 S3 Uno-form board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

ESP32 Code

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Falls Sie zum ersten Mal mit dem ESP32 arbeiten, lesen Sie das Tutorial zur Einrichtung der Umgebung für ESP32 in der Arduino IDE.
  • Verbinden Sie das ESP32 Board über ein USB-Kabel mit Ihrem Computer.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das entsprechende ESP32 Board und COM-Port aus.
  • Navigieren Sie zum Libraries Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach "DIYables Bluetooth", und finden Sie die DIYables Bluetooth Bibliothek von DIYables
  • Klicken Sie auf den Install Button, um die Bibliothek zu installieren.
ESP32 DIYables Bluetooth library
  • Sie werden gefragt, ob Sie einige andere Bibliotheksabhängigkeiten installieren möchten
  • Klicken Sie auf den Install All Button, um alle Bibliotheksabhängigkeiten zu installieren.
ESP32 DIYables Bluetooth dependency

Wählen Sie einen der beiden Bluetooth-Modi unten aus, je nach Ihren Anforderungen:

ESP32 Classic Bluetooth Code (funktioniert nur mit der App auf Android)

Hinweis: Classic Bluetooth wird auf iOS NICHT unterstützt. Wenn Sie iOS-Unterstützung benötigen, verwenden Sie den BLE-Code unten.

  • Gehen Sie in der Arduino IDE zu File Examples DIYables Bluetooth Esp32Bluetooth_Rotator Beispiel, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
/* * DIYables Bluetooth Library - ESP32 Classic Bluetooth Rotator Example * Works with DIYables Bluetooth STEM app on Android * Note: Classic Bluetooth is NOT supported on iOS. Use BLE examples for iOS support. * * This example demonstrates the Bluetooth Rotator feature: * - Rotatable disc/knob control (0-360 degrees) * - Continuous or limited angle range * - Perfect for servo control, compass display, volume knobs * * Compatible Boards: * - ESP32 (all variants with Classic Bluetooth) * - ESP32-WROOM-32 * - ESP32-DevKitC * - ESP32-WROVER * * Note: Select "Huge APP (3MB No OTA/1MB SPIFFS)" partition scheme * in Arduino IDE: Tools > Partition Scheme * * Optional: Servo motor for visual feedback * * Setup: * 1. Upload the sketch to your ESP32 * 2. Open Serial Monitor (115200 baud) to see connection status * 3. Use DIYables Bluetooth App to connect and rotate the knob * * Tutorial: https://diyables.io/bluetooth-app * Author: DIYables */ #include <DIYables_BluetoothServer.h> #include <DIYables_BluetoothRotator.h> #include <platforms/DIYables_Esp32Bluetooth.h> // Create Bluetooth instances DIYables_Esp32Bluetooth bluetooth("ESP32_Rotator"); DIYables_BluetoothServer bluetoothServer(bluetooth); // Create Rotator app instance // Option 1: Continuous mode (0-360, wraps around) // DIYables_BluetoothRotator bluetoothRotator(ROTATOR_MODE_CONTINUOUS); // Option 2: Limited mode (constrained angle range) DIYables_BluetoothRotator bluetoothRotator(ROTATOR_MODE_LIMITED, 0, 180); // Variables to store current angle float currentAngle = 0.0; // Optional: Servo control (uncomment if using ESP32Servo library) // #include <ESP32Servo.h> // Servo myServo; // const int SERVO_PIN = 13; void setup() { Serial.begin(115200); delay(1000); Serial.println("DIYables Bluetooth - ESP32 Rotator Example"); // Optional: Initialize servo // myServo.attach(SERVO_PIN); // myServo.write(0); bluetoothServer.begin(); bluetoothServer.addApp(&bluetoothRotator); bluetoothServer.setOnConnected([]() { Serial.println("Bluetooth connected!"); bluetoothRotator.send(currentAngle); }); bluetoothServer.setOnDisconnected([]() { Serial.println("Bluetooth disconnected!"); }); bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; Serial.print("Rotator angle: "); Serial.print(angle); Serial.println("°"); // TODO: Add your control logic here based on angle // Examples: // - Servo control: myServo.write((int)angle); // - Stepper motor: stepper.moveTo(angleToSteps(angle)); // - LED ring: setLEDPosition(angle); // - Volume control: setVolume(map(angle, 0, 360, 0, 100)); }); Serial.println("Waiting for Bluetooth connection..."); } void loop() { bluetoothServer.loop(); delay(10); }
  • Klicken Sie auf den Upload Button in der Arduino IDE, um den Code auf den ESP32 hochzuladen
  • Öffnen Sie den Serial Monitor
  • Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht so aus:
COM6
Send
DIYables Bluetooth - ESP32 Rotator Example Waiting for Bluetooth connection...
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

ESP32 BLE Code (funktioniert mit der App auf Android und iOS)

  • Gehen Sie in der Arduino IDE zu File Examples DIYables Bluetooth Esp32BLE_Rotator Beispiel, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
/* * DIYables Bluetooth Library - ESP32 BLE Rotator Example * Works with DIYables Bluetooth STEM app on Android and iOS * * This example demonstrates the Bluetooth Rotator feature: * - Rotatable disc/knob control (0-360 degrees) * - Continuous or limited angle range * - Perfect for servo control, compass display, volume knobs * * Compatible Boards: * - ESP32-WROOM-32 * - ESP32-DevKitC * - ESP32-WROVER * - ESP32-S3 * - ESP32-C3 * - Any ESP32 board supporting BLE * * Note: Select "Huge APP (3MB No OTA/1MB SPIFFS)" partition scheme * in Arduino IDE: Tools > Partition Scheme * * Optional: Servo motor for visual feedback * * Setup: * 1. Upload the sketch to your ESP32 * 2. Open Serial Monitor (115200 baud) to see connection status * 3. Use DIYables Bluetooth App to connect and rotate the knob * * Tutorial: https://diyables.io/bluetooth-app * Author: DIYables */ #include <DIYables_BluetoothServer.h> #include <DIYables_BluetoothRotator.h> #include <platforms/DIYables_Esp32BLE.h> // BLE Configuration const char* DEVICE_NAME = "ESP32BLE_Rotator"; const char* SERVICE_UUID = "19B10000-E8F2-537E-4F6C-D104768A1214"; const char* TX_UUID = "19B10001-E8F2-537E-4F6C-D104768A1214"; const char* RX_UUID = "19B10002-E8F2-537E-4F6C-D104768A1214"; // Create Bluetooth instances DIYables_Esp32BLE bluetooth(DEVICE_NAME, SERVICE_UUID, TX_UUID, RX_UUID); DIYables_BluetoothServer bluetoothServer(bluetooth); // Create Rotator app instance DIYables_BluetoothRotator bluetoothRotator(ROTATOR_MODE_LIMITED, 0, 180); // Variables to store current angle float currentAngle = 0.0; void setup() { Serial.begin(115200); delay(1000); Serial.println("DIYables Bluetooth - ESP32 BLE Rotator Example"); bluetoothServer.begin(); bluetoothServer.addApp(&bluetoothRotator); bluetoothServer.setOnConnected([]() { Serial.println("Bluetooth connected!"); bluetoothRotator.send(currentAngle); }); bluetoothServer.setOnDisconnected([]() { Serial.println("Bluetooth disconnected!"); }); bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; Serial.print("Rotator angle: "); Serial.print(angle); Serial.println("°"); // TODO: Add your control logic here based on angle }); Serial.println("Waiting for Bluetooth connection..."); } void loop() { bluetoothServer.loop(); delay(10); }
  • Klicken Sie auf den Upload Button in der Arduino IDE, um den Code auf den ESP32 hochzuladen
  • Öffnen Sie den Serial Monitor
  • Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht so aus:
COM6
Send
DIYables Bluetooth - ESP32 BLE Rotator Example Waiting for Bluetooth connection...
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Mobile App

  • Installieren Sie die DIYables Bluetooth App auf Ihrem Smartphone: Android | iOS
  • Wenn Sie den ESP32 Classic Bluetooth Code verwenden, müssen Sie den ESP32 mit Ihrem Android-Telefon koppeln, bevor Sie die App öffnen:
    • Gehen Sie zu den Einstellungen > Bluetooth Ihres Telefons
    • Stellen Sie sicher, dass Bluetooth eingeschaltet ist
    • Ihr Telefon sucht nach verfügbaren Geräten
    • Finden Sie "ESP32_Rotator" in der Liste verfügbarer Geräte und tippen Sie darauf
    • Bestätigen Sie die Kopplungsanfrage (keine PIN erforderlich)
    • Warten Sie, bis "Gekoppelt" unter dem Gerätenamen angezeigt wird
  • Wenn Sie den ESP32 BLE Code verwenden, ist keine Kopplung erforderlich. Fahren Sie einfach mit dem nächsten Schritt fort.
  • Öffnen Sie die DIYables Bluetooth App
  • Beim ersten Öffnen der App werden Sie nach Berechtigungen gefragt. Bitte gewähren Sie die folgenden:
    • Geräte in der Nähe Berechtigung (Android 12+) / Bluetooth Berechtigung (iOS) - erforderlich zum Scannen und Verbinden mit Bluetooth-Geräten
    • Standort Berechtigung (nur Android 11 und niedriger) - von älteren Android-Versionen zum Scannen nach BLE-Geräten erforderlich
  • Stellen Sie sicher, dass Bluetooth auf Ihrem Telefon eingeschaltet ist
  • Tippen Sie auf dem Startbildschirm auf den Connect Button. Die App scannt nach BLE- und Classic Bluetooth-Geräten.
DIYables Bluetooth App - Home Screen with Scan Button
  • Finden Sie Ihr Gerät in den Suchergebnissen und tippen Sie darauf, um sich zu verbinden:
    • Für Classic Bluetooth: tippen Sie auf "ESP32_Rotator"
    • Für BLE: tippen Sie auf "ESP32BLE_Rotator"
  • Nach der Verbindung geht die App automatisch zum Startbildschirm zurück. Wählen Sie die Rotator App aus dem App-Menü.
DIYables Bluetooth App - Home Screen with Rotator App

Hinweis: Sie können auf das Einstellungssymbol auf dem Startbildschirm tippen, um Apps auf dem Startbildschirm ein-/auszublenden. Weitere Details finden Sie im DIYables Bluetooth App Benutzerhandbuch.

  • Ziehen Sie den Rotator-Regler, um den Winkel zu ändern
DIYables Bluetooth App - Rotator Screen

Schauen Sie nun zurück auf den Serial Monitor in der Arduino IDE. Sie werden sehen:

COM6
Send
Bluetooth connected! Rotator angle: 45.0° Rotator angle: 90.0° Rotator angle: 135.0° Rotator angle: 180.0°
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Drehen Sie den Regler in der App und beobachten Sie die Echtzeit-Winkelwerte im Serial Monitor

Kreative Anpassung - Passen Sie den Code an Ihr Projekt an

Rotator-Modus konfigurieren

Kontinuierlichen oder begrenzten Modus einstellen:

// Option 1: Kontinuierlicher Modus (0-360°, wiederkehrend) DIYables_BluetoothRotator bluetoothRotator(ROTATOR_MODE_CONTINUOUS); // Option 2: Begrenzter Modus (eingeschränkter Winkelbereich) DIYables_BluetoothRotator bluetoothRotator(ROTATOR_MODE_LIMITED, 0, 180); // Modus zur Laufzeit ändern: bluetoothRotator.setRotatorMode(ROTATOR_MODE_LIMITED, 0, 270); // Aktuelle Konfiguration lesen: int mode = bluetoothRotator.getRotatorMode(); float minAngle = bluetoothRotator.getMinAngle(); float maxAngle = bluetoothRotator.getMaxAngle();

Winkeländerungen verarbeiten

Verwenden Sie den onRotatorAngle() Callback, um Winkelwerte zu empfangen:

bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; Serial.print("Rotator angle: "); Serial.print(angle); Serial.println("°"); // TODO: Fügen Sie hier Ihre Steuerungslogik hinzu });

Konfigurationsanfrage von der App verarbeiten

bluetoothRotator.onGetConfig([]() { // Aktuellen Winkel an die App senden bluetoothRotator.send(currentAngle); Serial.println("App requested config - sent current angle"); });

Winkel an die App senden

Sie können die Rotator-Position vom ESP32 aktualisieren:

// Winkelwert senden, um die App-Anzeige zu aktualisieren bluetoothRotator.send(90.0); // Rotator auf 90° setzen // Textnachricht senden bluetoothRotator.send("Calibrated");

Verbindungsereignisse verarbeiten

bluetoothServer.setOnConnected([]() { Serial.println("Bluetooth connected!"); bluetoothRotator.send(currentAngle); // Aktuelle Position senden }); bluetoothServer.setOnDisconnected([]() { Serial.println("Bluetooth disconnected!"); });

Verwendung des Rotators

App-Schnittstellen-Steuerelemente

Die Rotator-Schnittstelle in der DIYables Bluetooth App bietet:

  • Drehbare Scheibe: Berühren und ziehen zum Drehen
  • Winkelanzeige: Zeigt aktuellen Winkelwert an
  • Visueller Indikator: Markiert die aktuelle Rotationsposition

Rotator-Modi

  • ROTATOR_MODE_CONTINUOUS (0): Vollständige 360° Drehung, wiederkehrend
  • ROTATOR_MODE_LIMITED (1): Eingeschränkt auf Min/Max-Winkelbereich

Programmierbeispiele

Servo-Steuerung

#include <ESP32Servo.h> Servo myServo; const int SERVO_PIN = 13; void setup() { myServo.attach(SERVO_PIN); myServo.write(0); // Begrenzter Modus: 0-180° entspricht Servo-Bereich // bluetoothRotator bereits konfiguriert als (ROTATOR_MODE_LIMITED, 0, 180) bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; myServo.write((int)angle); Serial.print("Servo: "); Serial.print((int)angle); Serial.println("°"); }); }

Lautstärke-/Helligkeitsregler

const int PWM_PIN = 16; void setup() { pinMode(PWM_PIN, OUTPUT); // Kontinuierlicher Modus: 0-360° auf 0-255 abgebildet bluetoothRotator.setRotatorMode(ROTATOR_MODE_CONTINUOUS); bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; int pwmValue = map((int)angle, 0, 360, 0, 255); analogWrite(PWM_PIN, pwmValue); int percentage = map((int)angle, 0, 360, 0, 100); Serial.print("Volume: "); Serial.print(percentage); Serial.println("%"); }); }

Kompass-Anzeige

// Kompasskurs vom Sensor lesen und auf Rotator anzeigen float getCompassHeading() { // TODO: Von HMC5883L, QMC5883L oder BMM150 lesen // Kurs in Grad 0-360 zurückgeben return 0.0; } void loop() { bluetoothServer.loop(); static unsigned long lastUpdate = 0; if (millis() - lastUpdate >= 500) { lastUpdate = millis(); float heading = getCompassHeading(); bluetoothRotator.send(heading); // Rotator-Anzeige aktualisieren } delay(10); }

Schrittmotor-Steuerung

#include <AccelStepper.h> AccelStepper stepper(AccelStepper::DRIVER, 16, 17); const int STEPS_PER_REV = 200; void setup() { stepper.setMaxSpeed(1000); stepper.setAcceleration(500); bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; // Winkel in Schrittmotorposition umwandeln long targetSteps = (long)(angle / 360.0 * STEPS_PER_REV); stepper.moveTo(targetSteps); Serial.print("Stepper target: "); Serial.print(targetSteps); Serial.println(" steps"); }); } void loop() { bluetoothServer.loop(); stepper.run(); delay(1); }

Erweiterte Programmiertechniken

Winkel-Einrastung zu Inkrementen

bluetoothRotator.onRotatorAngle([](float angle) { // Auf nächstes 15° Inkrement einrasten float snapped = round(angle / 15.0) * 15.0; currentAngle = snapped; Serial.print("Snapped angle: "); Serial.print(snapped, 0); Serial.println("°"); // App aktualisieren, um eingerasteten Wert zu zeigen bluetoothRotator.send(snapped); });

Zonenbasierte Steuerung

bluetoothRotator.onRotatorAngle([](float angle) { currentAngle = angle; // 360° in Zonen aufteilen if (angle < 90) { Serial.println("Zone: NORTH"); setColor(0, 0, 255); // Blau } else if (angle < 180) { Serial.println("Zone: EAST"); setColor(0, 255, 0); // Grün } else if (angle < 270) { Serial.println("Zone: SOUTH"); setColor(255, 0, 0); // Rot } else { Serial.println("Zone: WEST"); setColor(255, 255, 0); // Gelb } });

BLE vs Classic Bluetooth - Welches wählen?

FunktionBLE (Esp32BLE_Rotator)Classic Bluetooth (Esp32Bluetooth_Rotator)
iOS Unterstützung? Ja? Nein
Android Unterstützung? Ja? Ja
StromverbrauchNiedrigHöher
Reichweite~30-100m~10-100m
DatenrateNiedrigerHöher
Kopplung erforderlichNein (Auto-Verbindung)Ja (Manuelle Kopplung)
Am besten fürBatteriebetrieben, plattformübergreifendHoher Durchsatz, nur Android

Fehlerbehebung

Häufige Probleme

1. Gerät nicht in der App zu finden

  • Stellen Sie sicher, dass der ESP32 eingeschaltet und der Sketch hochgeladen ist
  • Für BLE: Stellen Sie sicher, dass Bluetooth und Standort Ihres Telefons aktiviert sind
  • Für Classic Bluetooth: Koppeln Sie das Gerät zuerst in den Bluetooth-Einstellungen des Telefons
  • Überprüfen Sie, dass das richtige Partitionsschema ausgewählt ist (Huge APP)

2. Rotator reagiert nicht

  • Überprüfen Sie den Bluetooth-Verbindungsstatus in der App
  • Verifizieren Sie die Verbindung im Serial Monitor
  • Versuchen Sie, die Verbindung zu trennen und neu zu verbinden

3. Winkelwerte scheinen falsch

  • Überprüfen Sie die Rotator-Modus-Konfiguration (kontinuierlich vs begrenzt)
  • Verifizieren Sie Min/Max-Winkel-Einstellungen mit getMinAngle() und getMaxAngle()
  • Überprüfen Sie den Serial Monitor für tatsächlich empfangene Winkelwerte

4. Servo zittert bei bestimmten Winkeln

  • Fügen Sie einen kleinen Totzonenenfilter für Winkeländerungen hinzu
  • Verwenden Sie eine separate Stromversorgung für das Servo
  • Fügen Sie einen Kondensator über die Servo-Stromanschlüsse hinzu

5. Verbindung bricht häufig ab

  • Bewegen Sie sich näher zum ESP32 (Entfernung reduzieren)
  • Für BLE: Überprüfen Sie auf Interferenzen von anderen BLE-Geräten
  • Für Classic Bluetooth: Stellen Sie eine stabile Stromversorgung zum ESP32 sicher

6. Sketch zu groß / nicht genug Speicherplatz

  • Gehen Sie in der Arduino IDE zu Tools > Partition Scheme und wählen Sie "Huge APP (3MB No OTA/1MB SPIFFS)" oder "No OTA (Large APP)"
  • Das Standard-Partitionsschema bietet nur ~1,2MB für App-Code, was für Bluetooth-Bibliotheken nicht ausreicht
  • Diese Einstellung gibt ~3MB durch Verzicht auf die OTA (Over-the-Air-Update) Partition

Debug-Tipps

Umfassendes Debugging hinzufügen:

void debugRotatorValue(float angle) { Serial.println("=== Rotator Debug ==="); Serial.println("Angle: " + String(angle, 1) + "°"); Serial.println("Mode: " + String(bluetoothRotator.getRotatorMode() == ROTATOR_MODE_CONTINUOUS ? "Continuous" : "Limited")); Serial.println("Range: " + String(bluetoothRotator.getMinAngle(), 0) + "° - " + String(bluetoothRotator.getMaxAngle(), 0) + "°"); Serial.println("====================="); }

Projektideen

Motor-Steuerung

  • Servo-Positionsregler
  • Schrittmotor-Winkelwähler
  • Motor-Geschwindigkeitsrad
  • Roboterarm-Gelenksteuerung

Anzeigeprojekte

  • Kompasskursanzeige
  • Analoge Uhrzeiger
  • Windrichtungsanzeiger
  • Zifferblatt-Simulator

Audio-Projekte

  • Lautstärkeregler
  • Tonfrequenz-Wähler
  • Equalizer-Bandsteuerung
  • Radio-Tuner-Rad

Beleuchtungsprojekte

  • LED-Ring-Positionssteuerung
  • Farbrad (Farbton-Wähler)
  • Scheinwerfer-Richtungssteuerung
  • Bühnenbeleuchtungswinkel

Integration mit anderen Bluetooth Apps

Kombination mit Bluetooth Slider

Verwenden Sie Rotator für Winkel und Slider für Geschwindigkeit/Intensität:

float speed = 50; bluetoothSlider.onSliderValue([](int slider1, int slider2) { speed = slider1; }); bluetoothRotator.onRotatorAngle([](float angle) { // Winkel (Richtung) mit Geschwindigkeit (Intensität) kombinieren float radians = angle * PI / 180.0; float x = speed * cos(radians); float y = speed * sin(radians); controlMotors(x, y); });

Kombination mit Bluetooth Table

Rotator-Daten in einer strukturierten Tabelle anzeigen:

bluetoothRotator.onRotatorAngle([](float angle) { bluetoothTable.sendValueUpdate("Angle", String(angle, 1) + "°"); bluetoothTable.sendValueUpdate("Quadrant", String((int)(angle / 90) + 1)); bluetoothTable.sendValueUpdate("Radians", String(angle * PI / 180.0, 3)); });

Nächste Schritte

Nach der Beherrschung des Bluetooth Rotator Beispiels, versuchen Sie:

  1. Bluetooth Joystick - Für 2D-Richtungssteuerung
  2. Bluetooth Slider - Für lineare Wertsteuerung
  3. Bluetooth Analog Gauge - Für Messinstrument-ähnliche Feedback-Anzeige
  4. Mehrere Bluetooth Apps - Kombination von Rotator mit anderen Steuerelementen

Support

Für zusätzliche Hilfe:

  • Überprüfen Sie die API-Referenz-Dokumentation
  • Besuchen Sie DIYables Tutorials
  • Arduino Community-Foren

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!