Beschreibung der Anschlüsse für den Arduino

Lesezeit 6 min.

Arduino-Minicomputer bieten ihren Nutzern eine Vielzahl von Möglichkeiten, und das macht sie ideal für viele verschiedene und interessante Projekte. Dieser Artikel beschreibt die Funktionen der verschiedenen Pins des Arduino UNO R3-Boards, das auf dem 8-Bit-Mikrocontroller AVR ATmega328P basiert.

Arduino - Übersicht über die Anschlüsse

Die meisten Arduino-Modelle, darunter auch das beliebteste, das Arduino UNO R3, sind mit einem 8-Bit-AVR-Mikrocontroller ATmega328P ausgestattet. Die Pfade auf der Platine wurden so verlegt, dass sie Verbindungen zwischen den Mikrocontroller-Leitungen und den Stiftleisten bilden, so dass wir die Arduino-Platine mit externen Geräten verbinden können, z. B. Arduino Shield Module (z.B. Kommunikationsmodule), sowie einzelne Komponenten wie LEDs, Transistoren, Sensoren, Potentiometer und andere. Die Pinbelegung des Arduino UNO R3 umfasst 14 digitale Pins, sechs analoge Pins, sowie Stromanschlüsse, einen USB-Anschluss und einen Anschluss für einen optionalen externen USB-ASP-Programmierer. Die Pinbelegung der Arduino UNO R3 Platine ist in der Abb. dargestellt. 1.

Abb. 1 – Pinbelegung (pinout) auf der Original Arduino UNO R3 Platine

Arduino - Stromversorgung

Wie jedes andere elektronische Gerät benötigt auch das Arduino-Board eine Versorgungsspannung, um zu funktionieren. Die Stromversorgung des Arduino UNO R3 kann auf drei Arten erfolgen.

Die erste Möglichkeit besteht darin, einen externen Netzadapter an eine 5,5-mm-/2,1-mm-Buchse anzuschließen. Die empfohlene Ausgangsspannung liegt zwischen 7 V und 12 V DC. Eine gleichgroße Versorgungsspannung kann auch von der Stromversorgung an die Kontaktplatten oder ein anderes ähnliches Modul geliefert werden, indem sie an den ‘VIN’-Pin angeschlossen wird. Die Stromversorgung kann auch über den integrierten USB-Typ-B-Anschluss erfolgen – unabhängig davon, ob der Arduino an einen Host-Computer angeschlossen ist oder über ein Smartphone-Ladegerät mit Strom versorgt wird.

Die Art der Stromversorgung sollte entsprechend dem Strombedarf der Anwendung, die Sie auf der Grundlage des Arduino-Boards entwickeln, ausgewählt werden. Der ‘VIN’-Pin ist über eine Gleichrichterdiode mit dem Plus der Stromversorgung verbunden, was eine Beschädigung des Moduls bei Anlegen einer Verpolungsspannung verhindert. Das USB-Netzteil hingegen liefert einen maximalen Ausgangsstrom von 500 mA. Die Arduino-Pins können je nach den Spezifikationen der externen Hardware entweder mit 3,3 V oder 5,0 V betrieben werden (‘3V3’- bzw. ‘5V’-Pins).

Unabhängig von der gewählten Stromquelle muss der Stromkreis über GND geschlossen werden – auf der Arduino-Platine gibt es fünf “GND”-Leitungen, die galvanisch miteinander verbunden sind. Andererseits unterbricht der “RESET”-Pin, wenn er mit Masse kurzgeschlossen wird (z. B. mit einem On-Board-Taster), vorübergehend die Stromversorgung und startet den Arduino neu. Auf der Platine befindet sich auch der Pin ‘IOREF’, an den die Referenzspannung angelegt wird, mit der der Mikrocontroller arbeiten soll.

Arduino - analoge Pins

Die analogen Pins des Arduino (‘A0’ – ‘A5’) sind über einen Multiplexer mit dem Eingang des Analog-Digital-Wandlers verbunden, der ein integraler Bestandteil des ATmega328P Mikrocontrollers ist. Ein Analog-Digital-Wandler (ADC) ermöglicht die Umwandlung von Spannungen (Analogsignal) im Bereich von 0V-5V in eine digitale Form, ausgedrückt in Bits. Die Auflösung des ADC im Arduino beträgt 10 Bit. Das bedeutet, dass die Anzahl der Spannungsquantisierungsstufen am Eingang des Wandlers 1024 beträgt (nimmt Werte von 0-1023 an) und die Spannung mit einer Auflösung von 4,89mV gemessen wird.

Wir können die Auflösung auch erweitern, indem wir eine Spannung von weniger als 5 V an den ‘AREF’-Pin anlegen, an den eine Referenzspannung angelegt werden sollte, in Bezug auf die der Wandler die Spannung an den ihm zugeführten Eingängen misst. Die Abtastfrequenz des ADC hingegen liegt bei ca. 9600Hz, was bedeutet, dass wir den DAC-Eingang mit einem Signal füttern können, das einwandfrei in eine digitale Form umgewandelt wird, solange die höchste in seinem Spektrum enthaltene Frequenz die Hälfte der Abtastfrequenz des ADC im Arduino nicht überschreitet, d.h. nicht mehr als 4800Hz. Typische Anwendungen für den ADC a Arduino sind analoge Sensoren, Potentiometer sowie die Steuerung von Sprachbefehlen über Mikrofon (VoIP), die über das Internet an ein anderes Gerät gesendet werden können.

Arduino - digitale Pins

Der Arduino Uno hat 14 digitale Pins (‘D0’ – ‘D13’), die als Eingänge oder Ausgänge konfiguriert werden können, wobei der digitale Pin ‘D13’ mit einer On-Board-LED verbunden ist, mit der die korrekte Funktion des Boards überprüft werden kann, z.B. mit einem kurzen Programmcode, der das zyklische Blinken der LED steuert. Die maximale Strombelastbarkeit eines einzelnen digitalen Pins beträgt 20 mA. Digitale Pins arbeiten mit logischen Zuständen, die einen Bit-Wert darstellen – ein niedriger Zustand steht für ein Null-Bit und ein hoher Zustand für ein Ein-Bit.

Wenn die digitalen Pins am Arduino als Ausgänge eingestellt sind, beträgt die Spannung für den niedrigen Zustand normalerweise 0 V und für den hohen Zustand 5 V. Sind die digitalen Pins dagegen als Eingänge konfiguriert, die Signale von externen Geräten empfangen, werden die einzelnen Logikpegel durch Spannungsbereiche definiert. So interpretiert der Arduino eine Eingangsspannung zwischen 0,0V und 0,8V als einen niedrigen Zustand (‘0’) und zwischen 2,0V und 5,0V als einen hohen Zustand (‘1’). Der Bereich von 0,8V bis 2,0V zeigt dagegen einen verbotenen Zustand an, in dem keine Änderung des logischen Zustands zulässig ist.

Arduino - digitale Pins mit Funktion zur Erzeugung von PWM-Wellenformen

Zusätzlich zu ihrer Standardfunktionalität können die digitalen Pins “D3”, “D5”, “D6″, D9”, “D10” und “D11” zur Erzeugung einer PWM-Wellenform (Rechteckwellenform mit variablem Füllfaktor) verwendet werden. Standardmäßig ist die Frequenz des PWM-Signals im Arduino auf etwa 490 Hz eingestellt. Der Füllfaktor hingegen bestimmt, wie lange während einer einzelnen Periode ein Low-Zustand an einem digitalen Pin im PWM-Modus auftritt und bestimmt den Durchschnittswert des Signals über die gesamte Periode.

Beträgt das Tastverhältnis des am Stift ‘D3’ erzeugten PWM-Signals beispielsweise 40 %, so beträgt die durchschnittliche Spannung eines solchen Signals über die gesamte Periode bei einer Spitzenspannung von 2V. Je höher der Wert des Füllfaktors ist, desto höher ist auch der Durchschnittswert der PWM-Wellenform über die gesamte Periode. Typische Anwendungen für das PWM-Signal in Arduino sind Drehzahlregler für Elektromotoren, Helligkeitsregler für LED-Beleuchtung und Musiksynthesegeräte.

Arduino - Kommunikationspins - UART-Schnittstelle

Um mit externen Geräten zu kommunizieren, verwendet der Arduino mehrere verschiedene Kommunikationsprotokolle. Eines davon ist das Universal Asynchronous Receiver-Transmitter (UART)-Protokoll. Es handelt sich um ein serielles Protokoll, das über die digitalen Pins “D0” (“RX” – Empfänger – empfängt Signal von externem Gerät) und “D1” (“TX” – Sender – sendet Signal an externes Gerät) realisiert wird. Diese Schnittstelle ermöglicht die Kommunikation mit externen Modulen sowie mit dem Computer – sie ist mit dem USB-Anschluss verbunden.

Arduino - Kommunikationspins - SPI-Schnittstelle

Eine weitere Schnittstelle, die der Arduino für die Kommunikation mit externen Geräten verwendet, ist SPI (engl. Serial Peripheral Interface), ein serielles Protokoll, das es einem Mikrocontroller ermöglicht, mit einem oder mehreren Gerätenzu kommunizieren, und auch die synchrone Kommunikation mit einem anderen Mikrocontrollerin einer Master-Slave-Topologie ermöglicht, bei der der Master der Master und der Slave der Slave ist, wobei der Mikrocontroller in der Standardtopologie der Master ist. Der Arduino UNO R3 verfügt über folgende SPI-Schnittstellenpins:

  • SS (engl. Slave Select) – Pin “D10”. – Auswahl der Adresse des Slave-Geräts, mit dem der Mikrocontroller kommunizieren soll;
  • SCK (Serieller Takt) – Stift “D13”. – Taktsignal, das die Datenübertragung in beide Richtungen synchronisiert;
  • MISO (Master Input Slave Output) – Stift “D12” – Leitung, die Informationen von Slaves an den Master sendet
  • MOSI (engl. Master Output Slave Input) – Pin “D11”. – Leitung, die Informationen vom Master an die Slave-Geräte sendet.

Arduino - Kommunikationspins - I2C-Schnittstelle

Der Arduino ist auch mit einem I2C-Busausgestattet, der die Kommunikation zwischen zwei Komponenten über eine einzige Platine ermöglicht. Bei dem UNO R3 Board wird die Kommunikation über I2Cüber zwei Pins realisiert:

  • SDA (Series Data) – Datenübertragungspin auf dem I2C-Bus;
  • SCL (engl. Serial Clock) – Taktsignal-Pin, der die Datenübertragung über den I2C-Busin beide Richtungen synchronisiert.

Jedes externe Gerät, das über den I2C-Busmit dem Arduino kommuniziert, hat seine eigene Adresse (z. B. 0x23 in hexadezimaler Schreibweise), und es können bis zu 255 Geräte gleichzeitig an denselben Bus angeschlossen werden. Beim Arduino UNO R3 befinden sich die Pins ‘SDA’ und ‘SCL’ an den analogen Pins ‘A4’ bzw. ‘A5’.

Arduino - Interrupt-Pins

Bei Mikrocontrollern, wie z. B. dem im Arduino eingebauten ATmega238P, kann eine externe Interrupt-Routine ausgelöst werden. Ein externer Interrupt ist ein Systeminterrupt, der unter dem Einfluss einer Störung außerhalb des Mikrocontrollers automatisch vom Gegenstück oder manuell vom Benutzer ausgelöst wird.

Typische, einfachste Beispiele für Arduino-Anwendungen sind das Zählen der Anzahl von Impulsen und das Lesen der Frequenz aus einer externen rechteckigen Signalquelle oder das Beenden einer Interrupt-Routine, um den normalen Ablauf eines in den Speicher des Mikrocontrollers geladenen Programms fortzusetzen. Beim Arduino UNO R3 sind die Interrupt-Pins “INT0” und “INT1” unter den digitalen Pins “D2” bzw. “D3” verfügbar, und die Aktivierung und Deaktivierung jedes Interrupts kann in der Software individuell für die Art der Änderung des Logikpegels eingestellt werden und umfasst sowohl die Auslösung durch fallende und steigende Flanken als auch die Auslösung durch niedrige und hohe Zustände.

ICSP-Anschluss am Arduino UNO R3

ICSP (In-Circuit Serial Programming) ist ein 6-poliger Anschluss für den Anschluss eines externen USB-ASP-Programmierers. Diese Lösung wurde für Benutzer implementiert, die die “traditionelle” Programmierung in C und Assembler bevorzugen und 5kB zusätzlichen Mikrocontroller-Speicher einsparen wollen, der vom Arduino-Bootloader belegt wird (Bootloader-Software, die für den Betrieb von Programmen erforderlich ist, die mit dem Arduino-Syntax-Overlay in C/C++-Sprachen geschrieben wurden). Die ICSP-Ausgänge haben die folgenden Funktionen:

  • SCK (Serial Clock) – ein Taktsignal, das die Datenübertragung zwischen dem Speicher des Mikrocontrollers und einem externen Computer synchronisiert;
  • MISO (Master Input Slave Output) – eine Leitung, die Informationen von Slave-Geräten an einen Master (externen Computer) sendet.
  • MOSI (Master Output Slave Input) – eine Leitung, die Informationen von einem Master (externer Computer) an Slave-Geräte sendet.
  • VCC – 5V-Hilfsstromleitung;
  • GND – Masse der Hilfsstromversorgung;
  • RESET – Zurücksetzen des Mikrocontrollers.

Arduino - was sollte man sonst noch über Anschlüsse in Arduino wissen?

Das Arduino UNO R3 Board ist derzeit eines der beliebtesten Boards für das Prototyping. Die Beschreibung der hier vorgestellten Leitungen bezieht sich auf deren grundlegende Funktionalität. Je nach den Besonderheiten der Zielanwendung, einschließlich spezialisierter Bibliotheken, die bestimmte externe Hardware unterstützen, kann ihr Funktionsumfang in einer erweiterten Ansicht entsprechend erweitert werden.

Bei der Auswahl eines Arduino-Boards für unser Projekt ist es wichtig, sich über seine Grenzen und maximalen Möglichkeiten im Klaren zu sein,aber auch über die Tatsache, dass mit den richtigen Tricks und zusätzlicher Hardware die Möglichkeiten des Arduinos noch erweitert werden können, z.B. durch Multiplexing der Pins, was unsere On-Board-Pinbelegung vielseitiger macht und uns erlaubt, z.B. mehr Steuertasten anzuschließen – ein echter Leckerbissen für Computer- und Musiktastatur-Enthusiasten!

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.8 / 5. Stimmenzahl: 34

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Teilen:

Picture of Maciej Figiel

Maciej Figiel

Vielseitig, bereit Herausforderungen anzunehmen, weil er überzeugt ist, dass dies der schnellste Weg ist sich zu entwickeln. Er schätzt den Kontakt mit der Natur und die aktive Erholung. Hat eine Leidenschaft für Autos und neue Technologien.

Siehe mehr:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Aus Sicherheitsgründen ist die Verwendung des reCAPTCHA-Dienstes von Google erforderlich, der den Google-Datenschutzbestimmungen und Nutzungsbedingungen unterliegt..