Arduino Uno - Arduino Uno

Arduino UNO
Arduino Logo.svg
Arduino Uno - R3.jpg
Arduino Uno SMD R3
Entwickler Arduino
Hersteller Viele
Typ Einplatinen-Mikrocontroller
Verfügbarkeit im Einzelhandel https://store.arduino.cc/usa/
Betriebssystem Keiner
Zentralprozessor Mikrochip- AVR (8-Bit)
Speicher SRAM
Lagerung Flash , EEPROM

Das Arduino Uno ist ein Open-Source- Mikrocontroller-Board, das auf dem Microchip ATmega328P- Mikrocontroller basiert und von Arduino.cc entwickelt wurde . Das Board ist mit Sets von digitalen und analogen Input/Output (I/O) Pins ausgestattet, die mit verschiedenen Erweiterungsboards (Shields) und anderen Schaltkreisen verbunden werden können. Das Board verfügt über 14 digitale I/O-Pins (sechs mit PWM- Ausgang), 6 analoge I/O-Pins und ist mit der Arduino IDE (Integrated Development Environment) über ein USB-Kabel vom Typ B programmierbar . Es kann über das USB-Kabel oder eine externe 9-Volt-Batterie mit Strom versorgt werden , obwohl es Spannungen zwischen 7 und 20 Volt akzeptiert. Es ähnelt dem Arduino Nano und Leonardo. Das Hardware-Referenzdesign wird unter einer Creative Commons Attribution Share-Alike 2.5-Lizenz vertrieben und ist auf der Arduino-Website verfügbar. Layout- und Produktionsdateien für einige Versionen der Hardware sind ebenfalls verfügbar.

Das Wort " uno " bedeutet auf Italienisch "eins" und wurde gewählt, um die erste Veröffentlichung der Arduino Software zu kennzeichnen . Das Uno-Board ist das erste einer Reihe von USB-basierten Arduino-Boards; it und Version 1.0 der Arduino IDE waren die Referenzversionen von Arduino, die sich nun zu neueren Versionen entwickelt haben. Der ATmega328 auf dem Board ist mit einem Bootloader vorprogrammiert , der das Hochladen von neuem Code ohne die Verwendung eines externen Hardwareprogrammierers ermöglicht.

Während das Uno über das ursprüngliche STK500-Protokoll kommuniziert, unterscheidet es sich von allen vorherigen Boards darin, dass es keinen FTDI USB-to-Serial-Treiberchip verwendet. Stattdessen verwendet es den als USB-Seriell-Wandler programmierten Atmega16U2 (Atmega8U2 bis Version R2) .

Geschichte

ein frühes Produktionsbrett

Das Arduino-Projekt begann am Interaction Design Institute Ivrea (IDII) in Ivrea , Italien. Damals verwendeten die Studenten einen BASIC Stamp Mikrocontroller, was für viele Studenten einen erheblichen Aufwand bedeutete . 2003 schuf Hernando Barragán die Entwicklungsplattform Wiring als Masterarbeitsprojekt am IDII unter der Leitung von Massimo Banzi und Casey Reas, die für ihre Arbeit an der Sprache Processing bekannt sind. Das Projektziel war es, einfache und kostengünstige Werkzeuge für die Erstellung digitaler Projekte durch Nicht-Ingenieure zu schaffen. Die Wiring-Plattform bestand aus einer Leiterplatte (PCB) mit einem ATmega 168-Mikrocontroller, einer auf Processing basierenden IDE und Bibliotheksfunktionen zur einfachen Programmierung des Mikrocontrollers. Im Jahr 2003 fügte Massimo Banzi zusammen mit David Mellis, einem weiteren IDII-Studenten, und David Cuartielles Unterstützung für den billigeren ATmega8-Mikrocontroller zu Wiring hinzu. Aber anstatt die Arbeit auf verdrahten fort, sie gegabelt das Projekt und benannte sie Arduino . Frühe Arduino- Boards verwendeten den FTDI USB-to-Serial-Treiberchip und einen ATmega 168. Der Uno unterschied sich von allen vorherigen Boards durch den ATmega328P-Mikrocontroller und einen ATmega16U2 (Atmega8U2 bis Version R2), der als USB-zu-Seriell-Wandler programmiert war.

Technische Spezifikationen

  • Mikrocontroller : Microchip ATmega328P
  • Betriebsspannung: 5 Volt
  • Eingangsspannung: 7 bis 20 Volt
  • Digitale I/O-Pins: 14 (von denen 6 PWM-Ausgang bereitstellen können)
  • PWM-Pins: 6 (Pin # 3, 5, 6, 9, 10 und 11)
  • UART: 1
  • I2C: 1
  • SPI: 1
  • Analoge Eingangspins: 6
  • Gleichstrom pro E/A-Pin: 20 mA
  • Gleichstrom für 3.3V Pin: 50 mA
  • Flash-Speicher : 32 KB, davon 0,5 KB vom Bootloader verwendet
  • SRAM : 2 KB
  • EEPROM : 1 KB
  • Taktfrequenz: 16 MHz
  • Länge: 68,6 mm
  • Breite: 53,4 mm
  • Gewicht: 25 g
  • ICSP-Header: Ja
  • Stromquellen: DC Power Jack & USB Port

Kopfzeilen

Arduino UNO

Allgemeine Pinfunktionen

  • LED : Es gibt eine eingebaute LED, die von digitalem Pin 13 angesteuert wird. Wenn der Pin einen hohen Wert hat, ist die LED an, wenn der Pin niedrig ist, ist sie aus.
  • VIN : Die Eingangsspannung des Arduino/Genuino-Boards, wenn es eine externe Stromquelle verwendet (im Gegensatz zu 5 Volt vom USB-Anschluss oder einer anderen geregelten Stromquelle). Sie können über diesen Pin Spannung liefern oder, wenn Sie Spannung über die Strombuchse liefern, über diesen Pin darauf zugreifen.
  • 5V : Dieser Pin gibt geregelte 5V vom Regler auf der Platine aus. Das Board kann entweder über die DC-Strombuchse (7 - 20V), den USB-Anschluss (5V) oder den VIN-Pin des Boards (7-20V) mit Strom versorgt werden. Die Spannungsversorgung über die 5V- oder 3,3V-Pins umgeht den Regler und kann die Platine beschädigen.
  • 3V3 : Eine 3,3-Volt-Versorgung, die vom Bordregler erzeugt wird. Die maximale Stromaufnahme beträgt 50 mA.
  • GND : Massestifte.
  • IOREF : Dieser Pin auf der Arduino/Genuino-Platine liefert die Spannungsreferenz, mit der der Mikrocontroller arbeitet. Eine richtig konfigurierte Abschirmung kann die IOREF-Pin-Spannung lesen und die geeignete Stromquelle auswählen oder Spannungsumsetzer an den Ausgängen aktivieren, um mit 5 V oder 3,3 V zu arbeiten.
  • Zurücksetzen : Wird normalerweise verwendet, um Schilden, die die auf der Platine blockieren, eine Reset-Taste hinzuzufügen.

Spezielle Pin-Funktionen

Jeder der 14 digitalen Pins und 6 analogen Pins des Uno kann als Ein- oder Ausgang unter Softwaresteuerung (mit den Funktionen pinMode(), digitalWrite() und digitalRead()) verwendet werden. Sie arbeiten mit 5 Volt. Jeder Pin kann 20 mA als empfohlene Betriebsbedingung liefern oder empfangen und verfügt über einen internen Pullup-Widerstand (standardmäßig getrennt) von 20-50 K Ohm. An keinem I/O-Pin dürfen maximal 40mA überschritten werden, um dauerhafte Schäden am Mikrocontroller zu vermeiden. Der Uno hat 6 analoge Eingänge, die mit A0 bis A5 bezeichnet sind; jeder bietet 10 Bit Auflösung (dh 1024 verschiedene Werte). Standardmäßig messen sie von Masse bis 5 Volt, obwohl es möglich ist, das obere Ende des Bereichs mit dem AREF-Pin und der analogReference()-Funktion zu ändern.

Darüber hinaus haben einige Pins spezielle Funktionen:

  • Seriell / UART : Pins 0 (RX) und 1 (TX). Wird verwendet, um serielle TTL-Daten zu empfangen (RX) und zu senden (TX). Diese Pins sind mit den entsprechenden Pins des ATmega8U2 USB-to-TTL Serial Chips verbunden.
  • Externe Interrupts : Pins 2 und 3. Diese Pins können so konfiguriert werden, dass sie bei einem niedrigen Wert, einer steigenden oder fallenden Flanke oder einer Wertänderung einen Interrupt auslösen.
  • PWM (Pulsweitenmodulation): Pins 3, 5, 6, 9, 10 und 11. Kann mit der analogWrite()-Funktion einen 8-Bit-PWM-Ausgang bereitstellen.
  • SPI (Serial Peripheral Interface): Pins 10 (SS), 11 (MOSI), 12 (MISO) und 13 (SCK). Diese Pins unterstützen die SPI-Kommunikation mit der SPI-Bibliothek.
  • TWI (Zweidraht-Schnittstelle) / I²C : Pin SDA (A4) und Pin SCL (A5). Unterstützt die TWI-Kommunikation mit der Wire-Bibliothek.
  • AREF (analog reference): Referenzspannung für die analogen Eingänge.

Kommunikation

Das Arduino/Genuino Uno verfügt über eine Reihe von Möglichkeiten zur Kommunikation mit einem Computer, einem anderen Arduino/Genuino-Board oder anderen Mikrocontrollern. Der ATmega328 bietet eine serielle UART TTL (5V)-Kommunikation, die an den digitalen Pins 0 (RX) und 1 (TX) verfügbar ist. Ein ATmega16U2 auf dem Board kanalisiert diese serielle Kommunikation über USB und erscheint als virtueller COM-Port für die Software auf dem Computer. Die 16U2-Firmware verwendet die Standard-USB-COM-Treiber, und es wird kein externer Treiber benötigt. Unter Windows ist jedoch eine INF-Datei erforderlich. Die Arduino Software (IDE) enthält einen seriellen Monitor, mit dem einfache Textdaten zum und vom Board gesendet werden können. Die RX- und TX-LEDs auf der Platine blinken, wenn Daten über den USB-to-Serial-Chip und die USB-Verbindung zum Computer übertragen werden (jedoch nicht bei serieller Kommunikation an den Pins 0 und 1). Eine SoftwareSerial-Bibliothek ermöglicht die serielle Kommunikation auf jedem der digitalen Pins des Uno.

Automatischer (Software-)Reset

Anstatt den Reset-Knopf vor einem Upload physisch zu drücken, ist das Arduino/Genuino Uno-Board so konzipiert, dass es durch Software zurückgesetzt werden kann, die auf einem angeschlossenen Computer ausgeführt wird. Eine der Hardware-Flusskontrollleitungen (DTR) des ATmega8U2/16U2 ist über einen 100 Nanofarad Kondensator mit der Reset-Leitung des ATmega328 verbunden. Wenn diese Leitung aktiviert ist (niedrig genommen), fällt die Rücksetzleitung lange genug ab, um den Chip zurückzusetzen.

Dieses Setup hat andere Auswirkungen. Wenn das Uno an einen Computer mit Mac OS X oder Linux angeschlossen ist, wird es jedes Mal zurückgesetzt, wenn eine Verbindung über die Software (über USB) hergestellt wird. Für die folgende halbe Sekunde läuft der Bootloader auf dem Uno. Während es so programmiert ist, dass es fehlerhafte Daten ignoriert (dh alles außer dem Hochladen von neuem Code), fängt es die ersten paar Datenbytes ab, die nach dem Öffnen einer Verbindung an das Board gesendet werden.

Siehe auch

Verweise

Weiterlesen

Externe Links

Pinbelegungsdiagramme
Mechanisch