ESP32 WebDigitalPins-Beispiel – Tutorial zur Steuerung digitaler Pins

Übersicht

Das WebDigitalPins-Beispiel bietet eine webbasierte Schnittstelle zur Steuerung und Überwachung aller digitalen Pins deines Arduino. Für ESP32 konzipierte Bildungsplattform mit erweiterten GPIO-Funktionen, erweiterten Pin-Konfigurationen und integrierten Lernfunktionen zum Erlernen digitaler Elektronik. Du kannst Pins ein- und ausschalten, ihre Zustände in Echtzeit überwachen und über eine intuitive Weboberfläche Massenoperationen durchführen.

Arduino WebDigitalPins Beispiel - Tutorial zur Digitalpin-Steuerungsschnittstelle

Funktionen

  • Individuelle Pin-Steuerung: Steuern Sie jeden digitalen Pin (0–13) separat.
  • Status in Echtzeit: Überwachen Sie Pin-Zustände mit visuellen Indikatoren.
  • Massenoperationen: Steuern Sie alle Pins gleichzeitig (Alle AN, Alle AUS, Alle umschalten).
  • Pin-Konfiguration: Pins als Eingänge oder Ausgänge über die Weboberfläche festlegen.
  • Visuelles Feedback: Farbcodierte Schaltflächen zeigen Pin-Zustände (grün=AN, rot=AUS).
  • Responsives Design: Funktioniert auf Desktop-, Tablet- und Mobilgeräten.
  • WebSocket-Kommunikation: Sofortige Updates ohne Seitenaktualisierung.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Installationsanleitung

Schnelle Schritte

Folge diesen Anweisungen Schritt für Schritt:

  • Falls Sie den ESP32 zum ersten Mal verwenden, sehen Sie sich das Tutorial Einrichtung der ESP32-Umgebung in der Arduino IDE an.
  • Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino-IDE auf Ihrem Computer.
  • Wählen Sie das passende ESP32-Board (z. B. ESP32-Dev-Modul) und den COM-Port aus.
  • Navigieren Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie "DIYables ESP32 WebApps", und finden Sie dann die DIYables ESP32 WebApps-Bibliothek von DIYables.
  • Klicken Sie auf die Install-Schaltfläche, um die Bibliothek zu installieren.
DIYables ESP32 WebApps-Bibliothek
  • Sie werden aufgefordert, weitere Bibliotheksabhängigkeiten zu installieren.
  • Klicken Sie auf die Alle installieren-Schaltfläche, um alle Bibliotheksabhängigkeiten zu installieren.
DIYables ESP32 WebApps-Abhängigkeit
  • In der Arduino-IDE gehen Sie zu Datei Beispiele DIYables ESP32 WebApps WebDigitalPins Beispiel, oder kopieren Sie den obigen Code und fügen ihn in den Editor der Arduino-IDE ein
/* * DIYables WebApp Library - Web Digital Pins Example * * This example demonstrates the Web Digital Pins feature with automatic command handling: * - Control output pins 0-13 via web interface * - Monitor input pins 0-13 in real-time * - Individual pin ON/OFF control for outputs * - Real-time pin status feedback for inputs * - Bulk operations (All ON, All OFF, Toggle All) for outputs * * 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]/webdigitalpins */ #include <DIYables_ESP32_Platform.h> #include <DIYablesWebApps.h> // WiFi credentials - UPDATE THESE WITH YOUR NETWORK const char WIFI_SSID[] = "YOUR_WIFI_SSID"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD"; // Create WebApp server and page instances using platform abstraction ESP32ServerFactory serverFactory; DIYablesWebAppServer webAppsServer(serverFactory, 80, 81); DIYablesHomePage homePage; DIYablesWebDigitalPinsPage webDigitalPinsPage; // Array to store the state of each digital pin (0-13). Index corresponds to pin number. int pinStates[16] = { 0 }; // Initialize all states to LOW (0) void setup() { Serial.begin(9600); delay(1000); Serial.println("DIYables ESP32 WebApp - Web Digital Pins Example"); // Add home and digital pins pages webAppsServer.addApp(&homePage); webAppsServer.addApp(&webDigitalPinsPage); // Optional: Add 404 page for better user experience webAppsServer.setNotFoundPage(DIYablesNotFoundPage()); // Pin Configuration Examples: // Method 1: Enable specific pins individually for output control webDigitalPinsPage.enablePin(0, WEB_PIN_OUTPUT); // Enable pin 0 (TX - use with caution) webDigitalPinsPage.enablePin(1, WEB_PIN_OUTPUT); // Enable pin 1 (RX - use with caution) webDigitalPinsPage.enablePin(2, WEB_PIN_OUTPUT); webDigitalPinsPage.enablePin(3, WEB_PIN_OUTPUT); webDigitalPinsPage.enablePin(4, WEB_PIN_OUTPUT); //webDigitalPinsPage.enablePin(5, WEB_PIN_OUTPUT); // Comment/uncomment to disable/enable //webDigitalPinsPage.enablePin(6, WEB_PIN_OUTPUT); // Comment/uncomment to disable/enable webDigitalPinsPage.enablePin(13, WEB_PIN_OUTPUT); // Enable pin 13 (built-in LED) // Method 2: Enable pins for input monitoring webDigitalPinsPage.enablePin(8, WEB_PIN_INPUT); webDigitalPinsPage.enablePin(9, WEB_PIN_INPUT); //webDigitalPinsPage.enablePin(10, WEB_PIN_INPUT); // Comment/uncomment to disable/enable //webDigitalPinsPage.enablePin(11, WEB_PIN_INPUT); // Comment/uncomment to disable/enable // Method 3: Enable all pins at once (uncomment to use) // for (int pin = 0; pin <= 13; pin++) { // webDigitalPinsPage.enablePin(pin, WEB_PIN_OUTPUT); // or WEB_PIN_INPUT as needed // } // Method 4: Enable pins in a range using for loop (uncomment to use) // for (int pin = 7; pin <= 11; pin++) { // webDigitalPinsPage.enablePin(pin, WEB_PIN_OUTPUT); // or WEB_PIN_INPUT as needed // } // Initialize enabled pins int outputPins[] = { 0, 1, 2, 3, 4, 13 }; // Note: Pins 0,1 are TX/RX - use with caution for (int i = 0; i < 6; i++) { int pin = outputPins[i]; pinMode(pin, OUTPUT); digitalWrite(pin, LOW); pinStates[pin] = LOW; } int inputPins[] = { 8, 9 }; for (int i = 0; i < 2; i++) { int pin = inputPins[i]; pinMode(pin, INPUT); // Use INPUT_PULLUP if needed pinStates[pin] = digitalRead(pin); } // Start the WebApp server if (!webAppsServer.begin(WIFI_SSID, WIFI_PASSWORD)) { while (1) { Serial.println("Failed to start WebApp server!"); delay(1000); } } // Return the current state to display on Web App webDigitalPinsPage.onPinRead([](int pin) { return pinStates[pin]; // Return the current state of the pin // You can implement custom read logic here if needed }); // Handle the control request from Web App (for output pins) webDigitalPinsPage.onPinWrite([](int pin, int state) { digitalWrite(pin, state); pinStates[pin] = state; // You can implement custom control logic here if needed }); // Handle pin mode change requests (optional) webDigitalPinsPage.onPinModeChange([](int pin, int mode) { if (mode == WEB_PIN_OUTPUT) { pinMode(pin, OUTPUT); digitalWrite(pin, LOW); pinStates[pin] = LOW; } else if (mode == WEB_PIN_INPUT) { pinMode(pin, INPUT); // or INPUT_PULLUP as needed pinStates[pin] = digitalRead(pin); } // You can implement custom mode change logic here if needed }); } void loop() { // Handle WebApp server communications webAppsServer.loop(); // Monitor input pins for real-time updates static unsigned long lastInputCheck = 0; if (millis() - lastInputCheck > 100) { // Check every 100ms lastInputCheck = millis(); // Check input pins for changes and send real-time updates int inputPins[] = { 8, 9 }; for (int i = 0; i < 2; i++) { int pin = inputPins[i]; int currentState = digitalRead(pin); if (currentState != pinStates[pin]) { pinStates[pin] = currentState; // Send real-time update to web clients webDigitalPinsPage.updatePinState(pin, currentState); } } } // Add your main application code here delay(10); }
  • Konfigurieren Sie die WLAN-Zugangsdaten im Code, indem Sie diese Zeilen aktualisieren:
const char WIFI_SSID[] = "YOUR_WIFI_NETWORK"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD";
  • Klicken Sie in der Arduino-IDE auf die Schaltfläche Hochladen, um den Code auf den ESP32 hochzuladen.
  • Öffnen Sie den seriellen Monitor.
  • Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht wie folgt aus.
COM6
Send
WebSocket client connected from: 192.168.0.5 New WebSocket connection established WebSocket message received: SLIDER:GET_VALUES WebSocket client connected from: 192.168.0.5 New WebSocket connection established WebSocket message received: SLIDER:64,128 DIYables WebApp - Web Digital Pins Example INFO: Added app / INFO: Added app /web-digital-pins DEBUG: Enabling pin 0 with mode OUTPUT DEBUG: Enabling pin 1 with mode OUTPUT DEBUG: Enabling pin 2 with mode OUTPUT DEBUG: Enabling pin 3 with mode OUTPUT DEBUG: Enabling pin 4 with mode OUTPUT DEBUG: Enabling pin 13 with mode OUTPUT DEBUG: Enabling pin 8 with mode INPUT DEBUG: Enabling pin 9 with mode INPUT 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/ 📟 Digital Pins: http://192.168.0.2/web-digital-pins ==========================================
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Wenn Sie nichts sehen, starten Sie das ESP32-Board neu.
  • Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adressleiste eines Webbrowsers auf Ihrem Smartphone oder PC ein.
  • Beispiel: http://192.168.0.2
  • Sie sehen die Startseite wie im folgenden Bild:
ESP32 DIYables Web-App-Startseite mit der Web Digital Pins App
  • Klicken Sie auf den Link Web Digital Pins, dann sehen Sie die Benutzeroberfläche der Web Digital Pins-App wie unten dargestellt:
ESP32 DIYables Web-App Web Digitale Pins App
  • Oder Sie können die Seite auch direkt über die IP-Adresse aufrufen, gefolgt von /web-digital-pins. Zum Beispiel: http://192.168.0.2/web-digital-pins
  • Versuchen Sie, die digitalen Pins zu steuern, indem Sie auf die Pin-Schaltflächen klicken, um sie EIN/AUS zu schalten, und beobachten Sie, wie die integrierte LED (Pin 13) auf Ihre Befehle reagiert.

Kreative Anpassung – Passen Sie den Code an Ihr Projekt an

Das Beispiel zeigt verschiedene Möglichkeiten, Pins so zu konfigurieren, dass sie den Anforderungen Ihres kreativen Projekts entsprechen:

2. PIN-Einstellungen konfigurieren

Das Beispiel zeigt verschiedene Möglichkeiten, Pins zu konfigurieren:

Methode 1: Bestimmte Pins aktivieren

// Enable individual pins for output control webDigitalPinsPage.enablePin(2, WEB_PIN_OUTPUT); // Pin 2 as output webDigitalPinsPage.enablePin(3, WEB_PIN_OUTPUT); // Pin 3 as output webDigitalPinsPage.enablePin(4, WEB_PIN_INPUT); // Pin 4 as input

Methode 2: PIN-Bereiche aktivieren

// Enable a range of pins for output control webDigitalPinsPage.enableOutputPins(2, 13); // Pins 2-13 as outputs

Methode 3: Alle Pins aktivieren

// Enable all pins 0-13 for control (use with caution for pins 0,1) webDigitalPinsPage.enableAllPins();

4. Skizze hochladen

  1. Wähle dein ESP32-Board aus: Tools → Board → ESP32
  2. Wähle den richtigen Port aus: Tools → Port → [Dein ESP32-Port]
  3. Klicke auf die Upload-Schaltfläche

5. Die IP-Adresse abrufen

  1. Öffne Werkzeuge → Serienmonitor
  2. Stelle die Baudrate auf 9600 ein
  3. Warte, bis sich der ESP32 mit dem WLAN verbindet
  4. Notiere die angezeigte IP-Adresse (z. B. 192.168.1.100)

Zugriff auf die Schnittstelle der digitalen Pins

Öffnen Sie Ihren Webbrowser und navigieren Sie zu:

http://[ARDUINO_IP_ADDRESS]/digital-pins

Beispiel: http://192.168.1.100/digital-pins

So verwenden Sie es

Pin-Steuerungsschnittstelle

Die Weboberfläche zeigt alle konfigurierten Pins mit:

  • Pin-Nummer: Zeigt, welcher ESP32-Pin (0-13) verwendet wird
  • Aktueller Zustand: AN (grün) oder AUS (rot) Indikator
  • Bedienknopf: Klicken, um den Pinzustand umzuschalten
  • Pin-Typ: Gibt an, ob als Eingabe oder Ausgabe konfiguriert ist

Individuelle Pinsteuerung

  1. Pin einschalten: Klicken Sie auf die Pin-Taste, wenn sie "AUS" anzeigt
  2. Pin ausschalten: Klicken Sie auf die Pin-Taste, wenn sie "EIN" anzeigt
  3. Monitorstatus: Die Pin-Schaltflächen aktualisieren sich automatisch, um den aktuellen Zustand anzuzeigen

Massenoperationen

Verwenden Sie die Tasten zur Mehrfachsteuerung, um mehrere Pins gleichzeitig zu steuern:

Alles AN

  • Alle konfigurierten Ausgangspins auf HIGH setzen
  • Eingangspins bleiben unberührt
  • Nützlich zum Testen aller angeschlossenen Geräte

Alle AUS

  • Schaltet alle konfigurierten Ausgabepins auf LOW
  • Eingangs-Pins bleiben unberührt
  • Sichere Methode, alle Ausgänge zu deaktivieren

Alle auswählen

  • Invertiert den Zustand aller Ausgangspins
  • AN-Pins werden zu AUS-Pins, AUS-Pins werden zu AN-Pins
  • Erzeugt interessante Beleuchtungseffekte

Echtzeitüberwachung

  • Pin-Zustände werden automatisch über WebSocket aktualisiert
  • Änderungen im Code werden in der Weboberfläche angezeigt
  • Mehrere Benutzer können denselben ESP32 gleichzeitig überwachen

Hardware-Verbindungen

Beispiele für Ausgangspins

LED-Steuerung

Arduino Pin → LED (with resistor) → Ground Pin 2 → LED Anode → 220Ω Resistor → Ground Pin 3 → LED Anode → 220Ω Resistor → Ground

Relaissteuerung

Arduino Pin → Relay Input Pin 4 → Relay IN1 Pin 5 → Relay IN2

Motorsteuerung (über Motortreiber)

Arduino Pin → Motor Driver Input Pin 6 → Motor Driver IN1 Pin 7 → Motor Driver IN2 Pin 9 → Motor Driver ENA (PWM)

Eingangs-Pin-Beispiele

Eingabe wechseln

Switch → ESP32 Pin (with pull-up resistor) Switch → Pin 8 → 10kΩ resistor → 5V → GND

Sensor-Eingang

Sensor Signal → ESP32 Pin PIR Sensor → Pin 10 Ultrasonic → Pin 11 (Echo)

Code-Anpassung

Hinzufügen von Pin-Change-Callback-Funktionen

Überwache, wenn Pins ihren Zustand ändern:

void setup() { // Set callback for pin state changes webDigitalPinsPage.onPinChange([](int pin, bool state) { Serial.print("Pin "); Serial.print(pin); Serial.print(" changed to: "); Serial.println(state ? "HIGH" : "LOW"); // Add your custom logic here if (pin == 13 && state == HIGH) { Serial.println("Built-in LED turned ON!"); } }); }

Benutzerdefinierte PIN-Initialisierung

Stelle bestimmte Pins beim Start auf die gewünschten Zustände ein:

void setup() { // Initialize pins to specific states webDigitalPinsPage.setPinState(2, HIGH); // Turn on pin 2 webDigitalPinsPage.setPinState(3, LOW); // Turn off pin 3 // Configure pin modes pinMode(4, INPUT_PULLUP); // Pin 4 as input with pull-up pinMode(5, OUTPUT); // Pin 5 as output }

Eingangs-Pins lesen

Überwachen Sie Eingangs-Pins in Ihrer Hauptschleife:

void loop() { static unsigned long lastRead = 0; if (millis() - lastRead > 1000) { // Read every second // Read input pins and update web interface for (int pin = 0; pin <= 13; pin++) { if (webDigitalPinsPage.isPinEnabled(pin) && webDigitalPinsPage.getPinMode(pin) == WEB_PIN_INPUT) { bool currentState = digitalRead(pin); webDigitalPinsPage.updatePinState(pin, currentState); } } lastRead = millis(); } }

Erweiterte Funktionen

Pin-Gruppen

Erstelle logische Gruppen von Pins für verwandte Funktionen:

// Define pin groups const int LED_PINS[] = {2, 3, 4, 5}; const int RELAY_PINS[] = {6, 7, 8, 9}; void controlLEDGroup(bool state) { for (int pin : LED_PINS) { webDigitalPinsPage.setPinState(pin, state); } } void controlRelayGroup(bool state) { for (int pin : RELAY_PINS) { webDigitalPinsPage.setPinState(pin, state); } }

Mustergenerierung

Lichtmuster oder Sequenzen erstellen:

void runLightPattern() { static unsigned long lastChange = 0; static int currentPin = 2; if (millis() - lastChange > 500) { // Change every 500ms // Turn off all pins for (int pin = 2; pin <= 13; pin++) { webDigitalPinsPage.setPinState(pin, LOW); } // Turn on current pin webDigitalPinsPage.setPinState(currentPin, HIGH); // Move to next pin currentPin++; if (currentPin > 13) currentPin = 2; lastChange = millis(); } }

PWM-Steuerungsintegration

Mit analoger Steuerung für erweiterte Funktionen:

void setup() { // Enable digital pins for on/off control webDigitalPinsPage.enablePin(9, WEB_PIN_OUTPUT); webDigitalPinsPage.enablePin(10, WEB_PIN_OUTPUT); // Set PWM pins for brightness control analogWrite(9, 128); // 50% brightness analogWrite(10, 255); // 100% brightness }

Sicherheitsüberlegungen

PIN-Nutzungsrichtlinien

Pins 0 und 1 (TX/RX)

  • Wird für die serielle Kommunikation verwendet
  • Verwenden Sie es nur, wenn absolut notwendig
  • Kann die Programmierung und das Debugging beeinträchtigen

Pin 13 (eingebaute LED)

  • Sicher zum Testen
  • Integrierte LED liefert visuelles Feedback
  • Gut für erste Tests geeignet

Pins 2–12

  • Sicher für allgemeine digitale Ein-/Ausgabe
  • Empfohlen für die meisten Anwendungen
  • Keine besonderen Überlegungen

Aktuelle Einschränkungen

Maximale Stromstärke pro Pin: 40 mA

  • Verwenden Sie Strombegrenzungswiderstände mit LEDs
  • Verwenden Sie Transistoren oder Relais für Lasten mit hohem Strom
  • Berücksichtigen Sie den Gesamtstromverbrauch

Spannungspegel: 3,3-V-Logik

  • ESP32 verwendet 3,3-V-Logik
  • Stellen Sie sicher, dass die angeschlossenen Geräte kompatibel sind
  • Verwenden Sie 5-V-Pegelwandler, falls erforderlich

Fehlerbehebung

Häufige Probleme

1. PIN reagiert nicht

  • Prüfe, ob der Pin im Code aktiviert ist.
  • Überprüfe die Hardwareverbindungen.
  • Überprüfe auf Kurzschlüsse.
  • Bestätige den Pin-Modus (Eingang/Ausgang).
  1. Weboberfläche aktualisiert sich nicht
  • WebSocket-Verbindungsstatus überprüfen
  • Seite im Browser aktualisieren
  • Netzwerkverbindung überprüfen
  • Serial Monitor auf Fehler prüfen

3. Massenoperationen funktionieren nicht

  • Stellen Sie sicher, dass die Pins als Ausgänge konfiguriert sind
  • Überprüfen Sie Hardwarebeschränkungen
  • Überprüfen Sie die Leistungsfähigkeit der Stromversorgung
  • Überwachen Sie Überstrombedingungen

4. Eingangspins zeigen falsche Zustände

  • Überprüfen Sie geeignete Pull-up- und Pull-down-Widerstände.
  • Überprüfen Sie die Pegel des Eingangssignals.
  • Auf elektromagnetische Störungen prüfen.
  • Bestätigen Sie die Pinbelegung.

Tipps zum Debuggen

Debug-Ausgabe aktivieren:

void debugPinStates() { Serial.println("=== Pin States ==="); for (int pin = 0; pin <= 13; pin++) { if (webDigitalPinsPage.isPinEnabled(pin)) { Serial.print("Pin "); Serial.print(pin); Serial.print(": "); Serial.print(digitalRead(pin) ? "HIGH" : "LOW"); Serial.print(" ("); Serial.print(webDigitalPinsPage.getPinMode(pin) == WEB_PIN_OUTPUT ? "OUTPUT" : "INPUT"); Serial.println(")"); } } Serial.println("=================="); }

Projektideen

Hausautomation

  • Kontrollraumbeleuchtung
  • Jalousien bedienen
  • Heizungs- und Kühlsysteme steuern
  • Sicherheitssystem-Integration

Gartenautomatisierung

  • Bewässerungssystemsteuerung
  • Beleuchtungsmanagement
  • Temperaturregelung
  • Feuchtigkeitsregelung

Steuerung des Workshops

  • Werkzeugleistungssteuerung
  • Beleuchtungssteuerung
  • Lüftungssystem
  • Sicherheitsverriegelungen

Bildungsprojekte

  • Logikgatter-Demonstrationen
  • Ampelsimulation
  • Alarmsystemprojekte
  • Experimente mit Fernbedienungen

Integrationsbeispiele

Bewegungsgesteuerte Beleuchtung

void setup() { webDigitalPinsPage.enablePin(2, WEB_PIN_OUTPUT); // LED webDigitalPinsPage.enablePin(3, WEB_PIN_INPUT); // PIR sensor pinMode(3, INPUT); } void loop() { if (digitalRead(3) == HIGH) { // Motion detected webDigitalPinsPage.setPinState(2, HIGH); // Turn on LED delay(5000); // Keep on for 5 seconds webDigitalPinsPage.setPinState(2, LOW); // Turn off LED } }

Temperaturgesteuerter Lüfter

void loop() { float temperature = getTemperature(); // Your temperature reading function if (temperature > 25.0) { webDigitalPinsPage.setPinState(4, HIGH); // Turn on fan } else { webDigitalPinsPage.setPinState(4, LOW); // Turn off fan } }

Nächste Schritte

Nachdem Sie das WebDigitalPins-Beispiel gemeistert haben, versuchen Sie:

  1. WebSlider - Für PWM- und analoge Steuerung
  2. WebJoystick - Für Richtungssteuerung
  3. WebMonitor - Für Fehlersuche und Überwachung
  4. MultipleWebApps - Alle Funktionen vereinen

Kundensupport

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!