»Arduino«-kompatible Plattform

Das rosarote Spielmobil

26. November 2013, 11:36 Uhr | Von Ian Hall
Das »Sakura«-Board von Renesas.
© Renesas Electronics Europe

Ursprünglich konzipiert für die Entwicklung einfacher interaktiver Objekte und Umgebungen - etwa für Museen oder Kunstausstellungen -, genießt die Open-Source-Plattform »Arduino« inzwischen große Beliebtheit nicht nur bei Hobbyelektronikern, sondern auch bei Profis. Letztere nutzen sie beispielsweise zum schnellen Erstellen von Prototypen und einfachen Mikrocontroller-Systemen. Wegen der Beliebtheit entstehen nun auch Arduino-kompatible Boards von Drittherstellern.

Diesen Artikel anhören
Das »Sakura«-Board von Renesas.
© Renesas Electronics Europe

Seitdem die 32-Bit-Plattform »Arduino« im September 2011 angekündigt wurde, ist ein umfangreiches Ökosystem rund um dieses System entstanden. Baugruppen sind in Form offizieller Arduino-Boards wie etwa des »Uno« erhältlich. Alternativ kann man sie auch von Hand oder aus dem Angebot zahlreicher Drittanbieter zusammenstellen, die oft zusätzliche Funktionen hinzufügen, zum Beispiel Ethernet, die auf den offiziellen Boards nicht verfügbar sind. Zu den wichtigsten Gründen für den Erfolg von Arduino zählt die Verfügbarkeit sogenannter »Shields«. Dies sind Steckplatinen, mit denen sich der Funktionsumfang dieser Plattform erweitern lässt, unter anderem für WLAN, Ethernet, Motorsteuerung und GPS.

Ähnlich wie die Hardware ist auch die Software bei Arduino quelloffen. Die Programmiersprache beruht auf »Wiring«, die IDE (Integrated Development Environment) basiert auf »Processing«. Wer sich mit C oder C++ auskennt, wird sich sofort zuhause fühlen, da die Programmiersprache so etwas wie ein Hybrid aus C und C++ ist. Die objektorientierten Programmierfunktionen von C++, beispielsweise das »Operating Overloading«, bieten dem Anwender Vorteile ohne die sonst übliche Komplexität, da der Quellcode eher dem von C ähnelt. Im Gegensatz zu C oder C++ ist keine »main«-Funktion erforderlich; stattdessen gibt es eine »setup«-Funktion, die nur einmal am Beginn der Anwendung ausgeführt wird, sowie eine »loop«-Funktion, die kontinuierlich ausgeführt wird.

Das Codebeispiel 1 im Kasten zeigt eine einfache Anwendung mit einigen der vielen nützlichen Funktionen dieser Programmierumgebung.

passend zum Thema

Codebeispiel 1 
#include <rxduino.h>
#define INTERVAL 100
void setup()
{
          pinMode(PIN_LED0,OUTPUT);
          pinMode(PIN_LED1,OUTPUT);
}
void loop()
{
         digitalWrite(PIN_LED0, 1);
         delay(INTERVAL);
         digitalWrite(PIN_LED1, 0);
         delay(INTERVAL);
         digitalWrite(PIN_LED0, 0);
         delay(INTERVAL);
         digitalWrite(PIN_LED1, 1);
         delay(INTERVAL);
}

Um einen I/O-Pin als Ein- oder Ausgang zu konfigurieren, muss man nicht erst im Bauteil-Handbuch nachschlagen, da sich dies über die »pinMode«-Funktion erledigen lässt. Beim Ausgeben eines Signals an einen Ausgangsport ruft man einfach die Funktion »digitalWrite« auf; zum Einfügen einer Verzögerung in die Anwendung sind dabei weder Timer noch Softwareschleifen erforderlich.

Weitere nützliche, integrierte Funktionen erledigen das Lesen oder Schreiben von Analogwerten, das Abfragen der Systemverfügbarkeit in Milli- oder Mikrosekunden oder die Nutzung einer seriellen Schnittstelle. Beim Aufbau einer Anwendung wandelt ein Backend-Werkzeug den Wiring-Quellcode in C++ um und führt einen Build-Vorgang mithilfe einer GCC-Werkzeugkette aus. Der daraus entstandene Binärcode wird nahtlos in das Board heruntergeladen - typischerweise über USB - und ausgeführt.

»Kirschblüte« mit Mikrocontroller

Bild 1: Das Hardware- und Software-System rund um das »Sakura«-Board
Bild 1: Das Hardware- und Software-System rund um das »Sakura«-Board
© Renesas

Nachdem Arduino im 32-Bit-Bereich ziemlich beliebt geworden ist, hat sich auch Renesas, deren Mikrocontroller in diesem Bereich präsent 
sind, entschlossen, ein Arduino-kompatibles Board zu entwickeln. Das erste Konzept für das »GR-Sakura« (Gadget Renesas Sakura) entstand Ende 2011, als Atsuhiko Kogure vom Unternehmen Wakamatsu Tsusho auf der Embedded Technology Show den Stand von Renesas besuchte (Bild 1). Herr Kogure wollte ein japanisches Produkt auf den Markt bringen, und innerhalb weniger Monate wurde das Projekt unter der Führung von Freiwilligen von Renesas und der Arduino-Community auf den Weg gebracht.Es basiert auf dem 32-Bit-Mikrocontroller »RX63N« mit einer Taktfrequenz von 100 MHz. Obwohl die Plattform einen Mikrocontroller von Renesas nutzt, stammt das Board nicht aus der Fertigung des Chipherstellers.

Beim ersten Blick auf die Platine sticht dem Betrachter die auffällige rosa Farbe ins Auge. Sakura bedeutet Kirschblüte, und genau daraus wurde die Farbe abgeleitet. Es gibt zwei Versionen: das »GR-Sakura« und »GR-Sakura-Full«. Letzteres wird nachfolgend näher behandelt, da dieses System einen LAN-Stecker, einen USB-Host-Stecker, einen Stromversorgungsanschluss sowie einen MMC-Kartensteckplatz enthält, die dem anderen Board fehlen.

Das Sakura hat etwa die gleichen Abmessungen wie das Arduino Uno. Die bekannten Arduino-Sig-nale - I/O, Analog-in, SPI sowie PWM-Ausgänge usw. - werden auf Headern bereitgestellt, sodass es zu vielen verfügbaren Arduino-Shields kompatibel ist. Ein spezielles Shield - das Ethernet-Shield - ist allerdings nicht nötig. Denn das GR-Sakura-Full-Board besitzt standardmäßig eine integrierte Ethernet-Schnittstelle, die über die im RX63N integrierten EtherC- und E-DMAC-Schaltungen bereitgestellt wird. Diese Schnittstelle ist leistungsfähiger als das normale, über SPI angeschlossene Ethernet-Schnittstellen-Shield.


  1. Das rosarote Spielmobil
  2. Entwickeln im Web

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Renesas Electronics Europe GmbH