Ratgeber

  

Arduino Shields » Mikrocontroller mit Open Source Plattform



Die Arduino Plattform

Arduino bietet Entwicklern mit seinen Mikrocontrollern eine Open Source Plattform an, die mit Hardware und Softwarekomponenten und einer großen Community von freien Entwicklern zum Mitmachen einlädt. Die einfache Handhabung ist für jedermann geeignet, der sich für die Realisierung von interaktiven Projekten interessiert.

Das Herzstück ist dabei die Hardwarekomponente bestehend aus einem Microcontroller, der über analoge und digitale Ein- und Ausgänge verfügt. Die Software ist eine integrierte Entwicklungsumgebung, welche auf die Java Anwendung Wiring IDE basiert. In der Entwicklungsumgebung wird über C beziehungsweise C++ Befehle ein Programm geschrieben. Dieses ist durch eine Vielzahl an vorgegebenen Libraries einfach lesbar und für jedermann anwendbar.

Die aktuellen Modelle des Arduino-Board sind laut Hersteller vier Klassen untergeordnet:

Einstiegslevel
Mit Dem Einstiegslevel lassen sich im Handumdrehen Sensoren auslesen, eine LED ansteuern oder ein Motor in Bewegung versetzen. 

Erweiterte Funktionen
Mit den erweiterten Funktionen stehen mehr Anwendungsmöglichkeiten mit einem erweiterten Leistungsspektrum zur Verfügung. 

Internet of Things
Die IoT Produkte sind speziell für kreative Projekte in Verbindung mit dem World Wide Web optimiert. 

Bildung
Das Bildungslevel bietet für Pädagogen geeignete Hardware und Software Tools, um diese zum praxisnahen und innovativen Lernen einzusetzen. Sie schaffen eine interaktive Lernumgebung, um Schüler auf unterhaltsame Weise in die Welt der Elektronik und der Programmierung einzuladen. 

Im Jahr 2005 wird der erste Arduino entwickelt. Der ATmega8 ist daraufhin in einer Auflage von 200 Stück produziert worden. Bereits zu diesem Zeitpunkt ist ein Viertel der Boards an Bildungseinrichtungen weitergegeben worden. 

Ein Arduino Shield ist ein selbstständiges Modul, welches passend zu den Pins auf das Arduino-Board gesteckt werden kann, um es mit erweiterten Funktionen ausrüsten zu können. Es gibt unzählige Erweiterungsmöglichkeiten, beispielsweise zur Ansteuerung von Motoren, für die Verwendung externer Datenspeicher, zur Datenübertragung über Funk, zur Integration von Displays und zur Kommunikation über WIFI oder sogar über das GSM-Netz.



Das Arduino Proto Shield

Ein Shield für den Arduino lässt sich unter anderem auch selbst bestücken. Für diejenigen, die lieber selbst ein Prototyp Projekt entwickeln, als auf ein vorgefertigtes Shield zurück zu greifen, ist das Arduino Proto Shield das geeignete Mittel der Wahl. 

Es ist passend auf das Arduino Board ausgelegt und alle notwendigen Anschlüsse lassen sich darauf übertragen. Sämtliche Pins, die zur Verbindung des Boards mit dem Shield notwendig sind, müssen allerdings selbst aufgelötet werden. Dies ermöglicht dem Entwickler eigene Bauteile frei auf das vorgegebene Lochraster aufzulöten und die Verbindungen selbst fest zu legen. 

Mit dem Proto Shield kann der Entwickler frei entscheiden, welchen Schaltkreis er dem Arduino zum Verarbeiten vorgibt. Es können dabei Bauteile zum Durchstecken oder zur Oberflächen-Verlötung, TH oder SMD Bauform verwendet werden. Wer flexibel sein möchte, kann zusätzlich ein Breadboard erwerben, um dieses auf das Board aufzukleben. Dadurch können die Bauteile lötfrei gesteckt werden und Änderungen im Schaltungsaufbau sind im Handumdrehen geschehen.



Das Arduino Motor Shield

Der Arduino als Einheit zur Steuerung kann die Bewegung eines Aktors beeinflussen. Die Drehrichtung und die Geschwindigkeit, in der sich ein Aktor bewegt, sind die Grundlage dafür, einen mechanischen Prozess auszuführen. 

Das Arduino Motor Shield R3 ist dazu geeignet, um mit Hilfe eines Arduino UNO Motoren betreiben zu können. Es verfügt mit dem Treiber L298P über einen zweifachen Brückentreiber, der dazu verwendet werden kann, induktive Lasten wie Gleichstrommotoren, Schrittmotoren, Magnetventile oder Relais anzusteuern. Mit ihm kann entweder ein Schrittmotor oder zwei Gleichstrommotoren in Drehrichtung und Geschwindigkeit gesteuert werden. Die Anschlussspannung reicht von 5 Volt bis 12 Volt und die maximale Stromstärke liegt bei 2 Ampere pro Kanal, beziehungsweise 4 Ampere maximal mit einer externen Spannungsversorgung.

Das Arduino Motor-Shield kann über zwei Spannungsquellen versorgt werden. Über das Arduino Board selbst wird für die Logiksignale des Motortreibers 5 Volt bezogen. Um sicherzustellen, dass genügend Spannung zur Verfügung steht, sollte neben der gängigen Spannungsversorgung über den USB-Port noch die Hohlbuchse für die externe Stromversorgung verwendet werden. Diese kann mit einem Netzteil, welches 7-12 Volt im Ausgang vergibt, über den 2,1 Millimeter Center-Positiv Stecker mit dem Board verbunden werden.
Alternativ kann auch die Spannungsversorgung über ein Batteriepack an den Schraubklemmen Gnd und V in des Power Connectors, mit dem Shield verbunden werden.

Die Motoren selbst werden über den IC 298 an den Schraubklemmen Vin mit Spannung versorgt. Dies kann entweder an den Anschlüssen Vin des Arduino oder an der Leiste des Shields geschehen. Der Motortreiber L298 ist in der Lage, mit einer maximalen Motorspannung von 46 Volt zu arbeiten. Um bei Spannungen über 12 Volt eine Beschädigung des Arduino Boards zu vermeiden, sollte die Lötbrücke Vin Connect auf der Unterseite des Shields vor dem Betrieb durchtrennt werden.

Das Shield verfügt über zwei separate Kanäle zum Betrieb mehrerer Aktoren. Die Kanäle A und B können entweder dazu genutzt werden, um zwei Motoren mit einer Drehrichtung zu betreiben oder einen Motor mit zwei Drehrichtungen. Pro Kanal werden vier Pins zur Ansteuerung verwendet und es stehen jeweils zwei LEDs zur Anzeige der Drehrichtung Vorwärts oder Rückwärts bereit.

Die folgenden Pins sind den Kanälen A und B zugeordnet. 

  • Die Drehrichtung wird gesteuert, wenn entweder ein High oder Low Signal an den Pins D12 (DIR A) oder D13 (DIR B) anliegt. 

  • Die Geschwindigkeit wird über die Pulsweitenmodulation an den Pins D3 (PWM A) oder D11 (PWM B) übertragen. 

  • Für eine aktive Bremsung stehen die Pins D9 (Brake A) oder D8 (Brake B) zur Verfügung. 

  • Die Spannung für den jeweiligen Kanal kann an den Pins A0 oder A1 gemessen werden. Diese sind für eine maximale Spannung auf 3,3 Volt bei einem Strom von 2 Ampere kalibriert. 

  • Für den Anschluss zweier Gleichstrommotoren werden jeweils die beiden Anschlusskabel an die Schraubklemmen + und – des jeweiligen Kanals geklemmt.



Das Arduino Ethernet Shield

Die Arduino Boards verfügen über eine serielle Schnittstelle für die Kommunikation mit anderen Geräten. Wer darüber hinaus das Board nutzen möchte, um beispielsweise eine Smart Home-Steuerung aufzubauen, der wird das System in einem Netzwerk einbinden wollen. 

Eine Möglichkeit dies kabelgebunden umzusetzen, bietet das Arduino Ethernet Shield. Der Ethernet Controller ist über die Pins 10, 11, 12 und 13 mit dem Arduino verbunden. Darüber hinaus sind die Pins 4, 11, 12 und 13 zur Verbindung mit einer SD-Karte vorgesehen. 

Setzt man das Shield nun auf das Arduino Board auf, sind die übrigen Pins für weitere Anwendungen frei verfügbar. Das Paket kann nun über ein Ethernet Kabel mit einem Router und über die USB-Schnittstelle mit einer Spannungsquelle beziehungsweise mit einem Rechner zum Programmieren des Boards verbunden werden. 

Öffnet man nun die Programmierumgebung, sind in der Library zwei Arten von Software Objekten zu finden, um das Ethernet Modul betreiben zu können: Den Server und den Client. Ein Server steht bereit, um das Ethernet Modul mit Geräten aus dem Internet zu verbinden. Ein Client stellt eine Verbindung zu Geräten im Internet her und sendet Anfragen beziehungsweise erhält Antworten. 

Mit den Funktionen read(), write(), print() und printIn() lassen sich sowohl Server, als auch Clients auslesen und beschreiben. Der Befehl available() dient zur Abfrage neuer Datensätze, der Befehl connected() zur Abfrage, ob ein Server mit dem Client, beziehungsweise ein Client mit dem Server verbunden ist.

Um das Modul mit dem Internet zu verbinden, sind zuvor einige Adresszuweisungen zu ermitteln.