ESP32 WebDigitalPins Voorbeeld - Tutorial Digitale Pin Besturingsinterface
Overzicht
Het WebDigitalPins voorbeeld biedt een webgebaseerde interface om alle digitale pinnen op uw Arduino te besturen en te monitoren. Ontworpen voor het ESP32 educatieve platform met verbeterde GPIO-mogelijkheden, uitgebreide pinconfiguraties en ingebouwde educatieve functies voor het leren van digitale elektronica. U kunt pinnen aan/uit zetten, hun status in real-time monitoren en bulkbewerkingen uitvoeren via een intuïtieve webinterface.

Kenmerken
- Individuele Pinbesturing: Bedien elke digitale pin (0-13) afzonderlijk
- Real-time Status: Monitor pinstatus met visuele indicatoren
- Bulkbewerkingen: Bedien alle pinnen tegelijk (Alles AAN, Alles UIT, Toggle Alles)
- Pinconfiguratie: Stel pinnen in als Input of Output via de webinterface
- Visuele Feedback: Kleurgecodeerde knoppen tonen pinstatus (groen= AAN, rood= UIT)
- Responsief Ontwerp: Werkt op desktop, tablet en mobiele apparaten
- WebSocket Communicatie: Directe updates zonder pagina te vernieuwen
Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Installatie-instructies
Snel aan de slag
Volg deze stappen zorgvuldig:
- Als u voor het eerst met de ESP32 werkt, volg dan de tutorial over het instellen van de omgeving voor ESP32 in de Arduino IDE.
- Verbind de ESP32-bord 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 bijbehorende COM-poort.
- Ga naar het Libraries-icoon in de linker balk van de Arduino IDE.
- Zoek op "DIYables ESP32 WebApps", zoek vervolgens de DIYables ESP32 WebApps Bibliotheek van DIYables.
- Klik op de Installeren-knop om de bibliotheek te installeren.

- U wordt gevraagd om afhankelijkheden voor andere bibliotheken te installeren.
- Klik op de Alles Installeren-knop om alle afhankelijkheden te installeren.

- In de Arduino IDE gaat u naar Bestand Voorbeelden DIYables ESP32 WebApps WebDigitalPins voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van Arduino IDE.
- Configureer WiFi-gegevens in de code door de volgende regels bij te werken:
- 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. Het zou er ongeveer zo uitzien:
- Als u niets ziet, start de ESP32 vernieuwd op.
- 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 startpagina zoals onderstaande afbeelding:

- Klik op de Web Digital Pins link, u ziet dan de UI van de Web Digital Pins app zoals hieronder:

- U kunt ook direct de pagina openen via het IP-adres gevolgd door /web-digital-pins. Bijvoorbeeld: http://192.168.0.2/web-digital-pins
- Probeer de digitale pinnen te bedienen door op de pinnknoppen te klikken om ze AAN/UIT te schakelen en observeer hoe de ingebouwde LED (pin 13) reageert op uw commando’s.
Creatieve Aanpassingen - Pas de Code aan voor uw Project
Dit voorbeeld laat verschillende manieren zien om pinnen te configureren passend bij uw creatieve project:
2. Pininstellingen Configureren
Het voorbeeld laat verschillende configuratiemethodes zien:
Methode 1: Specifieke pinnen activeren
Methode 2: Reeks pinnen activeren
Methode 3: Alle pinnen activeren
4. Upload de Sketch
- Selecteer uw ESP32-bord: Hulpmiddelen → Board → ESP32
- Selecteer de juiste poort: Hulpmiddelen → Poort → [Uw ESP32 Poort]
- Klik op de Upload knop
5. Vind het IP-adres
- Open Hulpmiddelen → Seriële Monitor
- Stel de baudrate in op 9600
- Wacht tot ESP32 verbinding maakt met WiFi
- Noteer het weergegeven IP-adres (bijvoorbeeld 192.168.1.100)
6. Toegang tot de Digitale Pin Interface
Open uw webbrowser en navigeer naar:
Voorbeeld: http://192.168.1.100/digital-pins
Hoe te Gebruiken
Pinbesturingsinterface
De webinterface toont alle geconfigureerde pinnen met:
- Pinnummer: Welke ESP32 pin (0-13)
- Huidige status: AAN (groen) of UIT (rood) indicator
- Bedieningsknop: Klik om de pinstatus te wisselen
- Type pin: Toont of deze als Input of Output is ingesteld
Individuele Pinbesturing
- Zet pin AAN: Klik op de pinnknop als deze "UIT" toont
- Zet pin UIT: Klik op de pinnknop als deze "AAN" toont
- Monitor status: Pin-knoppen worden automatisch bijgewerkt om de huidige status weer te geven
Bulkbewerkingen
Gebruik de knoppen voor bulkbediening om meerdere pinnen tegelijk te bedienen:
Alles AAN
- Zet alle geconfigureerde output-pins op HIGH
- Input-pinnen blijven onaangeroerd
- Handig voor het testen van alle aangesloten apparaten
Alles UIT
- Zet alle geconfigureerde output-pins op LOW
- Input-pinnen blijven onaangeroerd
- Veilige manier om alle outputs uit te schakelen
Toggle Alles
- Draait de status van alle output-pinnen om
- AAN-pin wordt UIT, UIT-pin wordt AAN
- Creëert interessante licht-effecten
Real-time Monitoring
- Pinstatussen worden automatisch bijgewerkt via WebSocket
- Wijzigingen in code worden direct weerspiegeld in de webinterface
- Meerdere gebruikers kunnen simultaan dezelfde ESP32 monitoren
Hardware Aansluitingen
Voorbeelden Output Pinnen
LED-bediening
Relay-bediening
Motorbesturing (via Motor Driver)
Voorbeelden Input Pinnen
Schakelaar Input
Sensor Input
Code Aanpassingen
Toevoegen van Callback bij Pin-wijziging
Monitor wanneer pinstatussen veranderen:
Aangepaste Pin Initialisatie
Zet specifieke pinnen in gewenste staat bij opstarten:
Input Pinnen Uitlezen
Monitor input-pinnen in de main loop:
Geavanceerde Functies
Pingroepen
Maak logische groepen pinnen voor gerelateerde functies:
Patroon Generatie
Maak lichtpatronen of -sequenties:
PWM Besturingsintegratie
Combineer met analoge besturing voor geavanceerde functies:
Veiligheidsoverwegingen
Richtlijnen voor Pin Gebruik
Pinnen 0 & 1 (TX/RX)
- Gebruikt voor Seriële communicatie
- Vermijd gebruik tenzij strikt noodzakelijk
- Kan programmeren en debuggen verstoren
Pin 13 (Ingebouwde LED)
- Veilig te gebruiken voor testen
- Biedt visuele feedback
- Geschikt voor initiële tests
Pinnen 2-12
- Veilig voor algemene digitale I/O
- Aanbevolen voor de meeste toepassingen
- Geen speciale aandacht vereist
Stroombeperkingen
Maximale stroom per pin: 40mA
- Gebruik stroombegrenzende weerstanden bij LED’s
- Gebruik transistors of relais voor hoge stromen
- Let op totale stroomvraag
Spanningsniveaus: 3.3V logica
- ESP32 werkt met 3.3V logica
- Zorg dat aangesloten apparaten compatibel zijn
- Gebruik level shifters voor 5V apparaten indien nodig
Problemen Oplossen
Veelvoorkomende Problemen
1. Pin reageert niet
- Controleer of pin in code is ingeschakeld
- Controleer hardwareverbindingen
- Controleer op kortsluiting
- Controleer pinmodus (INPUT/OUTPUT)
2. Webinterface werkt niet bij
- Controleer WebSocket-verbinding
- Vernieuw de browserpagina
- Controleer netwerkverbinding
- Controleer Seriële Monitor op fouten
3. Bulkbewerkingen werken niet
- Zorg dat pinnen als outputs zijn ingesteld
- Controleer hardwarelimieten
- Verifieer voedingscapaciteit
- Let op overstroomcondities
4. Inputpinnen tonen verkeerde waarden
- Controleer of pull-up/pull-down weerstanden correct zijn
- Controleer ingangs-signaaleigenschappen
- Controleer op elektromagnetische storing
- Verifieer pinconfiguratie
Debug Tips
Activeer debug-uitvoer:
Projectideeën
Home Automatisering
- Bedien verlichting in kamers
- Bedien raamjaloezieën
- Regel verwarmings- en koelsystemen
- Integratie met alarmsystemen
Tuin Automatisering
- Bedien irrigatiesysteem
- Beheer groeilampen
- Temperatuurregeling
- Vochtigheidscontrole
Werkplaats Besturing
- Bedien gereedschapsvoeding
- Verlichtingsmanagement
- Ventilatiesysteem
- Veiligheidsinterlocks
Educatieve Projecten
- Demonstraties van logische poorten
- Verkeerslichtsimulaties
- Alarmprojecten
- Experimenteer met afstandsbediening
Integratievoorbeelden
Bewegingsgestuurde Verlichting
Temperatuurgestuurde Ventilator
Volgende Stappen
Na het beheersen van het WebDigitalPins voorbeeld, probeer:
- WebSlider - Voor PWM en analoge besturing
- WebJoystick - Voor richtingsbesturing
- WebMonitor - Voor debugging en monitoring
- MultipleWebApps - Voor het combineren van alle functies