ESP32 Bluetooth Rotator Voorbeeld - Bedieningsinterface voor draaibare schijf/knop
Overzicht
Het Bluetooth Rotator voorbeeld biedt een draaibare schijf/knopbediening die toegankelijk is via de DIYables Bluetooth STEM-app. Ontworpen voor ESP32-boards met ondersteuning voor zowel BLE (Bluetooth Low Energy) als Classic Bluetooth verbindingen. De rotator stuurt hoekwaarden en ondersteunt continue (0-360°) of beperkte hoekbereik-modi — perfect voor servo-besturing, kompasweergave, volumeknoppen en elke applicatie die rotatie-invoer vereist.
Dit voorbeeld ondersteunt twee Bluetooth-modi:
- ESP32 BLE (Bluetooth Low Energy): Werkt op zowel Android als iOS
- ESP32 Classic Bluetooth: Werkt alleen op Android. iOS ondersteunt geen Classic Bluetooth. Gebruik BLE als u iOS-ondersteuning nodig hebt.

Kenmerken
- Draaibare Knop: Tik en sleep om de schijf op het scherm te draaien
- Continue Modus: Volledige 360° rotatie zonder limieten
- Beperkte Modus: Beperkt hoekbereik (bijv. 0-180° voor servo’s)
- Hoekuitgang: Realtime zwevend-kommagetal van hoekwaarde
- Servo-compatibel: Directe mapping naar servohoeken (0-180°)
- BLE & Classic Bluetooth: Kies de Bluetooth-modus die past bij uw project
- Cross-platform: BLE werkt op Android en iOS; Classic Bluetooth werkt op Android
- Laag verbruik: BLE verbruikt minder stroom dan Classic Bluetooth
Benodigde hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
ESP32 Code
Snelle stappen
Volg deze instructies stap voor stap:
- Als dit uw eerste keer is met de ESP32, raadpleeg dan de tutorial over het opzetten van de omgeving voor ESP32 in de Arduino IDE.
- Verbind het ESP32-board met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste ESP32-board en COM-poort.
- Ga naar het Bibliotheken-icoon in de linkerzijbalk van de Arduino IDE.
- Zoek op "DIYables Bluetooth" en vind de DIYables Bluetooth bibliotheek van DIYables
- Klik op de knop Installeren om de bibliotheek te installeren.

- Er wordt gevraagd om extra afhankelijkheden te installeren
- Klik op de knop Alles installeren om alle benodigde bibliotheken te installeren.

Kies een van de twee Bluetooth-modi hieronder afhankelijk van uw behoeften:
ESP32 Classic Bluetooth-code (werkt alleen met app op Android)
Opmerking: Classic Bluetooth wordt NIET ondersteund op iOS. Gebruik de BLE-code hieronder als u iOS-ondersteuning nodig hebt.
- Open in Arduino IDE Bestand Voorbeelden DIYables Bluetooth Esp32Bluetooth_Rotator, of kopieer de bovenstaande code en plak deze in de editor van de Arduino IDE
- Klik op de knop Uploaden in de Arduino IDE om de code naar de ESP32 te uploaden
- Open de Seriële Monitor
- Bekijk het resultaat in de Seriële Monitor. Het ziet er als volgt uit:
ESP32 BLE-code (werkt met app op Android en iOS)
- Open in Arduino IDE Bestand Voorbeelden DIYables Bluetooth Esp32BLE_Rotator, of kopieer de bovenstaande code en plak deze in de editor van de Arduino IDE
- Klik op de knop Uploaden in de Arduino IDE om de code naar de ESP32 te uploaden
- Open de Seriële Monitor
- Bekijk het resultaat in de Seriële Monitor. Het ziet er als volgt uit:
Mobiele app
- Als u de ESP32 Classic Bluetooth-code gebruikt, moet u de ESP32 eerst koppelen met uw Android-telefoon voordat u de app opent:
- Ga naar de Instellingen > Bluetooth van uw telefoon
- Zorg dat Bluetooth aan staat
- Uw telefoon zoekt naar beschikbare apparaten
- Zoek en tik op "ESP32_Rotator" in de lijst met apparaten
- Bevestig het koppelverzoek (geen pincode vereist)
- Wacht tot er "Gekoppeld" onder de apparaatnaam verschijnt
- Als u de ESP32 BLE-code gebruikt, is koppelen niet nodig. Ga simpelweg door naar de volgende stap.
- Open de DIYables Bluetooth App
- Bij het eerste gebruik vraagt de app om permissies. verleen alstublieft de volgende:
- Nearby Devices permissie (Android 12+) / Bluetooth permissie (iOS) - nodig om te scannen en verbinden met Bluetooth-apparaten
- Locatie permissie (Android 11 en ouder) - nodig voor oudere Android-versies om te kunnen scannen naar BLE-apparaten
- Controleer of Bluetooth is ingeschakeld op uw telefoon
- Tik op het startscherm op de knop Verbind. De app zal zoeken naar BLE en Classic Bluetooth-apparaten.

- Zoek uw apparaat in de lijst en tik om verbinding te maken:
- Voor Classic Bluetooth: tik op "ESP32_Rotator"
- Voor BLE: tik op "ESP32BLE_Rotator"
- Zodra de verbinding is gemaakt, keert de app automatisch terug naar het startscherm. Selecteer de Rotator app in het app-menu.

Opmerking: U kunt op het instellingen-icoon op het startscherm tikken om apps te verbergen/weergeven. Zie voor meer details de DIYables Bluetooth App Gebruikershandleiding.
- Sleep de rotatorknop om de hoek te wijzigen

Kijk nu terug naar de Seriële Monitor in Arduino IDE. U ziet:
- Draai de knop in de app en kijk naar de realtime hoekwaarden in de Seriële Monitor
Creatieve aanpassing - Pas de code aan voor uw project
Rotatormodus configureren
Stel continue of beperkte modus in:
Hoekwijzigingen afhandelen
Gebruik de callback onRotatorAngle() om hoekwaarden te ontvangen:
Configuratieverzoek vanuit app afhandelen
Hoek naar app verzenden
U kunt de rotatorpositie vanuit de ESP32 bijwerken:
Verbindingsgebeurtenissen afhandelen
Hoe gebruikt u de rotator
App-interface bedieningselementen
De rotator-interface in de DIYables Bluetooth App biedt:
- Draaibare schijf: Tik en sleep om te draaien
- Hoekweergave: Toont actuele hoekwaarde
- Visuele indicatie: Markeert de huidige draaipositie
Rotatormodi
- ROTATOR_MODE_CONTINUOUS (0): Volledige 360° rotatie, met doorloop
- ROTATOR_MODE_LIMITED (1): Beperkt tot minimum en maximum hoek
Programmeervoorbeelden
Servo-besturing
Volume-/helderheidsknop
Kompasweergave
Stappenmotorbesturing
Geavanceerde programmeertechnieken
Hoek vastklikken op increments
Zonegebaseerde besturing
BLE vs Classic Bluetooth - Welke kiezen?
| Feature | BLE (Esp32BLE_Rotator) | Classic Bluetooth (Esp32Bluetooth_Rotator) |
|---|---|---|
| iOS Ondersteuning | ? Ja | ? Nee |
| Android Ondersteuning | ? Ja | ? Ja |
| Stroomverbruik | Laag | Hoger |
| Bereik | ~30-100m | ~10-100m |
| Datasnelheid | Lager | Hoger |
| Koppeling Nodig | Nee (automatisch) | Ja (handmatig) |
| Geschikt voor | Batterij-gestuurd, cross-platform | Hoog datadoorvoer, alleen Android |
Problemen oplossen
Veelvoorkomende problemen
1. Kan het apparaat niet vinden in de app
- Controleer of de ESP32 is ingeschakeld en de sketch is geüpload
- Voor BLE: Zorg dat Bluetooth en Locatie zijn ingeschakeld op uw telefoon
- Voor Classic Bluetooth: Koppel het apparaat eerst via de Bluetooth-instellingen van uw telefoon
- Controleer of het juiste partitietype is geselecteerd (Huge APP)
2. Rotator reageert niet
- Controleer bluetoothverbinding in de app
- Verifieer verbinding in Seriële Monitor
- Probeer opnieuw verbinden
3. Hoekwaarden lijken onjuist
- Controleer rotatormodusconfiguratie (continuous vs limited)
- Controleer minimale/maximale hoekinstellingen met getMinAngle() en getMaxAngle()
- Bekijk in Seriële Monitor welke hoekwaarden binnenkomen
4. Servo hapert bij bepaalde hoeken
- Voeg een kleine dode-zonefilter toe om hoekfluctuaties te verminderen
- Gebruik een aparte voeding voor de servo
- Plaats een condensator over servo-voedingspinnen
5. Verbinding valt vaak weg
- Kom dichterbij de ESP32 (verminder afstand)
- Voor BLE: Controleer op storing door andere BLE-apparaten
- Voor Classic Bluetooth: Zorg voor stabiele voeding aan de ESP32
6. Sketch te groot / onvoldoende ruimte
- Ga in Arduino IDE naar Hulpmiddelen > Partition Scheme en kies "Huge APP (3MB No OTA/1MB SPIFFS)" of "No OTA (Large APP)"
- Standaard partitietype biedt ~1,2MB voor app-code, niet genoeg voor Bluetooth-bibliotheken
- Deze instelling geeft ~3MB door de OTA-partitie op te geven
Debugtips
Voeg uitgebreide debugging toe:
Projectideeën
Motorbesturing
- Servo positieknop
- Hoekselector voor stappenmotor
- Snelheidsregelknop motor
- Gewrichtsbesturing robotarm
Display-projecten
- Kompasrichting weergave
- Analoog klokwijzers
- Windrichtingsindicator
- Simulator draaigauge
Audio-projecten
- Volumeregelknop
- Toonfrequentie-selector
- Equalizer bandbesturing
- Radiotunerknop
Verlichtingsprojecten
- Positiebediening LED-ring
- Kleurenschijf (kleurselector)
- Richtingsbediening spotlights
- Bewegingshoek podiumverlichting
Integratie met andere Bluetooth-apps
Combineren met Bluetooth Slider
Gebruik rotator voor hoek en slider voor snelheid/intensiteit:
Combineren met Bluetooth Table
Toon rotator-data in een gestructureerde tabel:
Volgende stappen
Na het beheersen van het Bluetooth Rotator voorbeeld, probeer dan:
- Bluetooth Joystick - Voor 2D richtingsbesturing
- Bluetooth Slider - Voor lineaire waardebesturing
- Bluetooth Analog Gauge - Voor wijzertype feedbackweergave
- Meerdere Bluetooth Apps - Combineren van rotator met andere bedieningselementen
Ondersteuning
Voor extra hulp:
- Raadpleeg de API-referentiedocumentatie
- Bezoek DIYables tutorials
- Arduino community forums