Arduino WebDigitalPins-Beispiel – Tutorial zur Digitalpin-Steuerungsschnittstelle

WebDigitalPins Beispiel - Setup-Anleitung

Überblick

Das WebDigitalPins-Beispiel bietet eine webbasierte Schnittstelle zur Steuerung und Überwachung aller digitalen Pins Ihres Arduino. Entworfen für Arduino Uno R4 WiFi und DIYables STEM V4 IoT-Bildungsplattform mit erweiterten GPIO-Fähigkeiten, erweiterten Pin-Konfigurationen und integrierten Bildungsfunktionen zum Erlernen digitaler Elektronik. Sie können Pins ein- oder ausschalten, deren Zustände in Echtzeit überwachen und über eine intuitive Weboberfläche Massenoperationen durchführen.

Arduino WebDigitalPins-Beispiel – Tutorial zur Digital-Pin-Steuerungsschnittstelle

Funktionen

  • Individuelle Pin-Steuerung: Steuern Sie jeden digitalen Pin (0–13) separat
  • Status in Echtzeit: Überwachen Sie die Zustände der Pins mit visuellen Indikatoren
  • Sammeloperationen: Alle Pins auf einmal steuern (Alle AN, Alle AUS, Alle umschalten)
  • Pin-Konfiguration: Pins über die Weboberfläche als Eingabe oder Ausgabe festlegen
  • Visuelles Feedback: Farbcodierte Tasten zeigen Pin-Zustände (grün=AN, rot=AUS)
  • Responsives Design: Funktioniert auf Desktop, Tablet und Mobilgeräten
  • WebSocket-Kommunikation: Sofortige Updates ohne Seitenaktualisierung
  • Plattform-Erweiterbarkeit: Derzeit implementiert für Arduino Uno R4 WiFi, aber kann auf andere Hardware-Plattformen erweitert werden. Siehe DIYables_WebApps_ESP32

Erforderliche Hardware

1×Arduino UNO R4 WiFi
1×Alternativ: DIYables STEM V4 IoT
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) Schraubklemmenblock-Shield für Arduino Uno R4
1×(Empfohlen) Breadboard-Shield für Arduino Uno R4
1×(Empfohlen) Gehäuse für Arduino Uno R4
1×(Empfohlen) Stromverteiler für Arduino Uno R4
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V4 IoT Starter-Kit (Arduino 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.

Installationsanweisungen

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/DIYables STEM V4 IoT verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/DIYables STEM V4 IoT in der Arduino IDE.
  • Schließen Sie das Arduino Uno R4/DIYables STEM V4 IoT-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Gehen Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie "DIYables WebApps", und finden Sie anschließend die DIYables WebApps-Bibliothek von DIYables.
  • Klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren.
Arduino UNO R4 DIYables WebApps-Bibliothek
  • Sie werden aufgefordert, weitere Bibliotheksabhängigkeiten zu installieren
  • Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.
Arduino UNO R4 DIYables Web-Apps-Abhängigkeit
  • In der Arduino IDE, gehen Sie zu Datei Beispiele DIYables 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: 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]/webdigitalpins */ #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 UnoR4ServerFactory 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 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 WiFi-Anmeldeinformationen im Code, indem Sie diese Zeilen aktualisieren:
const char WIFI_SSID[] = "YOUR_WIFI_NETWORK"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD";
  • Klicken Sie im Arduino IDE auf die Schaltfläche Hochladen, um Code auf den Arduino UNO R4/DIYables STEM V4 IoT hochzuladen.
  • Öffnen Sie den seriellen Monitor.
  • Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht unten so 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: 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/ 📟 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 Arduino-Board neu.
  • Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adresszeile eines Webbrowsers auf Ihrem Smartphone oder PC ein.
  • Beispiel: http://192.168.0.2
  • Sie sehen die Startseite wie auf dem folgenden Bild:
Arduino UNO R4 DIYables Web-App-Startseite mit Web-Digitalpins-App
  • Klicken Sie auf den Link Web Digital Pins. Dann sehen Sie die Benutzeroberfläche der Web Digital Pins-App, wie unten gezeigt.
Arduino UNO R4 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. Beispiel: http://192.168.0.2/web-digital-pins
  • Versuchen Sie, die digitalen Pins zu steuern, indem Sie auf die Pin-Buttons klicken, um sie ein- bzw. auszuschalten, und beobachten Sie, wie die eingebaute 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: Spezifische 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. Lade die Skizze hoch

  1. Wähle dein Arduino-Board: Werkzeuge → Board → Arduino UNO R4 WiFi
  2. Wähle den richtigen Port: Werkzeuge → Port → [dein Arduino-Port]
  3. Klicke auf die Upload-Schaltfläche

5. Die IP-Adresse abrufen

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

6. 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

Wie man es verwendet

Pin-Steuerungsschnittstelle

Die Weboberfläche zeigt alle konfigurierten Pins mit:

  • Pin-Nummer: Zeigt, welcher Arduino-Pin (0-13) ist
  • Aktueller Zustand: AN (grün) oder AUS (rot) Indikator
  • Steuertaste: Klicken, um den Pin-Zustand umzuschalten
  • Pin-Typ: Zeigt, ob als Eingang oder Ausgang konfiguriert ist

Individuelle Pinsteuerung

  1. Pin einschalten: Klicken Sie auf den Pin-Button, wenn er "AUS" anzeigt
  2. Pin ausschalten: Klicken Sie auf den Pin-Button, wenn er "AN" anzeigt
  3. Zustandsanzeige: Die Pin-Buttons aktualisieren sich automatisch, um den aktuellen Zustand anzuzeigen

Massenoperationen

Verwenden Sie die Massensteuerungstasten, um mehrere Pins gleichzeitig zu steuern:

Alle AN
  • Schaltet alle konfigurierten Ausgangspins auf HIGH-Pegel
  • Eingangspins bleiben unberührt
  • Geeignet zum Testen aller angeschlossenen Geräte
Alle AUS
  • Setzt alle konfigurierten Ausgangspins auf den LOW-Zustand
  • Eingangspins 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 Lichteffekte

Echtzeitüberwachung

  • Pin-Zustände werden automatisch über WebSocket aktualisiert
  • Änderungen am Code spiegeln sich im Webinterface wider
  • Mehrere Benutzer können denselben Arduino gleichzeitig überwachen

Hardwareanschlüsse

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)

PIN-Eingabe-Beispiele

Schalter-Eingabe
Switch → Arduino Pin (with pull-up resistor) Switch → Pin 8 → 10kΩ resistor → 5V → GND
Sensoreingang
Sensor Signal → Arduino Pin PIR Sensor → Pin 10 Ultrasonic → Pin 11 (Echo)

Code-Anpassung

Hinzufügen von Pin-Änderungs-Rückruffunktionen

Überwachen, 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

Bestimmte Pins beim Start auf die gewünschten Zustände setzen:

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 }

Lesen von Eingangs-Pins

Überwache die Eingangspins in deiner 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

Erstellen Sie 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

Kombinieren Sie es mit einer analogen Steuerung für fortgeschrittene 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 }

Sicherheitsaspekte

PIN-Nutzungsrichtlinien

Pins 0 und 1 (TX/RX)

  • Wird für die serielle Kommunikation verwendet.
  • Verwenden Sie es nur, wenn es absolut notwendig ist.
  • 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

Anschlussstifte 2–12

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

Aktuelle Einschränkungen

Maximaler Strom pro Pin: 40 mA

  • Verwende Vorwiderstände für LEDs
  • Verwende Transistoren oder Relais für Lasten mit hohem Strom
  • Berücksichtige den Gesamtstromverbrauch

Spannungspegel: 3,3-V-Logik

  • Arduino Uno R4 WiFi verwendet 3,3-V-Logik
  • Stellen Sie sicher, dass angeschlossene Geräte kompatibel sind
  • Verwenden Sie Pegelwandler für 5-V-Geräte, falls erforderlich

Fehlerbehebung

Häufige Probleme

  1. PIN reagiert nicht
  • Überprüfe, ob der Pin im Code aktiviert ist
  • Überprüfe die Hardwareverbindungen
  • Prüfe auf Kurzschlüsse
  • Bestätige den Pin-Modus (EINGANG/AUSGANG)

2. Weboberfläche aktualisiert sich nicht

  • WebSocket-Verbindungsstatus überprüfen
  • Browser-Seite aktualisieren
  • Netzwerkverbindung überprüfen
  • Seriellen Monitor auf Fehler überprüfen

3. Massenoperationen funktionieren nicht

  • Stellen Sie sicher, dass die Pins als Ausgänge konfiguriert sind
  • Überprüfen Sie Hardware-Beschränkungen
  • Überprüfen Sie die Kapazität der Stromversorgung
  • Überwachen Sie Überstrombedingungen
  1. Eingangs-Pins zeigen falsche Zustände
  • Überprüfen Sie geeignete Pull-up-/Pull-down-Widerstände
  • Überprüfen Sie die Eingangspegel
  • Überprüfen Sie elektromagnetische Störungen
  • Bestätigen Sie die Pinbelegung

Debug-Tipps

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

  • Beleuchtung im Kontrollraum
  • Jalousien bedienen
  • Heizungs- und Klimaanlagen steuern
  • Integration des Sicherheitssystems

Gartenautomation

  • Bewässerungssystemsteuerung
  • Beleuchtungsmanagement
  • Temperaturregelung
  • Luftfeuchtigkeitsregelung

Workshopsteuerung

  • Werkzeugleistungssteuerung
  • Beleuchtungsmanagement
  • Lüftungssystem
  • Sicherheitsverriegelungen

Bildungsprojekte

  • Demonstrationen von Logikgattern
  • 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 Ventilator

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 beherrscht haben, versuchen Sie:

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

Unterstützung

Für weitere Hilfe:

  • Überprüfen Sie die API-Referenzdokumentation
  • Besuchen Sie die Tutorials von DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
  • Foren der Arduino-Community

※ 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!