Het WebSlider voorbeeld biedt twee onafhankelijke slider bedieningspanelen die toegankelijk zijn via een webbrowser. Ontworpen voor Arduino Uno R4 WiFi en DIYables STEM V4 IoT educatief platform met verbeterde analoge mogelijkheden, precisiebesturingsfuncties, en ingebouwde educatieve modules voor het leren van PWM en analoge elektronica. Elke slider biedt waarden van 0-255, waardoor ze perfect zijn voor PWM-besturing, helderheidsaanpassing, motorsnelheidsbesturing, en elke toepassing die analoog-achtige besturingswaarden vereist.
Functies
Dual Sliders: Twee onafhankelijke slider bedieningspanelen (0-255 bereik elk)
Realtime Waarden: Directe waarde-updates via WebSocket communicatie
PWM Compatibel: 8-bit waarden (0-255) perfect voor analogWrite() functies
Visuele Feedback: Realtime waarde-weergave voor elke slider
Vooraf Ingestelde Knoppen: Snelle toegang tot veelgebruikte waarden
Touch & Muis Ondersteuning: Werkt op desktop, tablet, en mobiele apparaten
Responsief Ontwerp: Past zich aan aan verschillende schermformaten
Waarde Persistentie: Sliders onthouden laatste positie bij pagina herlaadbeurt
Platform Uitbreidbaar: Momenteel geïmplementeerd voor Arduino Uno R4 WiFi, maar kan worden uitgebreid voor andere hardware platforms. Zie DIYables_WebApps_ESP32
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 het Arduino Uno R4/DIYables STEM V4 IoT board met uw computer via een USB-kabel.
Start de Arduino IDE op uw computer.
Selecteer het juiste Arduino Uno R4 board (bijvoorbeeld Arduino Uno R4 WiFi) en COM-poort.
Navigeer naar het Libraries icoon in de linker balk van de Arduino IDE.
Zoek naar "DIYables WebApps", vind vervolgens de DIYables WebApps bibliotheek door DIYables
Klik op de Install knop om de bibliotheek te installeren.
U wordt gevraagd om enkele andere bibliotheekafhankelijkheden te installeren
Klik op de Install All knop om alle bibliotheekafhankelijkheden te installeren.
In Arduino IDE, ga naar File Examples DIYables WebApps WebSlider voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van 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: Arduino Uno R4 WiFi or DIYables STEM V4 IoT * * 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 <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 instancesUnoR4ServerFactory 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 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);}
Configureer WiFi-inloggegevens in de code door deze regels bij te werken:
Klik op de Upload knop in Arduino IDE om de code te uploaden naar Arduino UNO R4/DIYables STEM V4 IoT
Open de Serial Monitor
Bekijk het resultaat in de Serial Monitor. Het ziet eruit zoals hieronder
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
DIYables WebApp - Web Slider Example
INFO: Added app /
INFO: Added app /web-slider
DIYables WebApp Library
Platform: Arduino Uno R4 WiFi
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
Arduino Uno R4 WiFi on COM15
2
Als u niets ziet, herstart het Arduino board.
Noteer het weergegeven IP-adres en voer dit adres in de adresbalk van een webbrowser op uw smartphone of PC in.
Voorbeeld: http://192.168.0.2
U ziet de homepage zoals in onderstaande afbeelding:
Klik op de Web Slider link, u ziet de Web Slider app's UI zoals hieronder:
Of u kunt ook direct toegang krijgen tot de pagina 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 besturen en bekijk de realtime feedback in de Serial Monitor.
Creatieve Aanpassing - Pas de Code aan uw Project aan
Standaard Slider Waarden Instellen
Configureer initiële slider posities:
// Huidige slider waarden (0-255)int slider1Value = 64; // Standaard 25% (64/255)int slider2Value = 128; // Standaard 50% (128/255)
Hoe de Sliders te Gebruiken
Web Interface Bedieningspanelen
De slider interface biedt:
Slider 1: Eerste bedieningsslider met waarde-weergave (0-255)
Slider 2: Tweede bedieningsslider met waarde-weergave (0-255)
Waarde Weergave: Realtime numerieke waarden voor beide sliders
Voorinstelling Knoppen: Snelle toegang tot veelgebruikte waarden (0%, 25%, 50%, 75%, 100%)
Bedienen van de Sliders
Desktop (Muisbediening)
Klik en Sleep: Klik op slider handgreep en sleep om waarde aan te passen
Klik Positie: Klik ergens op slider baan om naar die waarde te springen
Fijne Besturing: Gebruik kleine muisbewegingen voor precieze aanpassing
Mobiel/Tablet (Touch Bediening)
Aanraken en Slepen: Raak slider handgreep aan en sleep naar nieuwe positie
Tik Positie: Tik op slider baan om waarde in te stellen
Soepele Besturing: Vinger slepen zorgt voor soepele waardeveranderingen
Waardebereiken
Elke slider biedt:
Minimum Waarde: 0 (0% - volledig uit)
Maximum Waarde: 255 (100% - maximale intensiteit)
Resolutie: 256 discrete stappen (8-bit precisie)
PWM Compatibiliteit: Direct gebruik met analogWrite() functie
Programmeervoorbeelden
Basis Slider Handler
voidsetup() {// Stel slider callback in voor waardeveranderingen webSliderPage.onSliderValueFromWeb([](int slider1, int slider2) {// Bewaar de ontvangen waarden slider1Value = slider1; slider2Value = slider2;// Print slider waarden (0-255)Serial.println("Slider 1: " + String(slider1) + ", Slider 2: " + String(slider2));// Voeg hier uw besturingslogica toe });}
LED Helderheidsbesturing
// Pin definities voor PWM LEDsconstint LED1_PIN = 9; // PWM pin voor eerste LEDconstint LED2_PIN = 10; // PWM pin voor tweede LEDvoidsetup() {// Configureer LED pins als uitgangenpinMode(LED1_PIN, OUTPUT);pinMode(LED2_PIN, OUTPUT);// Stel initiële helderheid inanalogWrite(LED1_PIN, slider1Value);analogWrite(LED2_PIN, slider2Value); webSliderPage.onSliderValueFromWeb([](int slider1, int slider2) {// Bewaar waarden slider1Value = slider1; slider2Value = slider2;// Bestuur LED helderheid direct (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!