Der Artikel wurde erfolgreich hinzugefügt.
Der Artikel wurde erfolgreich hinzugefügt.
AKTION

Ab Warenkorbwert 50€ ein Aufkleber gratis!

Hersteller:
Arduino
Artikel-Nr.:
EXP-R08-009
Herstellernummer:
A000069
Stückzahl:
0

Weitere Produktdaten ansehen

51,95 €*
Benachrichtigen Sie mich, wenn der Artikel lieferbar ist.


Der Arduino ADK ist ein Mikrocontroller Board, basierend auf dem ATmega2560 (datasheet). Er besitzt ein USB Host Interface, basierend auf dem MAX3421e IC, über welches er mit einem Android Handy verbunden werden kann. Er verfügt über 54 digitale Input/Output Pins (von denen 14 als PWM Output nutzbar), 16 analoge Inputs, 4 UARTs(Hardware Serial Ports), einen 16 MHz Quarz Oszillator, eine USB Verbindung, eine Strombuchse, einen ICSP Header und einen Reset-Button.

Der ADK basiert auf dem Mega 2560.

Ähnlich des Mega 2560 und Uno, verfügt er über einen als USB-to-Serial Convertert programmierten ATmega8U2

Revision 2 des ADK Boards besitzt einen Widerstand, welcher die 8U2 HWB line auf Ground zieht. Das macht es einfacher in den DFU mode zu gelangen.
Revision 3 des Boards besitzt die folgenden Neuerungen:

  • 1.0 pinout: SDA und SCL Pins wurden in der Nähe des AREF Pin hinzugefügt, sowie zwei weitere in der Nähe des Reset Pin. Einer davon ist der IOREF, der es Shields ermöglicht die Spannung des Arduino Boards zu nutzen. In Zukunft werden Shields sowohl mit Boards kompatibel sein, welche den AVR nutzen und mit 5V betrieben werden, sowie mit dem Arduino Due, welcher mit 3.3V betrieben wird. Der Zweite Pin wurde für zukünftige Neuerungen hinzugefügt und besitzt zurzeit noch keine Aufgabe.
  • Verbesserte Reset Schaltung.

Informationen wie man das Board mit dem Android Betriebssystem nutzen kann finden man in Google's ADK documentation.


Schaltplan, Referenz Design & Pin Belegung

EAGLE Dateien: Arduino_ADK-Mega_2560-Rev3-reference-design.zip

Schaltplan: Arduino ADK_Mega_2560-schematic.pdf

Pin Belegung: PinMap2560 page


Zusammenfassung

Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 15 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz


Power

Der Arduino ADK kann entweder über eine USB Verbindung oder über ein externes Netzteil mit Strom versorgt werden. Die Stromquelle wird automatisch ausgewählt.

Für eine externe Versorgung kann entweder ein AC-to-DC Netzteil oder eine Batterie genutzt werden. Für die Versorgung mit einem Netzteil muss dieses einen 2,1mm center-positiv Stecker besitzten, der mit der Strombuchse auf dem Board verbunden wird. Anschlüsse einer Batterie werden mit dem Gnd und dem Vin Pin des Power Connectors verbunden.

NB: Der ADK ist ein USB Host, weswegen mit ihm verbundene Smartphones versuchen von ihm Strom zu beziehen, wenn ihr Akku geladen werden muss. Wenn der ADK über USB mit Strom versorgt wird stehen insgesamt 500mA für Telefon und Board zur Verfügung. Eine externe Stromversorgung kann bis zu 1500mA bereitstellen. 750mA davon sind für das Telefon und das ADK Board verfügbar, die zusätzlichen 750mA sind für Aktuatoren und Sensoren, die an den ADK angeschlossen sind, vorgesehen. Wenn soviel Strom genutzt werden soll muss die externe Stromversorgung in der Lage sein 1,5A zu liefern.

Das Board kann mit einer externen Spannung von 6 bis 20 Volt versorgt werden. Bei weniger als 7V Versorgungsspannung, kann es jedoch sein dass der 5V Pin weniger als fünf Volt bereitstellt und das Board instabil wird. Wenn mehr als 12V angelegt werden, kann der Spannungsregler überhitzen und das Board beschädigen. Der empfohlene Spannungsbereich liegt daher bei 7-12V.

Die Power Pins:

  • VIN. An diesem Pin liegt die Input Spannung des Arduino an, wenn eine externe Stromquelle genutzt wird (anstatt der 5V einer USB Verbindung oder einer anderen regulierten Stromquelle). Sie können an diesen Pin Spannung anlegen oder, wenn eine externe Stromquelle mit der Strombuchse verbunden ist, Spannung abgreifen.
  • 5V. An diesem Pin liegen die regulierten 5V vom Spannungsregler des Boards an. Das Board kann entweder über die DC Strombuchse mit Strom versorgt werden (7 - 12V), die USB Verbindung (5V) oder über den VIN Pin des Boards (7 - 12V). Eine Versorgung direkt über die 5V oder 3.3V Pins umgeht den Spannungsregler und kann das Board beschädigen. Es wird daher nicht empfohlen.
  • 3V3. Eine Spannung von 3.3 Volt, die vom auf dem Board integrierten Spannungsregler bereitgestellt wird. Der maximale Output Strom liegt bei 50 mA.
  • GND.Ground Pins (Erdung).
  • IOREF. An diesem Pin liegt die Referenzspannung an, mit welcher der Mikrocontroller arbeitet. Ein korrekt konfiguriertes Shield kann die Spannung des IOREF nutzen um die richtige Stromquelle auszuwählen oder die Spannungsregler schalten um die Outputs mit 5V oder 3.3V zu versorgen.


Speicher

Der ADK besitzt 256 KB Flash Speicher (von denen 8 KB vom Arduino Bootloader belegt sind). Er verfügt außerdem über 8 KB SRAM und 4 KB EEPROM, welcher mit der EEPROM library) ausgelesen und beschrieben werden kann.


Input und Output

Jeder der 54 digitalen Pins des Arduino kann entweder als Input oder Output genutzt werden. Dafür stehen die FunktionenpinMode()digitalWrite() und digitalRead() zur Verfügung. Sie arbeiten mit einer Spannung von 5 Volt. Jeder Pin kann einen maximalen Strom von 40mA bereitstellen oder aufnehmen und besitzt einen Pull-Up Widerstand von 20-50 kOhm, welcher 'by default' nicht verbunden ist. Zusätzlich gibt es Pins für spezielle Funktionen:

  • Serial: 0 (RX) und 1 (TX). Mit diesen Pins können TTL serielle Daten empfangen (RX) oder übertragen (TX) werden. Diese Pins sind mit den zugehörigen Pins des ATmega8U2 USB-to-TTL Serial Chip verbunden.
  • External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), und 21 (interrupt 2). Diese Pins können so konfiguriert werden, dass sie bei einem niedrigen Wert, einem Anstieg oder Fall, oder einer Änderung des Wertes einen Interrupt auslösen. Für mehr Informationen beachten Sie die FunktionattachInterrupt().
  • PWM: 2 bis 13 und 44 bis 46. Diese Pins verfügen über einen 8-Bit PWM Output, welcher über die FunktionanalogWrite() gesteuert werden kann.
  • SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Diese Pins unterstützen SPI Kommunikation unter Verwendung der SPI library. Die Pins sind auch an den ICSP Header herausgeführt, welcher physisch kompatibel mit dem Uno Duemilanove und Diecimila ist.
  • USB Host: MAX3421E. Der MAX3421E kommuniziert mit dem Arduino über den SPI bus. Er nutzt die folgenden Pins:
    • Digital: 7 (RST), 50 (MISO), 51 (MOSI), 52 (SCK).
      NB: Bitte benutzen sie den digitalen Pin 7 nicht als Input bzw. Output, da er für die Kommunikation mit demMAX3421E genutzt wird.
    • Nicht herausgeführte Header: PJ3 (GP_MAX), PJ6 (INT_MAX), PH7 (SS).
  • LED: 13. Auf dem Board befindet sich eine LED, welche mit dem Pin 13 verbunden ist. Wird der Pin HIGH geschaltet, geht die LED an und wird er LOW geschaltet, geht sie aus.
  • TWI: 20 (SDA) und 21 (SCL). Sie unterstützen TWI Kommunikation unter Verwendung der Wire Library. Bitte beachten sie, dass sich diese Pins nicht an der gleichen Position wie die TWI Pins des Duemilanove und Diecimila befinden.

Der ADK verfügt über 16 Analog Inputs. Sie tragen die Namen A0 bis A15 und besitzen jeweils eine Auflösung von 10 Bit (also 1024 Abstufungen). Standardmäßig messen sie von Erdung bis 5 Volt. Die Obergrenze lässt sich jedoch mit Hilfe des AREF Pins und der Funktion analogReference() ändern. Zusätzlich besitzen einige der Pins über spezielle Funktionen:

  • AREF. Hier liegt die Referenz Spannung für die analogen Inputs an. Er wird unter Verwendung der FunktionanalogReference() genutzt.
  • Reset. Wird diese Leitung LOW gesetzt, wird der Mikrocontroller zurückgesetzt. Meistens wird dies für Reset Buttons auf Shields genutzt, wegen welchen man den Reset Button des Boards nicht mehr erreichen kann.


Kommunikation

Der Arduino ADK besitzt eine Vielzahl von Möglichkeiten um mit einem Computer, einem anderen Arduino, oder einem anderen Mikrocontroller zu kommunizieren. Der ATmega2560 verfügt an den Digital Pins 0 (RX) und 1 (TX) über UART TTL (5V) serielle Kommunikation. Der ATmega16U2 leitet diese serielle Kommunikation über eine USB Verbindung und stellt sie über einen virtuellen Com Port für die Software des Computers bereit. Die 16U2 Firmware nutzt den Standard USB COM Treiber, weswegen kein zusätzlicher Treiber benötigt wird. Für Windows wird jedoch eine .inf Datei benötigt. Die Arduino Software enthält einen Serial Monitor mit welchem man einfache Text Daten an das Arduino Board senden und von diesem empfangen kann. Die RX und TX LEDs des Boards blinken wenn Daten über den USB-to-Serial Chip und die USB Verbindung übertragen werden (jedoch nicht bei serieller Kommunikation über die Pins 0 und 1).

Die SoftwareSerial Library ermöglicht die serielle Kommunikation an jedem der Digitalen Pins des Arduino ADK.

Der ATmega2560 unterstützt außerdem I2C (TWI) und SPI Kommunikation. Die Arduino Software enthält eine Wire Library, welche die Nutzung des I2C Bus vereinfacht; Für nähere Informationen beachten Sie die Wire Documentation. Für SPI Kommunikation kann die SPI Library verwendet werden.

Das USB Host Interface des MAX3421E IC ermöglicht dem ADK sich mit jeder Art von Gerät zu verbinden, welches über einen USB Port verfügt. Zum Beispiel erlaubt es Ihnen mit einer Vielzahl von Smartphones zu interagieren, Canon Kameras zu steuern, ein Keyboard, Maus oder einen Game Controller wie die Wiimote oder den PS3 Controller zu nutzen.


Programmierung

Der Arduino ADK kann mit der Arduino Software (download) programmiert werden. Für mehr Information beachten Sie die Referenz und die Tutorials.

Der ATmega2560 des Arduino ADK wird mit einem vorinstalliertem Bootloader ausgeliefert, welcher den Upload von neuem Code ohne die Verwendung eines externen Hardware Programmers erlaubt. Er kommuniziert unter Verwendung des ursprünglichen STK500 Protokolls (ReferenceC Header Dateien).

Der Bootloader kann umgangen werden und der Mikrocontroller über den ICSP (In-Circuit Serial Programming) Header programmiert werden. Lesen sie dafür diese Anleitung.

Der ATmega8U2 Firmware Source Code ist verfügbar. Der ATmega8U2 besitzt einen DFU Bootloader wlechem man auf folgende Weisen aktivieren kann:

  • Auf Rev1 Boards: Verbinden Sie die Löt Jumper auf der Rückseite des Boards (in der Nähe der 'Italien-Karte) und setzten Sie dann den 8U2 zurück.
  • Auf Rev2 oder neueren Boards: Diese Boards besitzen einen Widerstand, welcher die 8U2/16U2 HWB Leitung herunter auf Ground zieht, was es vereinfacht, den DFU Modus zu aktivieren. Sie können dann Atmel's FLIP Software(Windows) oder den DFU Programmer (Mac OS X and Linux) nutzen um neue Firmware zu laden. Außerdem können Sie die ISP Header mit einem externen Hardware Programmer benutzen (und den DFU Bootloader überschreiben). Mehr Informationen dazu gibt es in diesem von einem Anwender erstellten Tutorial.


Automatischer (Software) Reset

Anstatt einen physikalischen Tastendruck des Reset Buttons vor einem Upload zu benötigen wurde der Arduino ADK so entworfen, dass er von einer Computer Software zurückgesetzt werden kann. Eine der Hardware Flow Control Leitungen (DTR) des ATmega8U2 ist über einen 100 nF Kondensator mit der Reset Leitung des ATmega2560 verbunden. Wenn diese Leitung auf LOW geschaltet wird fällt die Reset Leitung lang genug um den Chip zurückzusetzen. Die Arduino Software nutzt dies um neuen Code mit einem einfachen Klick des Upload Buttons in der Arduino Entwicklungsumgebung hochladen zu können. Das bedeutet, dass der Bootloader einen kürzeren Aussetzer besitzt, da das Herabsetzen der DTR gut mit dem Start des Code Uploads koordiniert werden kann.

Dieses Setup hat noch andere Folgen. Wenn der ADK mit einem Computer mit dem Betriebssystem Mac OS X oder Linux verbunden ist, wird er jedes mal zurückgesetzt, wenn die Software eine Verbindung (via USB) herstellt. Für ungefähr eine halbe Sekunde läuft dann der Bootloader auf dem Arduino. Da dieser dafür ausgelegt ist fehlerhaften Code zu ignorieren (also alles außer einem Upload von neuem Code) ignoriert er die ersten paar Bytes an Daten welche über eine neue Verbindung an das Board gesendet werden. Achten sie deshalb darauf, dass Software, welche mit einem Sketch auf dem Arduino Board kommunizieren soll, eine Sekunde nach Herstellung der Verbindung abwartet, bevor Sie Daten an den Arduino sendet.

Der ADK besitzt eine Leiterbahn welche man durchtrennen kann um den Auto-Reset zu deaktivieren. Die Kontaktflächen auf beiden Seiten der Leiterbahn können zusammengelötet werden um den Auto-Reset zu reaktivieren. Die Leiterbahn ist "Reset-EN" benannt. Außerdem kann man den Auto-Reset deaktivieren, indem man einen 110 Ohm Widerstand zwischen 5V und Reset Leitung schaltet. Für mehr Informationen dazu beachten lesen sie diesen Forum Thread.


USB-Überstrom Schutz

Der Arduino ADK besitzt eine zurücksetzbare Mehrfachsicherung, welche den USB Port ihres Computers vor Kurzschlüssen und Überstrom schützt. Auch wenn die meisten Computer einen internen Schutz für solche Fälle besitzen bietet diese Sicherung einen zusätzlichen Schutz. Wenn mehr als 500 mA über die USB Verbindung fließen durchtrennt die Sicherung die Verbindung bis der Kurzschluss bzw. die Überlastung entfernt wurde.


Maße und Shield Kompatibilität

Die maximale Länge und Breite der Arduino ADK Platine sind 10,16 (4 inch) und 5.3cm (2.1 inch). Der USB Port und die Strombuchse ragen etwas über diese Maße hinaus. Vier Löcher erlauben das Festschrauben des Boards auf Oberflächen und in Gehäuse. Bitte beachten sie, dass der Abstand zwischen den Digitalen Pins 7 und 8 0.16 Inch beträgt, also kein gerades Vielfaches des 0.1 Inch Abstands der anderen Pins.

Der ADK wurde so entworfen, dass er mit den meisten Shields, die für den Uno, Diecimila und Duemilanove entworfen wurden kompatibel ist. Die digitalen Pins 0-13 (und die dazugehörigen AREF und GND Pins), die analogen Inputs 0 bis 5, der Power Header und der ICSP Header sind alle in der gleichen Position. Darüber hinaus ist der Haupt UART (serieller Port) an den gleichen Pins (0 und 1), sowie die externen interrupts 0 und 1 (Pins 2 und 3). SPI ist über den ICSP Header sowohl am Mega2560 als auch am Duemilanove und Diecimila verfügbar. ''Bitte beachten Sie, dass I2C am ADK nicht an den gleichen Pins (20 und 21) verfügbar ist wie beim Duemilanove und Diecimila (Analoge Inputs 4 und 21)


Treiber & Setup

Für dieses Board müssen sie die boards.txt Datei in Ihrem Arduino Verzeichnis ändern (Sie finden diese Datei hier:"Arduino-00xx > hardware > arduino"):

Arduino 0022 or older boards.txt
Arduino 1.0 Beta boards1.0.txt

[Diese Dateien befinden sich in einem zip archive. Sie muss in dem oben beschriebenen Verzeichnis entpackt werden.]

Windwos Nutzer benötigen außerdem noch eine .inf Datei für dieses spezifische Produkt: Arduino_ADK.zip
Um das Board zu installieren folgen sie den gleichen Schritten wie in dieser Anleitung beschrieben: Wie man den Uno auf ihrem Computer installiert.