ESP32 Bluetooth Slider Exemple - Tutoriel d'interface à double contrôle curseur
Aperçu
L'exemple Bluetooth Slider fournit deux contrôles de curseur indépendants accessibles via l'application DIYables Bluetooth STEM. Conçu pour les cartes ESP32 avec support pour les connexions BLE (Bluetooth Low Energy) et Bluetooth Classique. Chaque curseur offre des valeurs de 0-100, les rendant parfaits pour le contrôle PWM, l'ajustement de luminosité, le contrôle de vitesse moteur, et toute application nécessitant des valeurs de contrôle analogique.
Cet exemple prend en charge deux modes Bluetooth :
- ESP32 BLE (Bluetooth Low Energy) : Fonctionne sur Android et iOS
- ESP32 Bluetooth Classique : Fonctionne sur Android uniquement. iOS ne prend pas en charge le Bluetooth Classique. Utilisez BLE si vous avez besoin du support iOS.

Fonctionnalités
- Double curseurs : Deux contrôles de curseur indépendants (plage 0-100 chacun)
- Valeurs en temps réel : Mises à jour instantanées des valeurs via communication Bluetooth
- Compatible PWM : Valeurs (0-100) facilement mappées aux fonctions analogWrite()
- Retour visuel : Affichage des valeurs en temps réel pour chaque curseur dans l'application
- BLE et Bluetooth Classique : Choisissez le mode Bluetooth qui convient à votre projet
- Multi-plateforme : Le mode BLE fonctionne sur Android et iOS ; le Bluetooth Classique fonctionne sur Android
- Option basse consommation : Le mode BLE consomme moins d'énergie que le Bluetooth Classique
- Plage et pas configurables : Personnalisez la plage et la taille du pas du curseur à l'exécution
Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Code ESP32
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est votre première fois avec l'ESP32, consultez le tutoriel sur Installation du logiciel ESP32..
- Connectez la carte ESP32 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte ESP32 appropriée et le port COM.
- Naviguez vers l'icône Libraries dans la barre gauche de l'Arduino IDE.
- Recherchez "DIYables Bluetooth", puis trouvez la bibliothèque DIYables Bluetooth par DIYables
- Cliquez sur le bouton Install pour installer la bibliothèque.

- Il vous sera demandé d'installer d'autres dépendances de bibliothèque
- Cliquez sur le bouton Install All pour installer toutes les dépendances de bibliothèque.

Choisissez l'un des deux modes Bluetooth ci-dessous selon vos besoins :
Code ESP32 Bluetooth Classique (fonctionne avec l'application sur Android uniquement)
Note : Le Bluetooth Classique n'est PAS pris en charge sur iOS. Si vous avez besoin du support iOS, utilisez le code BLE ci-dessous.
- Dans Arduino IDE, allez à File Examples DIYables Bluetooth Esp32Bluetooth_Slider exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur l'ESP32
- Ouvrez le Serial Monitor
- Consultez le résultat dans le Serial Monitor. Il ressemble à ceci :
Code ESP32 BLE (fonctionne avec l'application sur Android et iOS)
- Dans Arduino IDE, allez à File Examples DIYables Bluetooth Esp32BLE_Slider exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur l'ESP32
- Ouvrez le Serial Monitor
- Consultez le résultat dans le Serial Monitor. Il ressemble à ceci :
Application mobile
- Si vous utilisez le code ESP32 Bluetooth Classique, vous devez jumeler l'ESP32 avec votre téléphone Android avant d'ouvrir l'application :
- Allez dans les Paramètres > Bluetooth de votre téléphone
- Assurez-vous que le Bluetooth est activé
- Votre téléphone recherchera les appareils disponibles
- Trouvez et touchez "ESP32_Slider" dans la liste des appareils disponibles
- Confirmez la demande d'appairage (aucun PIN requis)
- Attendez qu'il affiche "Paired" sous le nom de l'appareil
- Si vous utilisez le code ESP32 BLE, aucun appairage n'est nécessaire. Procédez simplement à l'étape suivante.
- Ouvrez l'application DIYables Bluetooth
- Lors de la première ouverture de l'application, elle demandera des autorisations. Veuillez accorder les suivantes :
- Autorisation Nearby Devices (Android 12+) / Bluetooth (iOS) - requis pour scanner et se connecter aux appareils Bluetooth
- Autorisation Location (Android 11 et versions antérieures uniquement) - requis par les anciennes versions d'Android pour scanner les appareils BLE
- Assurez-vous que le Bluetooth est activé sur votre téléphone
- Sur l'écran d'accueil, touchez le bouton Connect. L'application recherchera les appareils BLE et Bluetooth Classique.

- Trouvez et touchez votre appareil dans les résultats de recherche pour vous connecter :
- Pour Bluetooth Classique : touchez "ESP32_Slider"
- Pour BLE : touchez "ESP32BLE_Slider"
- Une fois connecté, l'application revient automatiquement à l'écran d'accueil. Sélectionnez l'application Slider dans le menu des applications.

Note : Vous pouvez toucher l'icône des paramètres sur l'écran d'accueil pour masquer/afficher les applications sur l'écran d'accueil. Pour plus de détails, consultez le Manuel utilisateur de l'application DIYables Bluetooth.
- Déplacez les deux curseurs pour contrôler les valeurs PWM (0-100)

Maintenant regardez le Serial Monitor dans Arduino IDE. Vous verrez :
- Déplacez les curseurs dans l'application et observez le retour en temps réel dans le Serial Monitor
Personnalisation créative - Adaptez le code à votre projet
Définir les valeurs par défaut des curseurs
Configurez les positions initiales des curseurs :
Personnaliser la plage et le pas des curseurs
Gérer la demande de configuration depuis l'application
Quand l'application se connecte et ouvre l'écran Slider, elle demande la configuration des curseurs à l'ESP32. Vous pouvez utiliser le callback onGetConfig() pour envoyer les valeurs actuelles des curseurs à l'application à ce moment :
Envoyer des valeurs à l'application
Vous pouvez envoyer des valeurs de curseurs de l'ESP32 vers l'application (par exemple, pour mettre à jour les positions des curseurs de l'application) :
Gérer les événements de connexion
Vous pouvez détecter quand l'application se connecte ou se déconnecte de l'ESP32 :
Comment utiliser les curseurs
Contrôles de l'interface de l'application
L'interface des curseurs dans l'application DIYables Bluetooth fournit :
- Curseur 1 : Premier curseur de contrôle avec affichage de valeur
- Curseur 2 : Deuxième curseur de contrôle avec affichage de valeur
- Affichage des valeurs : Valeurs numériques en temps réel pour les deux curseurs
Plages de valeurs
Chaque curseur fournit :
- Plage par défaut : 0 à 100
- Configurable : La plage et le pas peuvent être personnalisés dans le code
- Mappage PWM : Mappage facile vers 0-255 pour analogWrite()
Exemples de programmation
Gestionnaire de curseur de base
Contrôle de luminosité LED (Exemple BLE)
Contrôle de luminosité LED (Bluetooth Classique avec ESP32 LEDC)
Contrôle de position servo
Contrôle de vitesse moteur
Contrôle de couleur LED RGB
Techniques de programmation avancées
Lissage de valeur
Contrôle basé sur des seuils
Système de valeurs prédéfinies
Exemples d'intégration matérielle
Contrôle de bande LED
Contrôle de vitesse de ventilateur
BLE vs Bluetooth classique - Lequel choisir ?
| Fonctionnalité | BLE (Esp32BLE_Slider) | Bluetooth classique (Esp32Bluetooth_Slider) |
|---|---|---|
| Support iOS | ? Oui | ? Non |
| Support Android | ? Oui | ? Oui |
| Consommation d'énergie | Faible | Plus élevée |
| Portée | ~30-100m | ~10-100m |
| Débit de données | Plus faible | Plus élevé |
| Appairage requis | Non (connexion automatique) | Oui (appairage manuel) |
| Idéal pour | Alimenté par batterie, multiplateforme | Haut débit, Android uniquement |
Dépannage
Problèmes courants
1. Impossible de trouver l'appareil dans l'application
- Assurez-vous que l'ESP32 est alimenté et que le sketch est téléversé
- Pour BLE : Assurez-vous que le Bluetooth et la localisation de votre téléphone sont activés
- Pour Bluetooth classique : Appairez d'abord l'appareil dans les paramètres Bluetooth du téléphone
- Vérifiez que le schéma de partition correct est sélectionné (Huge APP)
2. Les curseurs ne répondent pas
- Vérifiez l'état de connexion Bluetooth dans l'application
- Vérifiez la connexion dans le Moniteur Série
- Essayez de déconnecter et reconnecter
3. Les valeurs n'atteignent pas la plage complète
- Vérifiez la configuration de plage du curseur : DIYables_BluetoothSlider(min, max, step)
- Vérifiez la correspondance des valeurs dans la fonction de rappel
- Consultez le Moniteur Série pour les valeurs réelles reçues
4. La connexion se coupe fréquemment
- Rapprochez-vous de l'ESP32 (réduisez la distance)
- Pour BLE : Vérifiez les interférences d'autres appareils BLE
- Pour Bluetooth classique : Assurez une alimentation stable pour l'ESP32
- Consultez le Moniteur Série pour les messages de déconnexion/reconnexion
5. La sortie PWM ne fonctionne pas
- Vérifiez que les broches supportent le PWM sur votre variante ESP32
- Pour ESP32 : Utilisez ledcSetup/ledcAttachPin/ledcWrite pour le PWM matériel
- Vérifiez les connexions matérielles et les exigences de charge
6. Sketch trop volumineux / pas assez d'espace
- Dans Arduino IDE, allez dans Outils > Schéma de partition et sélectionnez "Huge APP (3MB No OTA/1MB SPIFFS)" ou "No OTA (Large APP)"
- Le schéma de partition par défaut ne fournit que ~1,2MB pour le code d'application, ce qui n'est pas suffisant pour les bibliothèques Bluetooth
- Ce paramètre donne ~3MB en sacrifiant la partition OTA (mise à jour par voie hertzienne)
Conseils de débogage
Ajoutez un débogage complet :
Idées de projets
Projets de contrôle d'éclairage
- Contrôle de luminosité de l'éclairage intérieur via Bluetooth
- Interface de mélange de couleurs RGB
- Contrôle de vitesse d'animation de bande LED
- Contrôle d'éclairage de scène sans fil
Projets de contrôle de moteurs
- Vitesse de robot contrôlé par Bluetooth
- Régulation de vitesse de ventilateur sans fil
- Contrôle de débit de pompe
- Vitesse de tapis roulant
Projets audio
- Contrôle du volume sans fil
- Contrôle de tonalité/égaliseur
- Intensité des effets sonores
Domotique
- Contrôle climatique sans fil (intensité chauffage/refroidissement)
- Contrôle de position de store Bluetooth
- Contrôle du débit du système d'irrigation
Intégration avec d'autres applications Bluetooth
Combiner avec le joystick Bluetooth
Utilisez les curseurs pour les limites de vitesse et le joystick pour la direction :
Combiner avec les broches numériques Bluetooth
Utilisez les curseurs pour contrôler le PWM et les broches numériques pour marche/arrêt :
Prochaines étapes
Après avoir maîtrisé l'exemple de curseur Bluetooth, essayez :
- Joystick Bluetooth - Pour le contrôle directionnel 2D
- Broches numériques Bluetooth - Pour un contrôle discret marche/arrêt
- Moniteur Bluetooth - Pour déboguer les valeurs de curseur
- Applications Bluetooth multiples - Combiner les curseurs avec d'autres contrôles
Support
Pour une aide supplémentaire :
- Consultez la documentation de référence API
- Visitez les tutoriels DIYables
- Forums de la communauté Arduino