events
Am 24. Mai 2012 findet das DESIGN&ELEKTRONIK-Entwicklerforum »HMI – Komponenten & Lösungen« mit begleitender Fachausstellung statt. Die Themen: »Bedienen und Beobachten: Technik, Know-how und Tools für das Design moderner Benutzerschnittstellen«.
Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.
Ausführliche Informationen:
www.embedded-entwicklerforum.de
Produkte des Jahres 2012
Linux /ARM
Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?
Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.
Ausführliche Informationen:
www.arm-entwicklerkonferenz.de
embedded world Technology Report
Infos und Hintergründe rund um Android im Embedded-Umfeld.
Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.
Interessiert? Hier geht es zum kostenlosen Download
embedded world special
Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.
Windows Embedded Standard 7
Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.
Windows 7 - Special zum Download
Marktübersichten Embedded
Wer bietet was?
Schnelle Information auf einen Klick!
Software im sicherheitskritischen Bereich
Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.
Entwicklungstools
Arduino & Co.
Das Board „Arduino Uno“ mit einem Mikrocontroller ATmega328 ist das gegenwärtige „Basic Board“ von Arduino.
Die Physical-Computing-Plattform Arduino sollte ursprünglich Künstlern und Designern einen einfachen Zugang zu digitalen Technologien und -Installationen öffnen. Inzwischen ist die Plattform so ausgereift, dass damit auch professionelle Prototypen entwickelt werden. Das ungewöhnliche Konzept der Open-Source-Hard- und -Software erhielt schon 2006 in Linz den „Prix Ars Electronica“.
Anzeige
Schaut man in die einschlägigen Foren und Portale zur Mikrocontroller-Technologie, dann kommt man heute am Thema Arduino kaum vorbei. Ein weiterer Impuls kam von Google, die sich für Arduino als „Android Open Accessory”-Kit entschieden haben [1]. Arduino ist eine Open-Source-Prototyping-Plattform auf der Grundlage flexibler und einfach zu nutzender Hard- und Software.
Primäres Einsatzziel für Arduino ist der direkte Kontakt mit der Umgebung. Arduino kann die Signale von Sensoren auswerten und durch Aktoren auf die Umgebung zurückwirken. Für Anwendungen, in denen der Zugriff auf die Umgebung ein zentrales Moment darstellt, wurde der Begriff des „Physical Computing“ geprägt.
Der auf den Arduino-Boards verwendete AVR-Mikrocontroller wird in einer auf „Wiring“ aufbauenden Programmiersprache programmiert. Die Programmierung erfolgt unter Verwendung einer Arduino-Entwicklungsumgebung (PC mit Windows/Linux/MacOS) mit gcc, unter Verwendung der avr-gcc-Library und weiteren Arduino-Libraries. Die eigentliche Programmierung in C/C++ wird dadurch weitgehend verborgen und stark vereinfacht.
Das Arduino-Projekt wurde 2006 in der Kategorie Digital Communities mit dem Prix Ars Electronica ausgezeichnet. Zu Arduino sind zahlreiche Veröffentlichungen erschienen, von denen einige Beispiele im Literaturverzeichnis unter [2] bis [5] angeführt sind.
Arduino-Hardware: Das Original
Das Arduino-Board gibt es in verschiedenen Versionen. Das gegenwärtige „Basic Board“ ist Arduino Uno, dessen Kern ein ATmega328 von Atmel ist. Die Arduino-Plattform ist aber nicht auf die 8-bit-AVR-Mikrocontroller beschränkt. Schon bald nach Einführung des Konzepts kamen erste Derivate, die auf Cortex-M3 aufbauen, gefolgt von ARM7 und PIC32. Bevor auf diese Derivate eingegangen wird, wird das „Arduino-Original“ als Beginn dieser Entwicklung betrachtet.

Auf dem Arduino-Uno-Board wird der AVR-Mikrocontroller noch durch Schaltungsteile zur Stromversorgung und eine als USB-Interface ausgelegte serielle Schnittstelle erweitert. Über das USB-Interface erfolgt der Programm-Download vom PC und die Kommunikation des Anwendungsprogramms mit dem PC sowie in einfachen Fällen auch die Stromversorgung.
Die auch als I/O-Board bezeichneten Arduino-Boards stellen dem Anwender 14 digitale Ein- bzw. Ausgänge zur Verfügung. Davon sind sechs auch als Pulsweitenmodulations-Ausgang nutzbar. Sechs weitere Eingänge führen auf den internen 10-bit-Analog-/Digitalumsetzer des AVR-Mikrocontrollers. SPI und I2C stehen als weitere Schnittstellen zur seriellen Kommunikation zur Verfügung.
Bild 1 zeigt ein Arduino Uno mit seiner weitgehend konventionellen Bestückung. An der Oberkante des Arduino-Uno-Boards befinden sich zwei achtpolige Buchsenleisten, die den Zugang zu den digitalen I/O-Pins 0 bis 13, zur analogen Referenzspannung AREF und zu Ground GND ermöglichen.
An der Unterkante sind zwei sechspolige Buchsenleisten zur Kontaktierung der sechs analogen Eingänge Analog In 0 bis 5 sowie der Versorgungsspannungen und Reset. Die Zuordnung der Anschlüsse des Arduino Uno zu den Pins des ATmega328 (und den Alternativfunktionen) zeigt die Tabelle:
| Buchsenleiste 1 Oberkante |
||||||||
| I/O | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| AVR | PD0 | PD1 | PD2 | PD3 | PD4 | PD5 | PD6 | PD7 |
| RxD | TxD | INT0 | INT1 | T0 | T1 | AINO | AIN1 | |
| 0C2B | 0COB | 0COA | ||||||
| Buchsenleiste 2 Oberkante | ||||||||
| I/O | 8 | 9 |
10 | 11 | 12 | 13 | ||
| AVR | PB0 | PB1 | PB2 | PB3 | PB4 | PB5 | ||
| ICP1 | 0C1A | 0C1B | 0C2A | MISO | SCK | |||
| SS | MOSI | |||||||
| Buchsenleiste 1 Unterkante | ||||||||
| Analog In | 0 | 1 | 2 | 3 | 4 | 5 | ||
| AVR | PC0 | PC1 | PC2 | PC3 | PC4 | PC5 | ||
| ADC0 | ADC1 | ADC2 | ADC3 | ADC4 | ADC5 | |||
| SDA | SCL | |||||||

Neben dem Arduino Uno gibt es weitere Varianten und zahlreiche Clones. Eine aktuelle Übersicht zu den verschiedenen Arduino-Boards ist unter diesem Link zu finden. Arduino-Clones sind hier gelistet. Erweitert wird das Basis-Board mit Arduino Shields, die über die Buchsenleisten angeschlossen werden.
Bild 2 zeigt einen Stapel von Leiterplatten, bestehend aus einem Arduino-Board, einem GSM-Shield von HW Kitchen und einem Arduino Ethernet-Shield. Unter shieldlist.org/ kann man mit großer Wahrscheinlichkeit ein Shield für eigene Entwicklungen finden, ohne eine eigene Hard- und Software-Entwicklung starten zu müssen. Aktuell sind dort über 150 Shields gelistet.
1. Teil: Arduino & Co.
2. Teil: Eigene Programmiersprache
3. Teil: Arduino-kompatible 32-bit-Controller
4. Teil: Literatur & Autor











