Über Gesten können Sie jedes System kontrollieren

Von Europäische Herausgeber

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

Tablets und Smartphones sorgten dafür, dass uns die Vorstellung von der Steuerung elektronischer Geräte mittels Gesten heute vertraut ist. Bewegungen wie das Zusammenführen von Daumen und Zeigefinger stehen heute synonymisch für das Verkleinern der Darstellung eines Objekts auf dem Bildschirm; mit Wischgesten lässt sich zum nächsten Foto oder zur nächsten App wechseln. Diese einfachen Steuerungsgesten muten uns heute völlig normal an.

Dank ihrer täglichen Nutzung erobern Schnittstellen mit Gestensteuerung auch andere technische Bereiche. In Anwendungen der Automobiltechnik, wo der Fahrer Funktionen steuern muss, ohne vom Fahren abgelenkt zu werden, gewinnen sie ebenfalls zunehmend an Bedeutung. Häufig dienen diese gestischen Schnittstellen als Ergänzung der interaktiven Displays in der Instrumententafel. Ein wichtiger Vorteil gestischer Schnittstellen ist jedoch, dass sie keine komplexe visuelle Anzeige benötigen. Akustische Meldungen oder Änderungen in der Lichtkonfiguration an einem Gerät können signalisieren, dass eine Geste erkannt und der Status geändert wurde. Folglich sind gestische Schnittstellen äußerst nützlich in Geräten, die als Teil des Internets der Dinge (IoT) eine intelligente Umgebung schaffen.

Die Gesten für Geräte ohne grafische Schnittstelle werden einfacher als die auf Smartphones sein, die häufig auf die Änderung der Anzahl der verwendeten Finger ansprechen. Diese simpler gestrickten Schnittstellen werden in der Regel mit Bewegungen der ganzen Hand gesteuert. Eine aufwärts führende Wischgeste vor einer Sensorleiste kann die Steuersysteme im Raum anweisen, die Lampen heller leuchten zu lassen. Eine waagerechte Wischgeste kann der Heizungssteuerung signalisieren, die Temperatur hoch- und herunterzufahren. Mit einem kurzen Fingerschnippen ließe sich zu einer anderen Funktion wechseln oder das Entertainmentsystem anweisen, zum nächsten Titel zu springen.

Die Bedeutung der Geste könnte sich dann in Abhängigkeit davon ändern, in welchem Modus sich die Sensorleiste befindet – vielleicht mit einfachen LED-Symbolen oder Sprachmeldungen, die dem Benutzer mitteilen, welcher Modus aktiv ist. Über eine Netzwerkverbindung zu den verschiedenen Systemen im Raum kann die Sensorleiste viele Funktionen steuern – einer der Vorteile einer IoT-Infrastruktur. Die Sensorleisten können in Tische, Wandsteuerelemente oder andere elektronische Geräte wie Lautsprecher integriert sein. Mehrere Geräte können sich potenziell mit den IoT-Systemen abstimmen und so eine bequeme Steuerung an verschiedenen Orten im Raum ermöglichen.

Für die Erkennung von Gesten gibt es verschiedene Möglichkeiten, z. B. Kameras und Näherungssensoren. Kosten sind bei IoT-Anwendungen allerdings ein entscheidender Punkt. Kameragestützte Anwendungen erfordern komplexe Software für die Verarbeitung der Bilder, bieten jedoch eine hohe Flexibilität und die Möglichkeit der Erkennung vieler verschiedener Arten von Gesten.

Der elektrische Feldsensor kostet viel weniger und ist einfacher zu betreiben. Er nutzt mit Wechselspannung betriebene Elektroden, um ein elektrisches Feld über der Oberfläche eines Objekts zu erzeugen. Die Frequenz wird so gewählt, dass die magnetische Komponente des Elektromagneten auf ein Minimum reduziert und ein quasi statisches elektrisches Nahfeld aufgebaut wird, das von einem leitenden Objekt, das sich in seinen Bereich bewegt (z. B. eine Hand), gestört wird.

Diagramm mit Bereichen von Standard- und verstärkten Sensoren

Abbildung 1: Die bei Standard- und verstärkten Sensoren verfügbaren Bereiche.

Befindet sich die Hand des Benutzers im erfassten Bereich, werden die Feldlinien, die sie berühren, über den Körper des Benutzers an Masse gelegt. Das stört das Gesamtfeld. Der Effekt senkt die Elektrodensignalpegel in der Nähe der Hand auf niedrigere Pegel, die von einem Sensorfeld erkannt werden. Wenn sich die Hand bewegt, nehmen verschiedene Teile des Sensorfeldes die Bewegung auf und melden die Potenzialänderungen einem Controller-IC wie dem MGC3x30 GestIC von Microchip Technology.

Blockdiagramm vom GestIC MGC3030

Abbildung 2: Blockdiagramm vom GestIC MGC3030.

Der GestIC hat Schnittstellen für bis zu fünf Empfängerelektroden und einen Sender. Die Empfänger- und Senderelektroden können aus jedem leitenden Material wie Kupfergeflecht oder ITO (Indiumzinnoxid) bestehen. Die Isolierung zwischen den Elektroden kann aus einem beliebigen nicht leitenden Material bestehen, z. B. PCB FR4, Glas oder Kunststoff. Eine optionale Deckschicht auf der Elektrode muss ebenfalls nicht leitend sein. Die Senderelektrode wird unter dem Feld mit der Empfangselektronik platziert.

Der Aufbau bietet die Wahl zwischen Standard- und verstärkten Sensoren. Die Standardausführung eignet sich für kleine, oft batteriebetriebene Geräte, die eine schwache Verbindung zur Erdung haben. Die verstärkte Ausführung, die mit einer höheren Sendespannung arbeitet, eignet sich für größere Geräte mit einer guten Erdverbindung, so auch Geräte, die einen größeren Erkennungsbereich benötigen. Bei Verwendung einer Standardsensorkonfiguration bietet eine geerdete Verbindung einen größeren Erkennungsbereich – in der Regel 100 mm, verglichen mit den 50 mm eines batteriebetriebenen, nicht geerdeten Geräts. Die Sensorform kann annähernd quadratisch oder rund sein – mit einem Seitenverhältnis von weniger als 1:3.

Die GestIC-Hardware erkennt das elektrische Massezentrum der menschlichen Hand und kann bei ihrer Bewegung innerhalb des Sensorbereichs diesen Punkt verfolgen. Die XY-Position der Hand des Benutzers wird von bis zu vier der Sensorelektroden aufgenommen. Die fünfte Verbindung kann als Knopf oder Mittenelektrode für die Erkennung einer einfachen „Knopfdrück“-Geste dienen.

Zur Vereinfachung der Integration in das System enthält das GestIC-Gerät im internen Flash-Speicher seine eigene Firmware für die Gestenverarbeitung. Zu dieser Firmware gehört die Colibri Suite mit Algorithmen für die digitale Signalverarbeitung (DSP) auf der Basis verborgener Markov-Modelle, die Funktionen wie die Annäherungserkennung, die Positionsverfolgung und die Gestenerkennung ausführen. Darüber hinaus gibt es Funktionen für die Übermittlung von Status-Updates an einen Host-Mikrocontroller (MCU) mittels einer meldungsbasierten Schnittstelle sowie Funktionen für die Abwicklung von Firmware-Updates.

Die Kommunikation zwischen der MCU und dem MGC3X30 erfolgt über eine I2C-kompatible zweiadrige serielle Schnittstelle. Dadurch kann die MCU die Sensordaten lesen und Steuerbefehle an den Chip senden. Für die Wahl zwischen bis zu zwei MGC3X30-Geräten am selben Bus gibt es einen Adresspin. Die GestIC-Firmware aktualisiert Sensormesswerte mit einem Standardintervall von 5 ms. Dabei wird jedes Mal der Meldungspuffer des seriellen Ports aktualisiert und eine Transferstatus-Leitung (TS) auf LOW-Pegel gezogen, um zu signalisieren, dass ein neuer Messwert anliegt.

Vom Host kann eine Reihe von Laufzeitparametern gesetzt werden, darunter die Gestentypen, die das GestIC-Gerät zur Erkennung erwartet. Der Befehl 0xA2 für Set_Runtime_Parameter bedient sich einer Bitmaske, um unerwünschte Gestentypen herauszufiltern. Durch Deaktivierung von Gesten lässt sich die Erkennungswahrscheinlichkeit der übrigen Gesten verbessern. Das wiederum verbessert die Brauchbarkeit einfacher Steuerschnittstellen. Gesten, die vom GestIC erkannt werden, sind Schnippgesten entlang der kartesischen Achsen und kreisende Gesten in oder gegen die Uhrzeigerrichtung. 

Bild von den Gestentypen, die von der GestIC-Lösung erkannt werden

Abbildung 3: Gestentypen, die von der GestIC-Lösung erkannt werden, und deren Einsatzmöglichkeiten.

Die GestIC-Firmware liefert zudem Positions-Updates für die Hand, wenn diese sich innerhalb des Erfassungsfeldes des Sensors bewegt, und gibt diese zusammen mit den Gesten-Updates aus. Zu den weiteren gelieferten Informationen zählen Berührungsereignisse – mit Unterstützung durch die fünfte Elektrode und die AirWheel-Daten. Das AirWheel funktioniert ähnlich wie das Scrollrad an älteren portablen Musikwiedergabegeräten, wobei hier die Geste über der Oberfläche des Gerätes ausgeführt wird.

Um Ingenieuren die Entwicklung von Software für die Host-MCU zu erleichtern, hat Microchip eine C-basierte API entwickelt, die von Referenzcode unterstützt wird. Die API handhabt Funktionen zur Bearbeitung des Meldungspuffers, die Decodierung der Meldungs-Bitmasken in C-Strukturen und die Ausführung der Ereignisverarbeitung. Diese Funktionen entkoppeln die Host-MCU vom Protokoll der unteren Ebenen und seinen Zeitbeschränkungen. Zur Unterstützung der Entwicklung läuft ein zweites Softwarepaket – Aurea – auf einem Windows-basierten PC. Die Software interpretiert die vom GestIC gesendeten Meldungen und liefert eine visuelle Darstellung der Gesten und der Positionsdaten. Mit Aurea können Entwickler die Erfassungsparameter und Layouts auf die Zielanwendung optimieren. Ein Entwicklungskit liefert eine I2C-USB-Brücke, um Prototyping-Unterstützung für die Sensor- und Softwareentwicklung zu bieten.

Fazit

Dank der Kombination aus kostengünstiger Hardware auf der Basis der Erfassung mittels elektrischer Felder und einer unterstützenden Infrastruktur mit Softwaretools und Firmware ist der MGC3x30 GestIC eine sehr gute Lösung für die Entwicklung intuitiver Schnittstellen für eine breite Palette von IoT-fähigen Geräten.

 
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