Kapitel 1 : Arduino
Arduino (/??r'dwi?no?/) ist ein Open-Source-Hardware- und Softwareunternehmen, Projekt- und Benutzergemeinschaft, das Einplatinen-Mikrocontroller und Mikrocontroller-Kits für die Erstellung digitaler Geräte entwickelt.
Es lizenziert seine Hardware-Produkte unter den CC BY-SA-Bedingungen, Während die Software unter der GNU Lesser General Public License (LGPL) oder der GNU General Public License (GPL) lizenziert ist, darf sie nicht weiterverbreitet werden (GPL). Mehrere Mikroprozessoren und Controller werden beim Design von Arduino-Boards verwendet. Die Platinen sind mit digitalen und analogen Ein-/Ausgangspins (I/O) ausgestattet, die mit verschiedenen Erweiterungsplatinen ("Shields") oder Breadboards (für das Prototyping) und anderen Schaltkreisen interagieren können. Die Boards verfügen über serielle Kommunikationsschnittstellen, bei einigen Modellen auch über USB, die auch zum Laden von Programmen verwendet werden. Die Mikrocontroller können in C und C++ (Embedded C) unter Verwendung einer Standard-API programmiert werden, die auch als Arduino Programming Language bekannt ist und von der Programmiersprache Processing beeinflusst und mit einer modifizierten Version der integrierten Entwicklungsumgebung (IDE) von Processing verwendet wurde. Zusätzlich zu den herkömmlichen Compiler-Toolchains bietet das Arduino-Projekt eine Go-basierte integrierte Programmierumgebung (IDE) und ein Kommandozeilentool.
Das Arduino-Projekt entstand 2005 als Werkzeug für Studenten des Interaction Design Institute Ivrea, Italien, mit der Absicht, Amateuren und Experten eine kostengünstige und unkomplizierte Methode zu bieten, um Geräte zu entwerfen, die mithilfe von Sensoren und Aktoren mit ihrer Umgebung interagieren. Einfache Roboter, Thermostate und Bewegungsmelder sind gängige Beispiele für solche Geräte, die für Anfänger entwickelt wurden.
Der Ursprung des Namens Arduino ist eine Taverne in Ivrea, Italien, in der sich die Gründer des Projekts trafen. Die Bar wurde nach dem König von Italien von 1002 bis 1014 und Markgraf der Mark von Ivrea, Arduin von Ivrea, benannt.
Das Arduino-Projekt wurde in Ivrea, Italien, am Interaction Design Institute Ivrea (IDII) initiiert. Im Jahr 2005 erweiterte Massimo Banzi zusammen mit seinen IDII-Kommilitonen David Mellis und David Cuartielles die Verkabelung um Unterstützung für den kostengünstigeren ATmega8-Mikrocontroller. Arduino war das neue Projekt, das von Wiring abgespalten wurde.
Die fünf Mitbegründer des Arduino-Projekts gründeten Anfang 2008 die Arduino LLC. Bis 2017 besaß die Arduino AG zahlreiche Marken für Arduino. Im Juli 2017 gründeten Massimo Banzi, David Cuartielles, David Mellis und Tom Igoe BCMI, das die Arduino AG und alle Arduino-Marken erwarb. Fabio Violante ist neuer CEO der Arduino AG und tritt die Nachfolge von Federico Musto an, der nicht mehr im Unternehmen tätig ist.
Arduino kündigte im Oktober 2017 seine Allianz mit ARM Holdings an. (ARM). "ARM erkannte Freiheit als einen Grundwert von Arduino an... ohne jegliche Bindung an die ARM-Architektur", heißt es in der Ankündigung. Arduino plant, die Zusammenarbeit mit allen Technologieanbietern und Architektur-Frameworks fortzusetzen. Unter Violantes Führung begann das Unternehmen zu expandieren und neue Designs auf den Markt zu bringen. Die Marke Genuino wurde aufgegeben und alle Waren wurden mit dem Namen Arduino umbenannt.
Arduino hat im August 2018 sein neues Open-Source-Kommandozeilentool (arduino-cli) vorgestellt, das als Ersatz für die IDE verwendet werden kann, um Boards aus einer Shell zu programmieren.
Arduino-Hardware ist Open Source. Die Hardware-Referenzdesigns sind auf der Arduino-Website unter einer Creative Commons Attribution Share-Alike 2.5-Lizenz verfügbar. Es gibt auch Layout- und Produktionsdateien für verschiedene Versionen der Hardware.
Obwohl die Hardware- und Software-Blaupausen unter Copyleft-Lizenzen öffentlich zugänglich sind, haben die Entwickler darum gebeten, dass der Name Arduino für das Originalprodukt reserviert und nicht ohne ihre Zustimmung für abgeleitete Werke verwendet wird. Das offizielle Strategiepapier zur Verwendung des Namens Arduino unterstreicht die Bereitschaft des Projekts, die Arbeit Dritter in das offizielle Produkt einfließen zu lassen.
Aufgrund von Formfaktor-Beschränkungen besteht der Großteil der Arduino-Boards aus einem Atmel 8-Bit-AVR-Mikrocontroller (ATmega8, arbeitet mit 8 MHz und verfügt nicht über einen eingebauten Spannungsregler).
Arduino-Mikrocontroller verfügen über einen Bootloader, der das Hochladen von Programmen auf den On-Chip-Flash-Speicher optimiert. Der Optiboot-Bootloader ist die Standardeinstellung für den Arduino Uno. Die Programmierung der Platinen erfolgt über eine serielle Verbindung zu einem anderen Computer. Einige serielle Arduino-Boards verfügen über eine Level-Shifter-Schaltung zur Umwandlung zwischen RS-232-Logikpegeln und seriellen TTL-Pegelsignalen. Die aktuellen Arduino-Boards werden über USB mit USB-zu-Seriell-Adapterchips wie dem FTDI FT232 programmiert. Einige Boards, einschließlich Uno-Boards der späteren Generation, ersetzen den FTDI-Chip durch einen separaten AVR-Chip, der USB-zu-Seriell-Firmware enthält, die über einen eigenen ICSP-Header programmierbar ist. Andere Modelle, wie der Arduino Mini und das nicht autorisierte Boarduino, verwenden eine abnehmbare USB-zu-Seriell-Konverterplatine oder ein abnehmbares Kabel, Bluetooth oder andere Kommunikationstechniken. Bei der Verwendung herkömmlicher Mikrocontroller-Tools wird im Gegensatz zur Arduino-IDE die reguläre AVR-In-System-Programmierung (ISP) verwendet.
Das Arduino-Board stellt den Großteil der I/O-Pins des Mikrocontrollers für die Verwendung durch andere Schaltkreise zur Verfügung. Die Unterseite der Diecimila-Platinen kann mit Stiftleisten versehen sein, die mit lötfreien Steckplatinen kompatibel sind.
Es gibt zahlreiche Arduino-kompatible und von Arduino abgeleitete Boards. Einige sind funktional äquivalent zu Arduino und austauschbar. Um die Entwicklung von Buggys und kleinen Robotern zu erleichtern, erweitern mehrere Personen den grundlegenden Arduino durch Hinzufügen von Ausgangstreibern, die typischerweise für den Einsatz in der schulischen Bildung gedacht sind. Andere sind elektrisch gleichwertig, aber ihre Formfaktoren variieren, manchmal unter Beibehaltung der Schirmkompatibilität und manchmal nicht. Einige Varianten verwenden inkompatible Prozessoren unterschiedlicher Typen.
Die ursprüngliche Arduino-Hardware wurde von der italienischen Firma Smart Projects hergestellt. Es gab 17 kommerziell erhältliche Versionen der Arduino-Hardware.
Das Arduino RS232-Protokoll (männliche Pins)
Arduino Diecimila
Das Arduino Duemilanove Board (rev 2009b)
Arduino Uno R2
3.0 Arduino Uno SMD
Arduino Leonardo
Arduino mini Abgerufen am 29.10.2020 aus dem Internet Archive (AtMega 32U4)
Arduino-Mikrochip (AtMega32U4)
Arduino Elite (kein USB)
Arduino Mega
Mikrocontroller Arduino Nano (DIP-30 Grundfläche)
Arduino LilyPad 00 (2007 Version) (kein USB)
Arduino-Roboter
Arduino Esplora
Die Arduino Ethernet-Platine (AVR + W5100).
Arduino Yún (AVR + AR9331)
Zu Arduino's (ARM Cortex-M3 Kern)
Arduino und Arduino-kompatible Boards verwenden Shields, bei denen es sich um Leiterplatten-Erweiterungsplatinen handelt, die mit den Arduino-Pin-Stiftleisten verbunden sind.
Einige Shields verfügen über stapelbare Header, mit denen zahlreiche Shields auf einer Arduino-Platine gestapelt werden können. Hier werden zwei Adafruit Motor Shield V2 mit einem Prototyping-Shield gestapelt.
Breakout-Abschirmung mit Schraubklemmen in einer flügelartigen Konfiguration, die den Anschluss von Blank-End-Drähten an die Platine ermöglicht, ohne dass spezielle Stifte erforderlich sind.
Adafruit Datalogging Shield mit einem Secure Digital (SD)-Kartenanschluss und einem RTC-Chip (Realtime Clock) sowie Platz für das Hinzufügen von benutzerdefinierten Komponenten und Modulen.
Motoranschluss-Verschraubungen für das Adafruit Motor Shield. Dieser Schild wurde offiziell eingestellt, ist aber möglicherweise immer noch auf inoffizielle Weise erhältlich.
Das Adafruit Motor Shield V2 verwendet I2C und benötigt weitaus weniger digitale I/O-Ports als der physische Anschluss der einzelnen Motoren.
Ein USB-Host-Shield, mit dem ein Arduino-Board mit einem USB-Gerät wie einer Tastatur oder Maus verbunden werden kann.
Mit Compilern, die binären Maschinencode für den Zielprozessor generieren, kann ein Programm für Arduino-Hardware in einer beliebigen Programmiersprache geschrieben werden. AVR Studio (älter) und Atmel Studio sind Atmels Entwicklungsumgebungen für die 8-Bit-AVR- und 32-Bit-ARM-Cortex-M-Mikrocontroller (neuer).
Die integrierte Entwicklungsumgebung (IDE) für Arduino ist eine Java-basierte, plattformübergreifende Anwendung (für Microsoft Windows, macOS und Linux). Es hat sich aus der integrierten Entwicklungsumgebung für die Sprachen Processing und Wiring entwickelt. Es enthält einen Code-Editor mit Funktionen wie Kopieren und Einfügen von Text, Suchen und Ersetzen von Text, automatischem Einrücken, Klammerabgleich und Syntaxhervorhebung sowie einfachen Ein-Klick-Verfahren zum Kompilieren und Hochladen von Programmen auf ein Arduino-Board. Darüber hinaus enthält es einen Nachrichtenbereich, ein Textterminal, eine Symbolleiste mit Schaltflächen für typische Funktionen und eine Menüstruktur zum Ausführen von Operationen. Der Quellcode für die IDE ist unter der Version 2 der GNU General Public License lizenziert.
Die Arduino Integrated Development Environment (IDE)...