Einfache, aber überzeugende Schnittstellenlösungen aus der Welt der Maker

Von Europäische Herausgeber

Zur Verfügung gestellt von Europäische Fachredakteure von DigiKey

Kleine Computerboards, wie die der Arduino-Familie, sind mehr als einfach nur ein geschätztes Hilfsmittel für die Fortbildung. Das Ökosystem wurde von professionellen Ingenieuren enthusiastisch angenommen, um zahlreiche Herausforderungen im Zusammenhang mit der Erfassung und Steuerung zu lösen. Diese Lösungen reichen von einfachen vernetzten Sensoren bis zur Steuerung von Motoren oder Aktoren in Maschinen oder einfachen Robotern.  Die Kombination aus einem Mikrocontrollerboard von Arduino und Eingängen/Ausgängen oder einem Motorantriebs-Shield könnte die Anforderungen eines Projekts an die Bewegungssteuerung erfüllen. Der Open-Source-Charakter einer Plattform wie Arduino bedeutet, dass es viele Projekte gibt, die online veröffentlicht werden und als Startpunkt für eine maßgefertigte Anwendung dienen können. Es gibt zahlreiche Quellen aus vordefiniertem Code aufseiten von Herstellern oder auf der unabhängigen Entwicklerplattform GitHub. Abbildung 1 ist ein Code-Ausschnitt für die Steuerung eines Arduino-basierten Roboters von GitHub.

Bild von Code für Open-Source-Projekte

Abbildung 1: Entwickler-Communities bieten eine Plattform, auf der Code für Open-Source-Projekte gesucht und mit Dritten geteilt werden kann.

Auswahlmöglichkeiten für Benutzerschnittstellen

Am anderen Ende der Verbindung wird eine Benutzerschnittstelle benötigt. Für bestimmtes Equipment, wie einen Roboterarm oder eine motorisierte Sonde, werden möglicherweise höchstens einige Steuerungen für grundlegende Bewegungen – wie vorwärts/rückwärts, links/rechts oder Rechts-/Linksdrehungen – benötigt.

Smartphone-App?

Eine Möglichkeit ist, ein Smartphone als Haupt-Controller für die Benutzerschnittstelle zu verwenden. Dies findet verbreitet Anwendung in Bereichen, in denen Konsumenten mit smarten „Dingen“ – wie Wohnungsheizungen oder Beleuchtungssystemen, Sicherheitseinrichtungen oder Drohnen – interagieren müssen. Das Smartphone hat viele Stärken, darunter sein Farbdisplay mit hoher Auflösung für die Darstellung interaktiver Instrumente, hochmoderne Multi-Touch-Funktionen und vielseitige Konnektivitätsmöglichkeiten, wie Mobil-, Wi-Fi®- und Bluetooth®-Verbindungen. Sie sind allgegenwärtig und können leicht in einen passenden Controller umgewandelt werden, indem einfach eine App geladen wird, die für das neue Projekt verwendet werden kann.

Für einige Projekte kann die Entwicklung einer benutzerdefinierten App kosten- und zeitintensiv sein und zudem außerhalb der Kernkompetenzen des Entwicklungsteams liegen.

Für die Steuerung von Arduino-basierten Robotern über Bluetooth mit einem Smartphone stehen über Google Play mehrere Android-Apps zur Verfügung. Über diese Apps können Entwickler zwischen verschiedenen fertigen Benutzerschnittstellen wählen, die entweder kostenlos oder zu einem geringen Preis verfügbar sind. Die Apps sind jedoch häufig für funkgesteuerte Spielzeuge konzipiert und somit für die Endanwendung möglicherweise nicht unbedingt geeignet. Andererseits stellen einige von ihnen (wie der Arduino BT Joystick) leicht verständliche Grafiken bereit, die für ein professionelles Erscheinungsbild sorgen können oder (wie RemoteXY) die Möglichkeit bieten, die Knöpfe, Tasten und Schieberegler individuell zu konfigurieren.

Entwicklung mit Hardware-Benutzereingabemodulen

Es gibt eine Vielzahl von Modulen, mit denen eine angepasste Bedieneinheit implementiert werden kann und die Unterstützung bei Herausforderungen in Bezug auf Hardware und mechanisches Design bieten. Dazu zählen Joysticks und Drucktasten in verschiedenen Kombinationen. Sie sind ideal für die Steuerung von Bewegungen in verschiedene Richtungen und können auf verschiedene Art und Weise mit einem Mikrocontrollerboard verbunden werden. Außerdem stehen mehrere Optionen zum Hinzufügen eines Funkmoduls für die Implementierung einer drahtlosen Fernbedienung zur Verfügung, deren Zweckmäßigkeit vergleichbar ist mit der eines Smartphones.

Der Daumen-Joystick COM-09032 von SparkFun konvertiert Vorwärts-/Rückwärts- und Links-/Rechtsbewegungen in analoge Spannungen und integriert eine Drucktaste, die unabhängig von der Joystickausrichtung als ein „Auswahl“-Eingang verwendet werden kann. Der Joystick ist mit einer eigenen Breakout-Karte ausgestattet, um die Verbindung zum Host zu vereinfachen, und verwendet dabei nur fünf Kontakte: Versorgungsleitung, Erdleiter, Ausgangsspannungen (X und Y) und Status der „Auswahl“-Taste. SparkFun hat zudem Beispielcode für das Auslesen der Eingangsspannungen vom Joystick und deren Darstellung als digitale Werte an einem seriellen Ausgang bereitgestellt (Abbildung 2).

Bild von Arduino-Beispielcode zum Auslesen von Werten von einem SparkFun-Joystick

Abbildung 2: Arduino-Beispielcode zum Auslesen von Werten von einem SparkFun-Joystick.

Verbindung zu anderen Hardware-Ökosystemen

Joysticks sind über mehrere andere Hersteller erhältlich und können leicht mithilfe von Software, wie beispielhaft in Abbildung 2 dargestellt, mit einer Arduino-Platine verbunden werden. Eine Verbindung zu anderen Hardware-Ökosystemen kann alternativ die Optionen für Entwickler noch erweitern. Über den MAXREFDES72-Adapter von Maxim können Arduino-Benutzer beispielsweise Peripheriemodule aus dem PMod™-Ökosystem mit ihren Projekten verbinden. Über diese praktische Schnittstelle zu PMod haben Entwickler Zugriff auf eine Vielzahl von Modulen, zu denen nicht nur das JSTK2 PMod™-Joystick-Modul von Digilent, sondern auch das PmodBTN-Schaltmodul mit Drucktasten von Diligent zählt, das vier Schalter für Funktionen für die Benutzersteuerung sowie eine Reihe weiterer Module enthält, darunter ein Tastenfeld mit 16 Tasten.

All-in-One-Steuerplatine

Ein Joystick in Verbindung mit Drucktasten ist eine bewährte Kombination für die Steuerung einer Vielzahl von möglichen Benutzereingaben. Fragen Sie alle Gaming-Fans! Das Layout und die Funktionen eines typischen Gaming-Controllers, auf denen sich der Joystick neben den Drucktasten befindet, sind intuitiv und ideal für Befehle, wie das Bewegen, Positionieren und Auslösen eines Mechanismus (z. B. eines Portals, eines Roboterarms oder eines Greifers).

Das DFR0008 von DFRobot stellt einen Joystick und vier farbige Drucktasten als komplett montiertes Modul mit zusätzlichen Leisten für XBee-Funkmodule bereit. Da das DFR008 Entwicklern ermöglicht, die Vorteile des XBee-Ökosystems zu nutzen, vereinfacht es gleichzeitig das Hinzufügen von Drahtlosverbindungen, weil eine Auswahl aus einer Vielzahl von auf dem Markt erhältlichen XBee-Modulen getroffen werden kann. Dazu zählen die XB24-API-001-Funkplatine mit 2,4 GHz nach Standard IEEE 802.15.4 von Digi sowie das XB8-DMUS-002-sub-GHz-Modul mit 868 MHz, welches sich für eine lizenzfreie Verwendung in Europa eignet.

Für Entwickler, die mit der Wireless Connectivity von XBee in Arduino-Projekten experimentieren möchten, enthält das XBee/Arduino Educational Pack von Digi Mikrocontroller-Platinen von Arduino, eine Auswahl von XBee-Modulen und Drucktasten und ein Joystickmodul, die ideal zum Erstellen verschiedener Benutzerschnittstellentypen sind. XBee-Benutzer können bei der Entwicklung auch auf unterstützende Entwicklungsressourcen, einschließlich Softwaretools und Beispielcode, zurückgreifen.

Offene Gestaltung der grafischen Benutzerschnittstelle

Open-Source-Umgebungen geben Entwicklern die Möglichkeit, bei Bedarf ihre technischen Fähigkeiten auf hohem Niveau anzuwenden. Beispielsweise können sie ihre eigene eingebettete grafische Benutzerschnittstelle mit einem Modul wie dem ULCD-32PTU-AR-3,2-Zoll-Farb-Displaymodul von 4D Systems mit integriertem resistiven Touchscreen entwickeln. Das Paket umfasst einen Adapter für die Verbindung zur Arduino-Platine über die Standardleisten sowie über ein Kabel für die Verbindung zwischen Adapter und Display. Die Arduino-Leisten bleiben dabei zum Stecken anderer Arduino-Shields, wie einem Funkmodul, unbelegt. Es stehen mehrere Toolsets zur Verfügung, die die Entwicklung der grafischen Benutzerschnittstelle vereinfachen. Diese Sets umfassen eine Einstiegsumgebung für die Entwicklung von Code, ein grafisches Designtool namens ViSi zur Unterstützung der Codegenerierung durch eine Click-and-Place-Objektplatzierung und eine erweiterte ViSi-Genie-Umgebung. In ViSi-Genie ordnet der Benutzer die Objekte ganz einfach an und legt die entsprechenden Ereignisse für diese Objekte fest. Der Code wird dann automatisch generiert.

Fazit

Es gibt in der Welt der Maker mehrere Wege, um Projekte erfolgreich abzuschließen. Es gibt viele Beispiele und Kits, die Entwickler beim Meistern von schwierigen Herausforderungen und Implementieren von Software auf der Ziel-Hardware unterstützen können.

Ein Benutzereingabegerät für die Bewegungssteuerung und den Antrieb kann beispielsweise durch das Verbinden einer Smartphone-App über Bluetooth eingerichtet oder mit Hardware in Form einzelner Module oder eines vollständig integrierten Joystick/Schalter-Shields konfiguriert werden. Außerdem können Entwickler die Vorteile von Eingabegeräten oder drahtlosen Modulen aus anderen Ökosystemen, wie PMod oder XBee, nutzen, die zusätzliche Wege zu erfolgreichen Projekten bieten. Die Module sind zu erschwinglichen Preisen erhältlich und leicht zu integrieren, da auf Code und technisches Know-how in der Open-Source-Community zurückgegriffen werden kann.

 
DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Europäische Herausgeber

Über den Verlag

Europäische Fachredakteure von DigiKey