Arduino - Mehrfunktionsschild
Dieses Tutorial zeigt dir, wie du Arduino mit dem Mehrfunktionsschild verwendest. Im Einzelnen werden wir lernen:
- Wie man das Mehrfunktionsschild mit Arduino verbindet.
- Wie man Arduino programmiert, um Zahlen und Text auf dem 4-stelligen 7-Segment-Display anzuzeigen.
- Wie man Arduino programmiert, um Tastendrücke zu erkennen.
- Wie man Arduino programmiert, um LEDs zu steuern (ein, aus, blinken).
- Wie man Arduino programmiert, um den Buzzer zum Piepen zu bringen.
- Wie man Arduino programmiert, um den Potentiometerwert zu lesen.
- Wie man Arduino programmiert, um die Temperatur vom LM35-Sensor zu lesen.

Schaue dir dieses Schritt-für-Schritt-Video-Tutorial an, das alle Beispiele des Mehrfunktionsschilds demonstriert. Beachte, dass das Video Arduino Uno R4 zeigt, funktioniert aber identisch für Arduino Uno R3:
Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das Mehrfunktionsschild
Das Mehrfunktionsschild ist ein All-in-One-Lern- und Prototyping-Schild für Arduino Uno- und Mega-Boards. Es integriert mehrere häufig verwendete Komponenten auf einer einzigen Platine und eliminiert die Notwendigkeit für komplexe Verkabelung.
Das Schild enthält die folgenden Komponenten:
- 4-stelliges 7-Segment-Display: Angesteuert durch ein 74HC595-Schieberegister. Zeigt Zahlen, Text (A–Z) und Sonderzeichen wie das Gradsymbol (°) an.
- 3 Drucktasten (S1, S2, S3): Aktiv LOW mit internen Pullup-Widerständen. Nützlich für Benutzereingaben und Menünavigation.
- 4 LEDs (D1, D2, D3, D4): Aktiv LOW. Können einzeln oder zusammen ein-, aus- oder umgeschaltet oder blinkt werden.
- Buzzer: Aktiv LOW. Kann Pieptöne mit konfigurierbarer Dauer und optionaler Verzögerung erzeugen.
- Potentiometer: Verbunden mit Analogpin A0. Liest einen Wert von 0 bis 1023 (oder Prozentsatz 0–100%).
- LM35 Temperatursensor: Verbunden mit Analogpin A4. Liest die Temperatur in Celsius. Erfordert, dass Jumper J1 entfernt wird.
Für Boards basierend auf dem Arduino Uno Formfaktor (wie Arduino Uno oder Mega) wird das Mehrfunktionsschild direkt auf das Board gesteckt, was es zu einer echten Plug-and-Play-Lösung macht — kein Steckbrett oder Jumper-Kabel erforderlich. Für Boards mit Uno-Formfaktor, aber unterschiedlichen Pin-Namen (wie der DIYables ESP32-S3 Uno) unterstützt die Bibliothek benutzerdefiniertes Pin-Mapping.
Pin-Zuordnung
| Funktion | Arduino-Pin | Funktion | Arduino-Pin |
|---|---|---|---|
| LED D1 | 13 | Taste S1 | A1 |
| LED D2 | 12 | Taste S2 | A2 |
| LED D3 | 11 | Taste S3 | A3 |
| LED D4 | 10 | Potentiometer | A0 |
| Buzzer | 3 | LM35 Temp-Sensor | A4 |
| Display LATCH | 4 | ||
| Display CLOCK | 7 | ||
| Display DATA | 8 |

Schaltplan
Das Verbinden des Arduino mit dem Mehrfunktionsschild ist einfach. Stecke das Mehrfunktionsschild einfach auf den Arduino und stelle sicher, dass die Header-Pins richtig ausgerichtet sind, wie im Bild unten gezeigt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Bibliotheksinstallation
- Verbinde das Arduino-Board mit deinem Computer mit einem USB-Kabel.
- Öffne Arduino IDE, wähle das richtige Board und den Port aus.
- Navigiere zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suche nach "DIYables_MultiFuncShield", dann finde die DIYables_MultiFuncShield-Bibliothek von DIYables.
- Klicke auf die Installieren-Schaltfläche, um die neueste Version der Bibliothek zu installieren.

Hinweis: Diese Bibliothek ist eigenständig und hat keine externen Abhängigkeiten.
Grundstruktur
Jede Skizze, die das Mehrfunktionsschild verwendet, folgt dieser grundlegenden Struktur:
MFS.begin() initialisiert alle Komponenten (Display, Tasten, LEDs, Buzzer). MFS.loop() aktualisiert die Display-Multiplexing, Button-Entprellung, LED-Blinken und Buzzer-Timing. Beide Aufrufe sind erforderlich.
Arduino-Code - 7-Segment-Display
Der folgende Code demonstriert, wie man Ganzzahlen, Dezimalzahlen, Text und Sonderzeichen auf dem 4-stelligen 7-Segment-Display anzeigt.
Schnelle Schritte
- Stecke das Mehrfunktionsschild auf das Arduino-Board.
- Verbinde das Arduino-Board mit deinem Computer mit einem USB-Kabel.
- Öffne Arduino IDE, wähle das richtige Board und den Port aus.
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
Das Display durchläuft alle 3 Sekunden 7 Modi: Ganzzahl, führende Nullen, Dezimalzahl, Text, Text mit Punkt, Gradsymbol und Gedankenstriche.
Display API Zusammenfassung
| Methode | Beschreibung | Beispiel | ||
|---|---|---|---|---|
| print(int) | Ganzzahl anzeigen | MFS.display.print(42) | ||
| print(int, true) | Ganzzahl mit führenden Nullen | MFS.display.print(42, true) → 0042 | ||
| print(float, dp) | Dezimalzahl mit Dezimalstellen | MFS.display.print(3.14, 2) | ||
| print(text) | Text anzeigen (A-Z, 0-9, -, _) | MFS.display.print("HELP") | ||
| setNumber(pos, val) | Einzelne Ziffer setzen (pos 1-4) | MFS.display.setNumber(1, 5) | ||
| setChar(pos, ch) | Zeichen an Position setzen | MFS.display.setChar(2, 'A') | ||
| setChar(pos, SegChars) | Sonderzeichen setzen | MFS.display.setChar(3, SegChars | DEGREE) | |
| setDot(pos) | Punkt an Position hinzufügen | MFS.display.setDot(2) | ||
| clear() | Alle Ziffern und Punkte löschen | MFS.display.clear() | ||
| show() | Manuelle Änderungen anwenden | MFS.display.show() |
Hinweis: Die print()-Methoden rufen show() automatisch auf. Verwende clear(), setNumber(), setChar(), setDot() und dann show() für manuelle Kontrolle.
Verfügbare Sonderzeichen über SegChars: DASH (-), UNDERSCORE (_), C, E, F, DEGREE (°).
Arduino-Code - Tasten
Der folgende Code erkennt Tastendrücke und -loslassungen und gibt die Ereignisse auf dem seriellen Monitor aus.
Schnelle Schritte
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
- Öffne den seriellen Monitor.
- Drücke und lasse die Tasten S1, S2 und S3 auf dem Schild los, um die Ausgabe zu sehen.
Tasten API Zusammenfassung
| Methode | Beschreibung | |
|---|---|---|
| isPressed() | Gibt bei Tastendruck einmal true zurück | |
| isReleased() | Gibt bei Tastenloslassung einmal true zurück | |
| setDebounceTime(ms) | Entprell-Zeit setzen (Standard | 50 ms) |
Tasten haben integrierte Entprellung und verwenden Active LOW Logik mit internen Pullup-Widerständen. Du kannst auf Tasten nach Name (MFS.button1, MFS.button2, MFS.button3) oder nach Index (MFS.button(1) bis MFS.button(3)) zugreifen.
Arduino-Code - LEDs
Der folgende Code schaltet LEDs nacheinander ein und lässt sie dann zusammen blinken.
Schnelle Schritte
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
Die LEDs leuchten nacheinander mit einer Verzögerung von 500 ms auf, dann blinken alle 4 LEDs zusammen.
LED API Zusammenfassung
| Methode | Beschreibung |
|---|---|
| turnON() | LED einschalten |
| turnOFF() | LED ausschalten |
| toggle() | LED-Status umschalten |
| blink(interval) | Blinken mit gleicher Ein-/Auszeit |
| blink(onTime, offTime) | Blinken mit separaten Ein-/Auszeiten |
| isOn() | Gibt true zurück, wenn LED derzeit an ist |
Convenience-Methoden auf MFS:
| Methode | Beschreibung |
|---|---|
| allLedsOn() | Alle 4 LEDs einschalten |
| allLedsOff() | Alle 4 LEDs ausschalten |
| allLedsBlink(interval) | Alle LEDs zusammen blinken |
| allLedsBlink(onTime, offTime) | Alle zusammen mit separaten Ein-/Auszeiten blinken |
LEDs sind aktiv LOW. Zugriff nach Name (MFS.led1 bis MFS.led4) oder nach Index (MFS.led(1) bis MFS.led(4)).
Arduino-Code - Buzzer
Der folgende Code lässt den Buzzer alle 2 Sekunden piepen.
Schnelle Schritte
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
Du wirst alle 2 Sekunden einen kurzen Piepton hören.
Buzzer API Zusammenfassung
| Methode | Beschreibung |
|---|---|
| beep(ms) | Piep für die angegebene Dauer |
| beep(ms, delayMs) | Warte delayMs, dann piep für ms |
| stop() | Buzzer sofort stoppen |
| isBeeping() | Gibt true zurück, wenn Buzzer derzeit an ist |
Arduino-Code - Potentiometer
Der folgende Code liest das Potentiometer und gibt den Wert und den Prozentsatz auf dem seriellen Monitor aus.
Schnelle Schritte
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
- Öffne den seriellen Monitor.
- Drehe den Potentiometerknopf und beobachte die Wertänderung auf dem seriellen Monitor.
Potentiometer API Zusammenfassung
| Methode | Rückgabe | Beschreibung |
|---|---|---|
| readPot() | int | Rohes ADC-Wert (0–1023 auf Uno) |
| readPotPercent() | float | Prozentsatz (0,0 – 100,0) |
Arduino-Code - Temperatursensor (LM35)
Der folgende Code liest den LM35-Temperatursensor und zeigt den Celsius-Wert auf dem Display und seriellen Monitor an.
Wichtig: Du musst Jumper J1 auf dem Schild entfernen, um den LM35-Temperatursensor zu verwenden (Pin A4 wird mit I2C SDA gemeinsam genutzt).
Schnelle Schritte
- Entferne Jumper J1 auf dem Mehrfunktionsschild.
- Kopiere den obigen Code und füge ihn in den Editor der Arduino IDE ein.
- Klicke auf Upload-Schaltfläche in der Arduino IDE, um den Code auf Arduino hochzuladen.
- Öffne den seriellen Monitor.
- Beobachte die Temperaturanzeige auf dem Display und seriellen Monitor.
Die Temperaturanzeige verwendet einen 4-Stichproben-Gleitendurchschnitt für stabile Werte. Der Puffer wird beim ersten Lesen automatisch vorgefüllt, um Cold-Start-Fehler zu vermeiden.
Arduino Mehrfunktionsschild - Vollständige Demo
Das folgende ist ein Schritt-für-Schritt-Video-Tutorial, das alle Beispiele des Mehrfunktionsschilds demonstriert. Beachte, dass das Video Arduino Uno R4 zeigt, aber identisch für Arduino Uno R3 funktioniert:
Plattformunterstützung
Die Bibliothek unterstützt alle Arduino-Plattformen (architectures=*).