Erstveröffentlichung ·
Von Thierry Stadler
Der Arduino Uno R3 bietet digitale Ein- und Ausgänge, sechs Analogeingänge und Anschlüsse für UART, SPI und I²C. Diese Übersicht erklärt die Pinleiste, die Stromversorgung und die wichtigsten Zusatzfunktionen. Sie gilt für den klassischen Uno R3 mit ATmega328P.

Technische Daten
- Mikrocontroller
- ATmega328P
- Betriebs- und Logikspannung
- 5 V
- Taktfrequenz
- 16 MHz
- Digitale I/O
- 14: D0 bis D13
- PWM-Ausgänge
- 6: D3, D5, D6, D9, D10 und D11
- Analogeingänge
- 6: A0 bis A5; 10-Bit-ADC mit Werten von 0 bis 1023
- Echte Analogausgänge
- Kein DAC; analogWrite() verwendet PWM an den PWM-Pins
- Flash / SRAM / EEPROM
- 32 kB / 2 kB / 1 kB; 0,5 kB Flash für den Bootloader
- USB-Anschluss
- USB Typ B für Programmierung und 5-V-Versorgung
- Externe Versorgung
- Empfohlen: 7–12 V DC über die Hohlsteckerbuchse oder VIN
- Strom pro I/O-Pin
- 20 mA laut Arduino-Boardspezifikation; zusätzliche Gesamt- und Portgrenzen beachten
- 3,3-V-Ausgang
- Maximal 50 mA
Anschlüsse und Pinbelegung
| Board-Pin | ATmega328P / Signal | Funktion |
|---|---|---|
| D0 | PD0 / RX | Digitaler I/O; UART-Empfang |
| D1 | PD1 / TX | Digitaler I/O; UART-Senden |
| D2 | PD2 / INT0 | Digitaler I/O; externer Interrupt |
| D3 | PD3 / INT1 | Digitaler I/O; PWM; externer Interrupt |
| D4 | PD4 | Digitaler I/O |
| D5 | PD5 | Digitaler I/O; PWM |
| D6 | PD6 | Digitaler I/O; PWM |
| D7 | PD7 | Digitaler I/O |
| D8 | PB0 | Digitaler I/O |
| D9 | PB1 | Digitaler I/O; PWM |
| D10 | PB2 / SS | Digitaler I/O; PWM; SPI-Geräteauswahl |
| D11 | PB3 / MOSI / COPI | Digitaler I/O; PWM; SPI-Daten zum Peripheriegerät |
| D12 | PB4 / MISO / CIPO | Digitaler I/O; SPI-Daten vom Peripheriegerät |
| D13 | PB5 / SCK | Digitaler I/O; SPI-Takt; integrierte LED |
| A0 / D14 | PC0 / ADC0 | Analogeingang oder digitaler I/O |
| A1 / D15 | PC1 / ADC1 | Analogeingang oder digitaler I/O |
| A2 / D16 | PC2 / ADC2 | Analogeingang oder digitaler I/O |
| A3 / D17 | PC3 / ADC3 | Analogeingang oder digitaler I/O |
| A4 / D18 | PC4 / ADC4 / SDA | Analogeingang, digitaler I/O oder I²C-Daten |
| A5 / D19 | PC5 / ADC5 / SCL | Analogeingang, digitaler I/O oder I²C-Takt |
| IOREF | 5-V-Referenz für Shields | Zeigt die Betriebsspannung der Board-I/O an |
| AREF | Analogreferenz | Externe Referenz für den ADC bei passender Konfiguration |
| RESET | PC6 / RESET | LOW löst einen Neustart aus |
| 3.3V | 3,3 V | Geregelter Ausgang, maximal 50 mA |
| 5V | 5 V | 5-V-Versorgungsschiene; verfügbare Stromstärke hängt von der Versorgung ab |
| GND | Masse | Gemeinsames Bezugspotenzial |
| VIN | Externe Eingangsspannung | Versorgungseingang vor dem 5-V-Regler; empfohlen 7–12 V |
| SDA | Wie A4 / D18 | Zusätzlicher Anschluss desselben I²C-Datensignals |
| SCL | Wie A5 / D19 | Zusätzlicher Anschluss desselben I²C-Taktsignals |
| NC | Nicht verbunden | Reservierter Anschluss neben IOREF |
| ICSP (ATmega328P) | MISO, 5 V, SCK, MOSI, RESET, GND | Sechspolige Schnittstelle für ISP-Programmierung und SPI |
PWR IN, USB und VIN
Die Hohlsteckerbuchse nimmt ein externes Gleichspannungsnetzteil mit Pluspol innen auf. Alternativ lässt sich der Uno über USB Typ B oder VIN versorgen. VIN liegt vor dem Spannungsregler; bei Versorgung über die Buchse kann dort die Eingangsspannung abzüglich des Spannungsabfalls am Schutzpfad anliegen. VIN ist kein geregelter 12-V-Ausgang. Eine Einspeisung über 5V oder 3.3V umgeht den Regler und wird von Arduino nicht empfohlen.
Reset, IOREF und AREF
Der Reset-Taster startet das Programm neu. Dasselbe bewirkt ein LOW-Pegel am RESET-Pin. IOREF informiert kompatible Shields über den I/O-Spannungspegel. AREF dient einer externen Analogreferenz; vor dem Anlegen einer externen Referenz muss die Analogreferenz-Konfiguration dazu passen.
Analogeingänge A0 bis A5
analogRead() misst eine Spannung mit 10 Bit Auflösung und liefert Werte von 0 bis 1023. Standardmässig bezieht sich die Messung auf die 5-V-Versorgung. A0 bis A5 können auch als digitale Pins D14 bis D19 verwendet werden. Sie sind am Uno R3 keine PWM-Ausgänge und liefern keine echte analoge Ausgangsspannung.
Digitale I/O und PWM
D0 bis D13 lesen oder setzen digitale Pegel. Hardware-PWM steht auf D3, D5, D6, D9, D10 und D11 bereit. analogWrite() verwendet dort Werte von 0 bis 255 für das Tastverhältnis. Das Signal schaltet weiterhin zwischen LOW und HIGH; damit lässt sich beispielsweise eine LED mit Vorwiderstand dimmen.
SPI: SCK, MISO, MOSI und SS
SPI nutzt D13 für den Takt, D12 für MISO und D11 für MOSI. D10 ist der Hardware-SS-Anschluss. Die Daten- und Taktleitungen liegen ebenfalls am ICSP-Header des ATmega328P. Mehrere Geräte teilen sich diese Leitungen und erhalten jeweils eine eigene Chip-Select-Leitung.
I²C: SDA und SCL
I²C verbindet adressierte Geräte über eine gemeinsame Daten- und Taktleitung. SDA liegt auf A4 / D18, SCL auf A5 / D19. Die zusätzlich mit SDA und SCL beschrifteten R3-Anschlüsse führen dieselben Signale und bilden keinen zweiten I²C-Bus.
UART: TX und RX
D0 ist RX für den Empfang, D1 ist TX zum Senden. Beide Leitungen werden auch für die serielle USB-Verbindung beim Programmieren verwendet. Angeschlossene Geräte können deshalb einen Upload stören. Die Pins führen 5-V-Logik und sind kein direkter RS-232-Anschluss.
Häufige Anschlussfragen
Kann analogWrite() eine echte analoge Spannung ausgeben?
Beim Uno R3 erzeugt analogWrite() an D3, D5, D6, D9, D10 und D11 ein PWM-Signal. Ein Wert von 128 entspricht ungefähr halbem Tastverhältnis, nicht einer konstanten Ausgangsspannung von 2,5 V. Zum Dimmen einer LED mit Vorwiderstand ist das geeignet. Für eine echte analoge Spannung ist zusätzliche Hardware nötig; einen DAC besitzt der Uno R3 nicht.
Sind A4/A5 und die SDA/SCL-Pins zwei getrennte Busse?
Nein. Beim Uno R3 sind A4 und SDA elektrisch dasselbe Signal, ebenso A5 und SCL. Die zusätzlichen Anschlüsse erleichtern die Verbindung mit Shields. Wenn du I²C verwendest, kannst du diese Pins nicht gleichzeitig unabhängig als Analogeingänge verwenden. Mehrere I²C-Geräte teilen sich den Bus und müssen über ihre Adressen unterscheidbar sein.
Warum funktioniert der Upload mit angeschlossenem Modul nicht?
D0/RX und D1/TX werden auch von der seriellen Verbindung zum Computer verwendet. Ein Modul an diesen Pins kann die Übertragung stören. Trenne seine Signalleitungen bei ausgeschaltetem Board und versuche den Upload erneut. Bleibt das Problem, prüfe auch USB-Datenkabel, ausgewählten Port und Board-Einstellung. Nicht jeder Upload-Fehler wird durch die Pinbelegung verursacht.