Arduino UNO: Board Anatomie

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Arduino Uno R3

Autor: Prof. Dr.-Ing. Schneider

Abb. 1 zeigt die Hauptkomponenten des Arduino Uno R3.


Tabelle 1: Übersicht der I/O-Pins
RX, TX Das sind die Sende- und Empfangspins der seriellen Schnittstelle (Universal AsynchronousReceiver Transmitter, UART).

Bevor der USB-Bus erfunden wurde, waren beispielsweise Mäuse und Modems per serieller Schnittstelle mit dem PC verbunden. Die Übertragungsgeschwindigkeit liegt in der Regel zwischen 1200 und 115200 Baud. Heute spielt der UART nur noch im Entwicklerbereich eine Rolle.

SCL, SDA Die zwei Pins gehören zum I2C-Bus (Inter IC Communication), über den der Arduino Daten mit Sensoren und anderer Elektronik austauschen kann. Im Unterschied zum UART gibt es nur eine Leitung für die Hin- und Rückrichtung (SDA, Serial Data), dank eines einheitlichen Protokolls und eines Taktsignals (SCL, Serial Clock) gibt es aber keine Konflikte auf dem Bus.
SPI Das Serial Peripheral Interface ist ein

synchroner serieller Bus, mit Hin-, Rück- und Taktleitung. Beim Arduino dient er dem Datenaustausch mit Sensoren und Steuer - modulen, aber auch der Programmierung seines Flash-Speichers mit einem speziellen Gerät. Standardmäßig arbeitet der SPI auf dem Arduino mit 4 MHz.

Digital (PWM~) Die digitalen Pins lassen

sich jeweils als Ein- oder Ausgang programmieren. Arbeiten sie als Eingang, kann man dem Arduino mit einer Spannung von 0 V eine logische 0 und mit 5 V eine logische 1 von außen signalisieren, auf die er reagieren kann. Ist ein Pin als Ausgang konfiguriert, kann er per Programm seiner Umwelt oder weiterer Elektronik eine logische 1 oder eine logische 0 signalisieren. Daneben kann man die Ausgangsspannung von 5ˇV auch direkt benutzen, um eine Leuchtdiode (LED) zum Leuchten zu bringen oder ein Relais zu schalten, das wiederum ein anderes Gerät mit Batterieversorgung oder gar mit Netzspannung anschaltet. Zu beachten ist, dass ein Ausgang als Dauerlast nur einen Strom von 20 Milliampere liefert, kurzzeitig auch bis zu 40. Darüber droht ein dauerhafter Schaden des Pins. Um das zu verhindern, muss man den Strom mit einem Widerstand begrenzen. Wie man das macht, erfahren Sie im hinteren Teil des Hefts. Alternativ können einige der digitalen Pins (zu erkennen an der Tilde ~ vor der Nummer auf dem Board) ein sogenanntes PWM-Signal ausgeben. Neben der Leistungssteuerung von LEDs benötigt man dieses Signal in erster Linie zur Ansteuerung von Servo-Motoren, wie man sie im Modellbau einsetzt.

Analog In (A0–A5) Da die Welt eben

nicht nur schwarz (5ˇV) und weiß (0ˇV) ist, benötigt man noch eine Möglichkeit, Spannungen irgendwo dazwischen zu messen. Ein Analog-Digital-Wander wandelt, wie beim Mikrofon-Eingang am PC, analoge Signale in digitale Werte zwischen 0 und 1023 (10 Bit). Der UNO hat eigentlich nur einen einzigen internen Wandler, mit einem eingebauten Umschalter kann er jedoch die einzelnen externen Eingänge auf den Eingang des A/DWandlers legen. Grundsätzlich lassen sich auch alle Analog- und Bus-Pins als I/O-Pins festlegen, sodass der Arduino UNO insgesamt 20 digitale Ein- und Ausgänge befehligen kann.

5ˇV/3,3ˇV Keras ermöglicht die schnelle Implementierung neuronaler Netzwerke für Anwendungen des Deep Learnings. Es handelt sich um eine Open-Source-Bibliothek, die in Python geschrieben ist und zusammen mit Frameworks wie TensorFlow oder Theano verwendet werden kann.
PyTorch ist zur Zeit eines der populärsten Frameworks zur Entwicklung und zum Trainieren von neuronalen Netzwerken. Es zeichnet sich vor allem durch seine hohe Flexibilität und die Möglichkeit aus, Standard-Python-Debugger einzusetzen. Dabei müssen keinerlei Abstriche bezüglich der Trainingsperformance gemacht werden.
Das Robot Operatong System 2 (ROS2) ist der Nachfolger von ROS1, einem Open-Source-Software-Framework, das sich in den letzten Jahren zu einem der beliebtesten Prototyping-Plattformen für die Entwicklung von Robotern entwickelt hat.

Spezifikation

PC NVIDIA® Jetson Nano™, PN: 3450 B01, 4 GB 64-bit LPDDR4 @ 25.6 GB, 64-bit Quad-Core ARM A57, 472 GFLOPS @5 W, 128 NVIDIA CUDA® GPU

→ zurück zum Hauptartikel: Arduino UNO