ESP32 WebRotator-Beispiel – Interaktives Tutorial zur Rotationssteuerung
Überblick
Das WebRotator-Beispiel erstellt eine interaktive, rotierbare Scheibensteuerungsschnittstelle, die von jedem Webbrowser aus zugänglich ist. Entwickelt für die ESP32-Bildungsplattform mit erweiterten Motorkontrollmöglichkeiten, integrierten Servo- und Schrittmotorsteuerungsfunktionen und nahtlose Integration mit Robotik-Bildungsmodulen. Perfekt geeignet zum Steuern von Servomotoren, Schrittmotoren, Roboterarmen, Antennen oder jedem System, das eine präzise Rotationssteuerung erfordert.

Funktionen
- Interaktive drehbare Scheibe: Touch- und mausgesteuerte Scheibenoberfläche
- Zwei Betriebsmodi: Kontinuierlich (0–360°) und begrenzter Winkelbereich
- Winkelrückmeldung in Echtzeit: Präzise Winkelanzeige und -steuerung
- Visuelle Positionsanzeige: Klarer Positionsmarker der Scheibe mit Farbverlauf-Design
- Touch- und Mausunterstützung: Funktioniert auf Desktop, Tablet und Mobilgeräten
- Automatische Konfiguration: Modus und Bereich einmal im Konstruktor festlegen
- WebSocket-Kommunikation: Sofortige Reaktion ohne Neuladen der Seite
- Professionelle Benutzeroberfläche: Kegelförmiger Farbverlauf mit sanfter Rotation
Erforderliche Hardware
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) |
Installationsanweisungen
Schnelle Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Wenn dies Ihre erste Verwendung des ESP32 ist, siehe das Tutorial zum Einrichten der ESP32-Umgebung in der Arduino-IDE Einrichten der ESP32-Umgebung in der Arduino-IDE.
- Schließen Sie das ESP32-Board mit einem USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das passende ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Gehen Sie zum Libraries-Symbol in der linken Symbolleiste der Arduino-IDE.
- Suchen Sie "DIYables ESP32 WebApps", und finden Sie anschließend die DIYables ESP32 WebApps-Bibliothek von DIYables.
- Klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren.

- Sie werden aufgefordert, weitere Bibliotheksabhängigkeiten zu installieren.
- Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.

- In der Arduino IDE gehen Sie zu Datei Beispiele DIYables ESP32 WebApps WebRotator Beispiel, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
- Konfigurieren Sie die WiFi-Zugangsdaten im Code, indem Sie diese Zeilen aktualisieren:
- Klicken Sie auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf den ESP32 hochzuladen
- Öffnen Sie den Serial Monitor
- Schauen Sie sich das Ergebnis im Serial Monitor an. Es sieht unten so aus
- Wenn Sie nichts sehen, starten Sie das ESP32-Board neu.
- Öffnen Sie einen Webbrowser auf Ihrem PC oder Mobiltelefon.
- Geben Sie die im Serial Monitor angezeigte IP-Adresse in den Webbrowser ein.
- Beispiel: http://192.168.1.100
- Sie sehen die Startseite wie im folgenden Bild:

- Klicken Sie auf den Web Rotator-Link, dann sehen Sie die Benutzeroberfläche der Web Rotator-App wie unten:

- Oder können Sie die Seite auch direkt über die IP-Adresse aufrufen, gefolgt von /web-rotator. Zum Beispiel: http://192.168.1.100/web-rotator
- Sie sehen eine interaktive, rotierbare Scheibe, die Sie ziehen können, um die Drehung zu steuern.
Funktionen der Weboberfläche
Drehbare Scheibensteuerung
- Interaktive Scheibe: Klicken und ziehen, um die Scheibe zu drehen
- Visuelles Feedback: Winkelanzeige in Echtzeit und Positionsanzeige
- Flüssige Drehung: Sanfte Rotation mit professionellem Farbverlauf-Design
- Winkelanzeige: Der aktuelle Winkel wird in Grad angezeigt
- Modusanzeige: Zeigt aktuellen Rotationsmodus und Begrenzungen
Touch- und Mausunterstützung
- Desktopsteuerung: Mausklick und Ziehen
- Mobile-Steuerung: Berührungs- und Wischgesten
- Responsives Design: Für alle Bildschirmgrößen optimiert
- Visuelle Hinweise: Klare Indikatoren für Interaktionsbereiche
Code-Konfiguration
Rotator-Einrichtung
Winkelbefehle empfangen
Betriebsmodi
Kontinuierlicher Modus
- Vollrotation: 0° bis 360° und darüber hinaus, ohne obere Grenze
- Kein Zurücksetzen auf 0°: Winkelwerte können über 360° hinaus ansteigen und werden nicht auf 0° zurückgesetzt
- Anwendungsfälle: Servos mit kontinuierlicher Rotation, Antennen, Drehtische
- Konfiguration: ROTATOR_MODE_CONTINUOUS
Begrenzter Modus
- Benutzerdefinierter Bereich: Definiert minimale und maximale Winkel
- Grenzwerte: Verhindert Rotationen jenseits der festgelegten Grenzen
- Anwendungsfälle: Standard-Servos, Roboterarme, Lenksysteme
- Konfiguration: ROTATOR_MODE_LIMITED, minAngle, maxAngle
Hardware-Integration
Servomotorsteuerung
Hinweis: Das folgende Code-Snippet ist ein Teilbeispiel und muss in Ihren Haupt-ESP32-Sketch integriert werden, damit es korrekt funktioniert.
Schrittmotorsteuerung
Anpassungsoptionen
Winkelbereich
- Mindestwinkel: Setze die niedrigste zulässige Rotation fest
- Maximalwinkel: Setze die höchst zulässige Rotation fest
- Standardposition: Startwinkel beim Systemstart
- Auflösung: Stelle die Präzision der Winkelaktualisierungen ein
Visuelles Erscheinungsbild
Die Weboberfläche passt sich automatisch an Ihre Konfiguration an:
- Bereichanzeige: Zeigt konfigurierte Winkelgrenzen an
- Modusanzeige: Zeigt aktuellen Betriebsmodus an
- Positionsanzeige: Visuelle Anzeige des aktuellen Winkels
- Gradient-Design: Professionelles Erscheinungsbild mit sanften Farben
Häufige Anwendungsfälle
Bildungsprojekte
- Servo-Steuerung lernen: Verständnis von Pulsweitenmodulation (PWM) und Servo-Betrieb
- Robotik-Ausbildung: Armpositionierung, Gelenksteuerung
- Antennenpositionierung: Steuerung einer Richtantenne
- Kamera-Schwenken/Neigen: Fernbedienbare Kamerapositionierung
Praktische Anwendungen
- Heimautomatisierung: Automatisierte Jalousien, Lüftungen, Türen
- Robotik: Roboterarm-Gelenke, Lenkung eines mobilen Roboters
- IoT-Projekte: Fernpositionierungssysteme
- Industrie: Automatisierte Positionierung, Ventilsteuerung
Fehlerbehebung
Rotation funktioniert nicht
- Überprüfen Sie die WiFi-Verbindung und den WebSocket-Status
- Vergewissern Sie sich, dass die Callback-Funktion korrekt eingestellt ist
- Stellen Sie sicher, dass Servo/Motor ordnungsgemäß verbunden ist
- Überprüfen Sie die Stromversorgung der Motoren
Falsche Winkelwerte
- Überprüfen Sie die Winkelzuordnung für Ihre spezifische Hardware
- Überprüfen Sie die Servo-Bibliothek und die Pin-Konfiguration
- Stellen Sie sicher, dass die Skalierung in der Callback-Funktion korrekt ist
- Testen Sie mit der Ausgabe des seriellen Monitors
Verbindungsprobleme
- IP-Adresse im Browser überprüfen
- Firewall-Einstellungen überprüfen
- Stellen Sie sicher, dass das 2,4-GHz-WLAN-Netzwerk verwendet wird (5-GHz wird nicht unterstützt)
- Versuchen Sie, die Browser-Seite zu aktualisieren
Erweiterte Funktionen
Änderungen des Laufzeitmodus
Sie können den Rotator-Modus während des Betriebs ändern:
Positionsrückmeldung
Sende die aktuelle Position an die Weboberfläche zurück:
Hinweis: Häufige Winkelrückmeldungen an die Weboberfläche können zu weniger flüssigen Bewegungen führen. Verwenden Sie diese Funktion nur, wenn Echtzeit-Positionsaktualisierungen erforderlich sind.
Mehrachsensteuerung
Kombinieren Sie mehrere Rotatoren für eine komplexe Positionierung:
Bildungsintegration
STEM-Lernziele
- Motorsteuerung: Verständnis des Betriebs von Servomotoren und Schrittmotoren
- Koordinatensysteme: Winkelmessung und Positionierung
- Webtechnologien: Schnittstellen zur Echtzeitsteuerung
- Programmierung: Callback-Funktionen, Hardwaresteuerung
Unterrichtsaktivitäten
- Servo-Kalibrierung: Lernen Sie den Betrieb von Servos und PWM-Signalen
- Positionsregelung: Üben Sie präzises Positionieren
- Systemintegration: Sensoren in die Motorsteuerung integrieren
- Problemlösung: Hardware- und Softwareprobleme debuggen
Dieses Beispiel bietet eine umfassende Grundlage für Rotationssteuerungssysteme, geeignet sowohl für Bildungs- als auch für praktische Robotik-Anwendungen.