Het WebSlider voorbeeld biedt twee onafhankelijke sliderbedieningen die via een webbrowser toegankelijk zijn. Ontworpen voor het ESP32 educatieplatform met verbeterde analoge mogelijkheden, nauwkeurige besturingsfuncties en ingebouwde educatieve modules voor het leren van PWM en analoge elektronica. Elke slider geeft waarden van 0-255, wat ze perfect maakt voor PWM-sturing, helderheidsaanpassing, motorsnelheidsregeling en elke toepassing die analoge-achtige waardecontroles vereist.
Kenmerken
Dubbele Sliders: Twee onafhankelijke sliderbedieningen (bereik 0-255 elk)
Realtime Waarden: Directe waarde-updates via WebSocket-communicatie
PWM Compatibel: 8-bit waarden (0-255) ideaal voor analogWrite() functies
Visuele Feedback: Realtime waardevertoning voor elke slider
Preset Knoppen: Snelle presets voor veelvoorkomende instellingen
Touch & Muisondersteuning: Werkt op desktop, tablet en mobiele apparaten
Responsief Ontwerp: Past zich aan verschillende schermformaten aan
Waarde Persistentie: Sliders onthouden laatste stand bij pagina-herlaad
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.
Verbind de ESP32-module met uw computer via een USB-kabel.
Start de Arduino IDE op uw computer.
Selecteer het juiste ESP32-bord (bijv. ESP32 Dev Module) en de juiste COM-poort.
Ga naar het Libraries-icoon in de linker balk van de Arduino IDE.
Zoek op "DIYables ESP32 WebApps" en selecteer de DIYables ESP32 WebApps Library van DIYables.
Klik op de Installeren-knop om de bibliotheek te installeren.
U wordt gevraagd om eventuele bijkomende bibliotheekafhankelijkheden te installeren.
Klik op Alles installeren om alle benodigde afhankelijkheden te installeren.
In de Arduino IDE gaat u naar Bestand Voorbeelden DIYables ESP32 WebApps WebSlider voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van de Arduino IDE
/* * DIYables WebApp Library - Web Slider Example * * This example demonstrates the Web Slider feature: * - Two independent sliders (0-255) * - Real-time value monitoring * - Template for hardware control * * Hardware: ESP32 Boards * * Setup: * 1. Update WiFi credentials below * 2. Upload the sketch to your Arduino * 3. Open Serial Monitor to see the IP address * 4. Navigate to http://[IP_ADDRESS]/webslider */#include <DIYables_ESP32_Platform.h>#include <DIYablesWebApps.h>// WiFi credentials - UPDATE THESE WITH YOUR NETWORKconstchar WIFI_SSID[] = "YOUR_WIFI_SSID";constchar WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD";// Create WebApp server and page instancesESP32ServerFactory serverFactory;DIYablesWebAppServerwebAppsServer(serverFactory, 80, 81);DIYablesHomePage homePage;DIYablesWebSliderPage webSliderPage;// Current slider valuesint slider1Value = 64; // Default 25%int slider2Value = 128; // Default 50%voidsetup() {Serial.begin(9600);delay(1000);// TODO: Initialize your hardware pins hereSerial.println("DIYables ESP32 WebApp - Web Slider Example");// Add home and web slider pageswebAppsServer.addApp(&homePage);webAppsServer.addApp(&webSliderPage);// Optional: Add 404 page for better user experiencewebAppsServer.setNotFoundPage(DIYablesNotFoundPage());// Start the WebApp serverif (!webAppsServer.begin(WIFI_SSID, WIFI_PASSWORD)) {while (1) {Serial.println("Failed to start WebApp server!");delay(1000); } }// Set up slider callback for value changes webSliderPage.onSliderValueFromWeb([](int slider1, int slider2) {// Store the received values slider1Value = slider1; slider2Value = slider2;// Print slider values (0-255)Serial.println("Slider 1: " + String(slider1) + ", Slider 2: " + String(slider2));// TODO: Add your control logic here based on slider values// Examples:// - Control PWM: analogWrite(LED_PIN, slider1);// - Control servos: servo.write(map(slider1, 0, 255, 0, 180));// - Control motor speed: analogWrite(MOTOR_PIN, slider2);// - Control brightness: strip.setBrightness(slider1);// - Send values via Serial, I2C, SPI, etc. });// Set up callback for config requests (when client requests current values) webSliderPage.onSliderValueToWeb([]() { webSliderPage.sendToWebSlider(slider1Value, slider2Value);Serial.println("Web client requested values - Sent: Slider1=" + String(slider1Value) + ", Slider2=" + String(slider2Value)); });}voidloop() {// Handle WebApp server communicationswebAppsServer.loop();// TODO: Add your main application code heredelay(10);}
Stel de WiFi-gegevens in in de code door de volgende regels aan te passen:
Klik op de Upload-knop in Arduino IDE om de code naar de ESP32 te uploaden.
Open de Seriële Monitor.
Bekijk het resultaat in de Seriële Monitor. Dit ziet er ongeveer zo uit:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
DIYables WebApp - Web Slider Example
INFO: Added app /
INFO: Added app /web-slider
DIYables WebApp Library
Platform: ESP32
Network connected!
IP address: 192.168.0.2
HTTP server started on port 80
Configuring WebSocket server callbacks...
WebSocket server started on port 81
WebSocket URL: ws://192.168.0.2:81
WebSocket server started on port 81
==========================================
DIYables WebApp Ready!
==========================================
📱 Web Interface: http://192.168.0.2
🔗 WebSocket: ws://192.168.0.2:81
📋 Available Applications:
🏠 Home Page: http://192.168.0.2/
🎚️ Web Slider: http://192.168.0.2/web-slider
==========================================
Ln 11, Col 1
ESP32 Dev Module on COM15
2
Als u niets ziet, start dan de ESP32-module opnieuw op.
Noteer het weergegeven IP-adres en voer dit in de adresbalk van een webbrowser op uw smartphone of pc in.
Bijvoorbeeld: http://192.168.0.2
U ziet dan de homepagina zoals in onderstaande afbeelding:
Klik op de Web Slider-link en u ziet de Web Slider gebruikersinterface zoals hieronder:
U kunt de pagina ook direct openen via het IP-adres gevolgd door /web-slider. Bijvoorbeeld: http://192.168.0.2/web-slider
Probeer de twee sliders te bewegen om analoge waarden (0-255) te regelen en zie de realtime terugkoppeling in de Seriële Monitor.
Creatieve Aanpassingen - Pas de Code aan voor uw Project
Stel standaard sliderwaarden in
Configureer de beginposities van de sliders:
// Huidige sliderwaarden (0-255) int slider1Value = 64; // Standaard 25% (64/255) int slider2Value = 128; // Standaard 50% (128/255)
Hoe de Sliders te Gebruiken
Web Interface Bediening
De sliderinterface biedt:
Slider 1: Eerste controleslider met waardevertoning (0-255)
Slider 2: Tweede controleslider met waardevertoning (0-255)
Waardeweergave: Realtime numerieke waarden voor beide sliders
Preset Knoppen: Snelle toegang tot veelvoorkomende waarden (0%, 25%, 50%, 75%, 100%)
Bedieningswijze van de Sliders
Desktop (Muisbediening)
Klik en Sleep: Klik op de sliderknop en sleep om de waarde aan te passen.
Klikpositie: Klik ergens op de sliderlijn om direct naar die waarde te springen.
Fijne Afstelling: Gebruik kleine muisbewegingen voor nauwkeurige aanpassingen.
Mobiel/Tablet (Touchbediening)
Aanraken en Slepen: Raak de sliderknop aan en sleep naar een nieuwe positie.
Tikpositie: Tik op de sliderbaan om een waarde in te stellen.
Soepel Besturen: Vingerbewegingen zorgen voor vloeiende waardeveranderingen.
Waardebereik
Elke slider levert:
Minimumwaarde: 0 (0% - helemaal uit)
Maximumwaarde: 255 (100% - maximale intensiteit)
Resolutie: 256 discrete stappen (8-bit precisie)
PWM-compatibiliteit: Direct gebruik met de analogWrite()-functie
Programmeervoorbeelden
Basis Slider Handler
voidsetup() { // Instellen callback voor sliderwaarde veranderingen webSliderPage.onSliderValueFromWeb([](int slider1, int slider2) { // Ontvangen waarden opslaan slider1Value = slider1; slider2Value = slider2; // Sliderwaarden (0-255) afdrukken Serial.println("Slider 1: " + String(slider1) + ", Slider 2: " + String(slider2)); // Voeg hier uw stuurlogica toe }); }
LED Helderheidsregeling
// Pin-definities voor PWM-LEDs constint LED1_PIN = 9; // PWM-pin voor eerste LED constint LED2_PIN = 10; // PWM-pin voor tweede LED voidsetup() { // LED-pinnen configureren als uitgang pinMode(LED1_PIN, OUTPUT); pinMode(LED2_PIN, OUTPUT); // Beginhelderheid instellen analogWrite(LED1_PIN, slider1Value); analogWrite(LED2_PIN, slider2Value); webSliderPage.onSliderValueFromWeb([](int slider1, int slider2) { // Waarden opslaan slider1Value = slider1; slider2Value = slider2; // LED-helderheid direct regelen (0-255 PWM) analogWrite(LED1_PIN, slider1); analogWrite(LED2_PIN, slider2); Serial.println("LED1 Helderheid: " + String(slider1) + ", LED2 Helderheid: " + String(slider2)); }); }
U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!