Arduino Uno R4 - Multi-Funktionsschild
Das Multi-Funktionsschild ist eine großartige Ergänzung für den Arduino Uno R4 — egal ob Sie die Minima- oder WiFi-Variante haben. In dieser Anleitung werden Sie lernen, wie Sie:
- Das Multi-Funktionsschild auf das Arduino Uno R4 Board anschließen.
- Zahlen, Floating-Point-Werte und Text auf der 4-stelligen 7-Segment-Anzeige anzeigen.
- Auf Tastendrücke der drei integrierten Drucktasten reagieren.
- Die vier LEDs steuern — sie ein-, ausschalten oder zum Blinken bringen.
- Kurze oder zeitgesteuerte Pieptöne auf dem Summer auslösen.
- Den analogen Wert vom Potentiometer-Drehregler auslesen.
- Die Umgebungstemperatur mit dem LM35-Sensor messen.
Der Arduino Uno R4 hat die gleiche Uno-Formfaktor wie der klassische Uno R3, sodass das Multi-Funktionsschild direkt aufgesteckt wird, ohne zusätzliche Verdrahtung. Der Uno R4 verfügt über den Renesas RA4M1 (Minima) oder RA4M1 + ESP32-S3 (WiFi) Mikrocontroller und bietet mehr Speicher, höhere Taktgeschwindigkeit und einen 14-Bit-ADC im Vergleich zum ursprünglichen Uno.

Sehen Sie sich dieses Schritt-für-Schritt-Videotutorial an, das alle Beispiele des Multi-Funktionsschilds demonstriert:
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das Multi-Funktionsschild
Das Multi-Funktionsschild kombiniert mehrere Komponenten auf einer einzigen Platine, die direkt auf jeden Uno-kompatiblen Stecker passt. Hier ist, was enthalten ist:
- Eine 4-stellige 7-Segment-Anzeige, gesteuert über ein 74HC595-Schieberegister — kann Ganzzahlen, Dezimalzahlen, Buchstaben A–Z und Symbole wie das Gradzeichen (°) anzeigen.
- Drei Drucktasten (S1, S2, S3), verdrahtet als aktiv LOW mit integrierten Pull-up-Widerständen — bereit zum Erkennen von Drücken und Freigaben mit Entprellung.
- Vier LEDs (D1–D4), ebenfalls aktiv LOW — einzeln steuerbar für an/aus/umschalten/blinken, plus eine Komfortfunktion zum gleichzeitigen Blinken aller.
- Ein aktiv-LOW-Summer — programmierbar für einzelne Pieptöne oder zeitgesteuerte Sequenzen.
- Ein Potentiometer auf Analogpin A0 — gibt rohes ADC-Zählen oder 0–100%-Ablesung zurück.
- Ein LM35-Temperatursensor auf Analogpin A4 — gibt Celsius-Readings aus (Jumper J1 entfernen, um ihn zu aktivieren).
Da der Uno R4 das klassische Uno-Pin-Layout beibehält, ist jedes Pin-Mapping identisch mit dem ursprünglichen Uno:
| Funktion | Pin | Funktion | Pin |
|---|---|---|---|
| LED D1 | 13 | Taste S1 | A1 |
| LED D2 | 12 | Taste S2 | A2 |
| LED D3 | 11 | Taste S3 | A3 |
| LED D4 | 10 | Potentiometer | A0 |
| Summer | 3 | LM35-Temperatursensor | A4 |
| Anzeige LATCH | 4 | ||
| Anzeige CLOCK | 7 | ||
| Anzeige DATA | 8 |

Verdrahtungsschema
Es werden keine Jumper-Kabel oder Steckbretter benötigt — richten Sie einfach das Multi-Funktionsschild an den Uno R4-Steckern aus und drücken Sie es an Ort und Stelle. Das Schild sitzt auf dem Board genau wie beim klassischen Uno R3.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.
So installieren Sie die Bibliothek
- Stecken Sie den Arduino Uno R4 mit einem USB-Typ-C-Kabel in den Computer.
- Überprüfen Sie in der Arduino IDE, dass das richtige Board (Arduino Uno R4 Minima oder WiFi) und der serielle Port ausgewählt sind.
- Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste.
- Geben Sie "DIYables_MultiFuncShield" in das Suchfeld ein und finden Sie die von DIYables veröffentlichte Bibliothek.
- Klicken Sie auf Installieren, um die Bibliothek zu Ihrer IDE hinzuzufügen.

Keine zusätzlichen Abhängigkeiten sind erforderlich — die Bibliothek ist vollständig in sich selbst enthalten.
Minimale Sketch-Struktur
Alle Sketche, die das Multi-Funktionsschild verwenden, teilen dieses Grundgerüst:
Das Aufrufen von MFS.begin() konfiguriert jede Komponente auf dem Schild. Das Aufrufen von MFS.loop() bei jeder Iteration hält die Anzeige-Multiplexing, Tasten-Entprellung, LED-Blink-Timing und Buzzer-Planung reibungslos.
7-Segment-Anzeige Beispiel
Dieses Beispiel zeigt, wie man Zahlen, Floats, Textzeichenketten und Sondersymbole auf der 4-stelligen Anzeige anzeigt.
So führen Sie es aus
- Platzieren Sie das Multi-Funktionsschild auf dem Arduino Uno R4.
- Verbinden Sie das Board mit dem PC mit einem USB-Typ-C-Kabel.
- Öffnen Sie die Arduino IDE und wählen Sie das Board und den Port.
- Fügen Sie den obigen Code in den Editor ein.
- Drücken Sie Hochladen.
Die Anzeige wird sieben verschiedene Präsentationen durchlaufen — eine Ganzzahl, Ganzzahl mit führenden Nullen, Floating-Point-Zahl, Text, Text mit Dezimalpunkt, Gradzeichen und Bindestriche — wechselt alle 3 Sekunden.
Anzeige-Methoden auf einen Blick
| Methode | Was es tut | Verwendungsbeispiel | ||
|---|---|---|---|---|
| print(int) | Zeigt einen Ganzzahlwert an | MFS.display.print(42) | ||
| print(int, true) | Zeigt eine Ganzzahl mit führenden Nullen an | MFS.display.print(42, true) → 0042 | ||
| print(float, dp) | Zeigt eine Floating-Point-Zahl an | MFS.display.print(3.14, 2) | ||
| print(text) | Zeigt eine Zeichenkette an (A-Z, 0-9, -, _) | MFS.display.print("HELP") | ||
| setNumber(pos, val) | Setzt eine Ziffer an eine Position (1–4) | MFS.display.setNumber(1, 5) | ||
| setChar(pos, ch) | Setzt ein Zeichen an eine Position | MFS.display.setChar(2, 'A') | ||
| setChar(pos, SegChars) | Setzt ein Sondersymbol | MFS.display.setChar(3, SegChars | DEGREE) | |
| setDot(pos) | Leuchtet den Punkt an einer Position auf | MFS.display.setDot(2) | ||
| clear() | Löscht die gesamte Anzeige | MFS.display.clear() | ||
| show() | Verschiebt manuelle Änderungen zur Anzeige | MFS.display.show() |
Die print()-Überladungen rufen show() intern auf. Wenn Sie eine Anzeige manuell mit setNumber(), setChar() oder setDot() erstellen, rufen Sie zuerst clear() und am Ende show() auf.
Unterstützte Sondersymbole über SegChars: DASH, UNDERSCORE, C, E, F, DEGREE.
Tasten-Beispiel
Erkennen Sie, wann jede Taste gedrückt oder freigegeben wird, und geben Sie das Ereignis über Serial aus.
So führen Sie es aus
- Fügen Sie den Code in die Arduino IDE ein und drücken Sie Hochladen.
- Öffnen Sie den Seriellen Monitor.
- Versuchen Sie, S1, S2 und S3 zu drücken und freizugeben — jedes Ereignis wird ausgedruckt, wenn es auftritt.
Tasten-Methoden auf einen Blick
| Methode | Was es tut |
|---|---|
| isPressed() | Gibt true in dem Moment zurück, wenn die Taste nach unten geht |
| isReleased() | Gibt true in dem Moment zurück, wenn die Taste wieder nach oben kommt |
| setDebounceTime(ms) | Passt das Entprellungs-Fenster an (50 ms standardmäßig) |
Jede Taste wird automatisch entprellt und verwendet aktiv-LOW-Logik mit einem internen Pull-up. Referenzieren Sie einzelne Tasten mit MFS.button1 / MFS.button2 / MFS.button3, oder verwenden Sie den Index-Accessor MFS.button(1) bis MFS.button(3).
LED-Beispiel
Schalten Sie die vier LEDs nacheinander an, dann lassen Sie sie alle zusammen blinken.
So führen Sie es aus
- Fügen Sie den Code in die Arduino IDE ein und drücken Sie Hochladen.
Beobachten Sie, wie die LEDs nacheinander mit 0,5-Sekunden-Abstand aufleuchten, dann beginnen alle vier, in Eintracht zu blinken.
LED-Methoden auf einen Blick
| Methode | Was es tut |
|---|---|
| turnON() | Schaltet die LED an |
| turnOFF() | Schaltet die LED aus |
| toggle() | Schaltet den aktuellen Zustand um |
| blink(interval) | Blinkt mit gleichem An- und Aus-Zustand |
| blink(onTime, offTime) | Blinkt mit benutzerdefinierten An- und Aus-Zeiten |
| isOn() | Gibt true zurück, wenn die LED leuchtet |
Ganzgruppen-Shortcuts sind auf MFS verfügbar:
| Methode | Was es tut |
|---|---|
| allLedsOn() | Beleuchtet alle vier LEDs |
| allLedsOff() | Schaltet alle vier LEDs aus |
| allLedsBlink(interval) | Lässt alle vier LEDs zusammen blinken |
| allLedsBlink(onTime, offTime) | Lässt alle mit benutzerdefinierten Zeitpunkten blinken |
LEDs arbeiten im aktiv-LOW-Modus. Verwenden Sie MFS.led1 bis MFS.led4 oder die indexierte Form MFS.led(1) bis MFS.led(4).
Summer-Beispiel
Spielen Sie in regelmäßigen Abständen kurze Pieptöne ab.
So führen Sie es aus
- Fügen Sie den Code in die Arduino IDE ein und drücken Sie Hochladen.
Alle 2 Sekunden ertönt ein kurzer Piepton.
Summer-Methoden auf einen Blick
| Methode | Was es tut |
|---|---|
| beep(ms) | Erzeugt einen Piepton mit der angegebenen Millisekunden-Dauer |
| beep(ms, delayMs) | Wartet delayMs, dann Piepton für ms |
| stop() | Stummschaltet den Summer sofort |
| isBeeping() | Gibt true zurück, während der Summer aktiv ist |
Potentiometer-Beispiel
Lesen Sie das Potentiometer und geben Sie den Wert und Prozentsatz über Serial aus.
So führen Sie es aus
- Fügen Sie den Code in die Arduino IDE ein und drücken Sie Hochladen.
- Öffnen Sie den Seriellen Monitor.
- Drehen Sie den Potentiometer-Drehregler und beobachten Sie, wie sich der Wert auf dem Monitor aktualisiert.
Potentiometer-Methoden auf einen Blick
| Methode | Rückgabetyp | Was es tut |
|---|---|---|
| readPot() | int | Rohes ADC-Lesen (0–16383 auf dem 14-Bit-ADC des Uno R4) |
| readPotPercent() | float | Skalierter Prozentsatz von 0,0 bis 100,0 |
Temperatursensor (LM35) Beispiel
Lesen Sie den LM35-Sensor und zeigen Sie die Temperatur in Celsius auf der Anzeige und im Seriellen Monitor an.
Beachten: Jumper J1 muss vor der Verwendung des LM35-Sensors vom Schild entfernt werden, da Pin A4 mit der I2C SDA-Leitung gemeinsam genutzt wird.
So führen Sie es aus
- Ziehen Sie Jumper J1 vom Multi-Funktionsschild ab.
- Fügen Sie den Code in die Arduino IDE ein und drücken Sie Hochladen.
- Öffnen Sie den Seriellen Monitor.
- Die aktuelle Temperatur wird auf der Anzeige angezeigt und im Seriellen Monitor gedruckt.
Temperaturwerte werden mit einem gleitenden 4-Stichproben-Durchschnitt geglättet. Bei der ersten Ablesung wird der Puffer vorausgefüllt, sodass Sie sofort einen stabilen Wert erhalten.
Arduino Uno R4 Multi-Funktionsschild - Vollständige Demo
Das Folgende ist ein Schritt-für-Schritt-Videotutorial, das alle Beispiele des Multi-Funktionsschilds demonstriert:
Plattformunterstützung
Die Bibliothek unterstützt alle Arduino-Plattformen (architectures=*).