Power
Der Arduino Leonardo kann über den Micro-USB-Anschluss oder mit einem externen Netzteil betrieben werden. Die Stromquelle wird automatisch ausgewählt.
Externe (nicht-USB) Stromversorgung kann entweder von einem AC-zu-DC-Adapter (wall-wart) oder einer Batterie kommen. Der Adapter kann durch Einstecken eines 2,1-mm-Steckers in die Netzbuchse der Karte angeschlossen werden. Die Kabel einer Batterie können in die Gnd- und Vin-Stiftleisten des POWER-Anschlusses gesteckt werden.
Die Power-Pins sind wie folgt belegt:
- VIN. Die Eingangsspannung für das Arduino-Board, wenn es eine externe Stromquelle verwendet (im Gegensatz zu 5 Volt über den USB-Anschluss oder eine andere geregelte Stromquelle). Sie können die Spannung über diesen Pin einspeisen, oder, wenn Sie die Spannung über die Netzbuchse einspeisen, über diesen Pin zugreifen.
- 5V. Die geregelte Stromversorgung, die für den Mikrocontroller und andere Komponenten auf der Platine verwendet wird. Diese kann entweder von VIN über einen On-Board-Regler kommen oder über USB oder eine andere geregelte 5V-Versorgung geliefert werden.
- 3V3. Eine 3,3-Volt-Versorgung, die durch den On-Board-Regler erzeugt wird. Die maximale Stromaufnahme beträgt 50 mA.
- GND. Erdungsstifte.
- IOREF. Die Spannung, mit der die E/A-Pins des Boards betrieben werden (d.h. VCC für das Board). Dies ist 5V auf dem Leonardo.
Speicher
Der ATmega32u4 hat 32 KB (mit 4 KB für den Bootloader). Außerdem verfügt er über 2,5 KB SRAM und 1 KB EEPROM (die mit der EEPROM-Bibliothek gelesen und geschrieben werden können).
Eingänge und Ausgänge
Jeder der 20 digitalen E/A-Pins des Leonardo kann als Eingang oder Ausgang verwendet werden, indem man die FunktionenpinMode(), digitalWrite() und digitalRead() verwendet. Sie arbeiten mit einer Spannung von 5 Volt. Jeder Pin kann maximal 40 mA liefern oder empfangen und hat einen internen Pull-up-Widerstand (standardmäßig ausgeschaltet) von 20-50 kOhm. Darüber hinaus haben einige Pins spezielle Funktionen:
- Seriell: 0 (RX) und 1 (TX). Dient zum Empfangen (RX) und Senden (TX) von seriellen TTL-Daten unter Verwendung der seriellen Hardwarefunktion desATmega32U4. Beachten Sie, dass sich die Klasse Serial auf dem Leonardo auf die USB (CDC)-Kommunikation bezieht; für TTL-Seriell an den Pins 0 und 1 verwenden Sie die Klasse Serial1.
- TWI: 2 (SDA) und 3 (SCL). Unterstützt TWI-Kommunikation unter Verwendung der Wire-Bibliothek.
- Externe Interrupts: 3 (Interrupt 0), 2 (Interrupt 1), 0 (Interrupt 2), 1 (Interrupt 3) und 7 (Interrupt 4). Diese Pins können so konfiguriert werden, dass sie einen Interrupt bei einem niedrigen Wert, einer steigenden oder fallenden Flanke oder einer Änderung des Wertes auslösen. Siehe die Funktion attachInterrupt() für Einzelheiten.
- PWM: 3, 5, 6, 9, 10, 11 und 13. Bieten 8-Bit-PWM-Ausgang mit der Funktion analogWrite().
- SPI: auf dem ICSP-Header. Diese Pins unterstützen die SPI-Kommunikation unter Verwendung der SPI-Bibliothek. Beachten Sie, dass die SPI-Pins nicht mit den digitalen E/A-Pins verbunden sind, wie es beim Uno der Fall ist, sondern nur am ICSP-Anschluss. Das bedeutet, dass wenn Sie ein Shield haben, das SPI verwendet, aber KEINEN 6-poligen ICSP-Stecker hat, der mit dem 6-poligen ICSP-Header des Leonardo verbunden ist, wird das Shield nicht funktionieren.
- LED: 13. Es gibt eine eingebaute LED, die mit dem digitalen Pin 13 verbunden ist. Wenn der Pin HIGH ist, leuchtet die LED, wenn der Pin LOW ist, ist sie aus.
- Analogeingänge: A0-A5, A6 – A11 (an den digitalen Pins 4, 6, 8, 9, 10 und 12). Der Leonardo verfügt über 12 Analogeingänge mit den Bezeichnungen A0 bis A11, die alle auch als digitale Eingänge verwendet werden können. Die Pins A0-A5 befinden sich an denselben Stellen wie beim Uno; die Eingänge A6-A11 liegen an den digitalen E/A-Pins 4, 6, 8, 9, 10 bzw. 12. Jeder Analogeingang bietet eine Auflösung von 10 Bit (d.h. 1024 verschiedene Werte). Standardmäßig messen die Analogeingänge von Masse bis 5 Volt, obwohl es möglich ist, das obere Ende ihres Bereichs mit dem AREF-Pin und der Funktion analogReference() zu ändern.
Es gibt ein paar andere Pins auf dem Board:
- AREF. Referenzspannung für die analogen Eingänge. Wird mit analogReference() verwendet.
- Reset. Setzen Sie diese Leitung auf LOW, um den Mikrocontroller zurückzusetzen. Wird typischerweise verwendet, um einen Reset-Knopf zu Shields hinzuzufügen, die den auf dem Board blockieren.
Siehe auch die Zuordnung zwischen Arduino-Pins und ATmega32u4-Ports.
Kommunikation
Der Leonardo verfügt über eine Reihe von Möglichkeiten, um mit einem Computer, einem anderen Arduino oder anderen Mikrocontrollern zu kommunizieren. Der ATmega32U4 bietet eine serielle UART TTL (5V) Kommunikation, die an den digitalen Pins 0 (RX) und 1 (TX) verfügbar ist. Der 32U4 ermöglicht auch die serielle (CDC) Kommunikation über USB und erscheint der Software auf dem Computer als virtueller Com-Port. Der Chip fungiert auch als USB-2.0-Gerät mit voller Geschwindigkeit und verwendet Standard-USB-COM-Treiber. Unter Windows ist eine .inf-Datei erforderlich. Die Arduino-Software enthält einen seriellen Monitor, mit dem einfache Textdaten zum und vom Arduino-Board gesendet werden können. Die RX- und TX-LEDs auf dem Board blinken, wenn Daten über die USB-Verbindung zum Computer übertragen werden (jedoch nicht bei serieller Kommunikation über die Pins 0 und 1). Eine SoftwareSerial-Bibliothek ermöglicht die serielle Kommunikation über jeden der digitalen Pins des Leonardo. Der ATmega32U4 unterstützt auch I2C (TWI) und SPI-Kommunikation. Die Arduino-Software enthält eine Wire-Bibliothek, um die Nutzung des I2C-Busses zu vereinfachen; Einzelheiten sind in der Dokumentation zu finden. Für die SPI-Kommunikation verwenden Sie die SPI-Bibliothek. Der Leonardo erscheint als generische Tastatur und Maus und kann so programmiert werden, dass er diese Eingabegeräte mit den Klassen Keyboard und Mouse steuert.
Programmierung
Der Leonardo kann mit der Arduino-Software (Download) programmiert werden. Wählen Sie „Arduino Leonardo“ aus dem Menü Tools > Board (je nach Mikrocontroller auf Ihrem Board). Einzelheiten finden Sie in der Referenz und den Tutorials. Der ATmega32U4 auf dem Arduino Leonardo ist bereits mit einem Bootloader ausgestattet, der es Ihnen ermöglicht, neuen Code ohne ein externes Hardware-Programmiergerät auf das Board zu laden. Er kommuniziert über das AVR109-Protokoll. Sie können auch den Bootloader umgehen und den Mikrocontroller über den ICSP-Header (In-Circuit Serial Programming) mit Arduino ISP oder ähnlichem programmieren; siehe diese Anweisungen für Details.
Automatischer (Software-)Reset und Bootloader-Initiierung
Anstatt einen physischen Druck auf den Reset-Knopf vor einem Upload zu erfordern, ist der Leonardo so konzipiert, dass er durch Software auf einem angeschlossenen Computer zurückgesetzt werden kann. Der Reset wird ausgelöst, wenn der virtuelle (CDC) serielle / COM-Port des Leonardo mit 1200 Baud geöffnet und dann geschlossen wird. Wenn dies geschieht, wird der Prozessor zurückgesetzt und die USB-Verbindung zum Computer unterbrochen (d.h. der virtuelle serielle/COM-Port verschwindet). Nach dem Zurücksetzen des Prozessors startet der Bootloader, der etwa 8 Sekunden lang aktiv bleibt. Der Bootloader kann auch durch Drücken der Reset-Taste auf dem Leonardo gestartet werden. Beachten Sie, dass beim ersten Einschalten des Boards direkt zum Benutzersketch gesprungen wird, falls vorhanden, anstatt den Bootloader zu starten.
Aufgrund der Art und Weise, wie der Leonardo das Zurücksetzen handhabt, ist es am besten, die Arduino-Software versuchen zu lassen, das Zurücksetzen vor dem Hochladen zu initiieren, besonders wenn Sie die Gewohnheit haben, den Reset-Knopf vor dem Hochladen auf anderen Boards zu drücken. Wenn die Software das Board nicht zurücksetzen kann, können Sie immer den Bootloader starten, indem Sie den Reset-Knopf auf dem Board drücken.
USB-Überstromschutz
Der Leonardo verfügt über eine rücksetzbare Polysicherung, die die USB-Ports Ihres Computers vor Kurzschlüssen und Überstrom schützt. Obwohl die meisten Computer über einen eigenen internen Schutz verfügen, bietet die Sicherung eine zusätzliche Schutzschicht. Wenn mehr als 500 mA an den USB-Anschluss angelegt werden, unterbricht die Sicherung automatisch die Verbindung, bis der Kurzschluss oder die Überlast beseitigt ist.
Physikalische Eigenschaften
Die maximale Länge und Breite der Leonardo-Platine beträgt 2,7 bzw. 2,1 Zoll, wobei der USB-Anschluss und die Netzbuchse über die erstgenannte Abmessung hinausragen. Vier Schraublöcher ermöglichen die Befestigung der Platine an einer Oberfläche oder einem Gehäuse. Beachten Sie, dass der Abstand zwischen den digitalen Pins 7 und 8 160 mil (0,16″) beträgt und nicht ein gerades Vielfaches der 100 mil der anderen Pins ist.