Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Die empfindliche Seite von Rohm Semiconductor

Der idealistische Philosoph George Berkeley behauptete, dass physische Objekte nur so lange existieren, wie sie beobachtet werden – und verschwinden, sobald man sie nicht mehr ansieht. Sein Mantra lautete: „Sein ist Wahrgenommenwerden“. Mikrocontroller, ob sie nun vollständig eingebettet oder Teil einer IoT-Anwendung sind, haben ein ähnliches solipsistisches Problem, wenn ihnen hochwertige Sensordaten über ihre Umgebung als Entscheidungsgrundlage fehlen.

Mit großer Sicherheit nicht, um George Berkeley Tribut zu zollen, sondern weil MCUs Informationen über ihre Umgebung benötigen, sind die E/A-Pins vieler Entwicklungsplatinen im Arduino- oder Raspberry Pi-Format de facto „standardisiert“ worden: So können Entwickler ohne Zeitverlust auf bereits vorhandene Sensor- und Kommunikationsmodule zurückgreifen und müssen nicht das Rad neu erfinden. Anfängern spart das eine Menge Zeit und Fehler.

Rohm Semiconductor stellt seit Anfang der 1960er Jahre Widerstände her. Der ursprüngliche Name des Unternehmens war R.Ohm: „R“ steht in Schaltplänen für den Widerstand und „Ohm“ ist die Maßeinheit dafür. Seitdem sind viele verschiedene Halbleiterbauteile ins Sortiment aufgenommen worden – zum Beispiel auch ein breites Spektrum an Sensoren, das Thema unseres heutigen Artikels ist.

Insbesondere sehen wir uns einige Zusatzmodule an, die Rohm derzeit für eine meiner bevorzugten Entwicklungsplatinen produziert: die Sony Spresense.

Zusatzplatinen von ROHM

Wie Sie vielleicht wissen, unterstützt die Sony Spresense hochauflösende Audiofunktionen und verfügt über einen hochmodernen GNSS-Empfänger. Über ein paar GPIO-Pins können wir jedoch weitere Funktionen ergänzen:

Main-Board1_64254ebb490e6fdaedc5b524bc99443540406add.jpg

Zu Testzwecken habe ich ein SPRESENSE-SENSOR-EVK-701 (181-2212) bestellt und fand in der Verpackung Folgendes vor:

2F_385e0d1ff0aab8af575e4bb7ca1a9dc7b62620c5.jpg

Dadurch, dass sich die Platine in einer kleinen Blase befindet, ist sie sehr gut gegen mechanische Einwirkungen geschützt – ein großes Plus.

Obwohl es sich um eine ziemlich kleine Platine handelt, gibt sie uns Zugriff auf 3 Sensoren: Einen Beschleunigungsmesser KX122 (KX126 in Version B), ein Magnetometer BM1422 (175-0401) und einen barometrischen Drucksensor BM1383. Als ob das nicht genug wäre, kommt noch ein Sensorerweiterungsanschluss dazu, der weitere 7 Arten von Sensoren zur Messung von Helligkeit, Näherung, Farbe, Magnetismus, Temperatur, UV-Licht und Pulswellen (Herzschlag) unterstützt.

Es gefällt mir sehr, dass ein Blatt mit Kennzeichnung der Pinbelegung, Sensorspezifikationen und der Adresse des Github-Repository dabei ist. Es ist eine Kleinigkeit, aber sie macht den Einstieg sehr viel leichter, weil man nach all diesen Informationen nicht suchen muss.

Ich habe entschieden, nicht mit der Bestellung des Sensormoduls auf halber Strecke stehen zu bleiben, sondern gleich noch die Zusatzplatine SPRESENSE-BLE-EVK-701 (181-2213) Bluetooth LE zu bestellen. Die Verpackung enthielt Folgendes:

4Fz_4c9235ea59b583103e4b33289b6a94c2d8da8117.jpg

Ein Modul MK71251 BLE mit integrierter Antenne und weltweiter Wireless-Zertifizierung befindet sich darin. Auch hier gefällt mir, dass ein Informationsblatt mit der Pinbelegung enthalten ist. Dadurch lassen sich die Module leicht an das Sony Board anschließen:

fit2a_74b238caeb3e32254f8f891b45b9eca0f191e2bc.jpg

Die Sinne in Schwung bringen

Um die Sensoren schnell auf einwandfreie Funktion zu testen, probiert man am besten einen Arduino-Beispielsketch für die Sensorplatine aus. Wenn Sie die Arduino IDE bereits zur Unterstützung von Sony Spresense eingerichtet haben, werden Sie feststellen, dass das Supportpaket eine Reihe von Beispielen enthält:

examples_7f2070edf943f0c39ee612e80458fb1f66e5bfb7.png

In diesem Fall habe ich eine ZIP-Datei vom Arduino Github Repository heruntergeladen, dessen Adresse im beigefügten Informationsblatt zu finden ist. Ich extrahierte diese Datei in mein Arduino-Verzeichnis, wählte einen Sensor-Sketch (für den Beschleunigungsmesser KX126 auf meiner Platine Version B) aus und lud ihn auf die Spresense:

kx126_sketch_b9ff496039f0be17e9016852727807ce97689c17.png

Sehr gut! Wenn wir den seriellen Monitor öffnen, erhalten wir bereits einige Daten. Einmal die Platine leicht geschüttelt, und ja, für jede Achse werden unterschiedliche Beschleunigungen aufgezeichnet:

kx126_OP_a4aba2aa102fc1aa350de1096ebb5152572d2a96.png

Auch das BLE-Modul lässt sich schnell überprüfen. Laden Sie das Lapis BLE Tool auf Ihr iPhone oder Android-Telefon herunter und starten Sie es. Es wird eine Liste der derzeit sichtbaren Broadcasts über Bluetooth GATT angezeigt. In der Liste ist auch das Lapis BLE-Modul zu finden. Wenn Sie diese Verbindung anklicken, werden die Gerätedaten des Moduls angezeigt:

IMG_0400_13b98d8cbc885f9f35fbe915f49612a6af35cb0c.png

Hervorragend, das BLE-Modul wird also auch erkannt. Da wir jetzt wissen, dass unsere Ausrüstung intakt ist, können wir mit unseren Experimenten beginnen.

Abschließende Worte

Ich experimentiere zurzeit mit den Beispielen im Nuttx SDK, die ich auf einer virtuellen Linux-Maschine installiert habe. In der neuesten SDK-Version wurden eine Reihe von Beispielanwendungen hinzugefügt, die über die bisherige Version hinausgehen:

Screenshot_from_2019-04-05_14-17-23_3f21c9007a597bf2755111cfd03f2336a2912bb1.png

Wir werden in Kürze ein Video über die Einrichtung des Nuttx SDK und unseren Erfahrungen mit ein paar dieser Beispiele hochladen.

Mark completed his Electronic Engineering degree in 1991 and worked in real-time digital signal processing applications engineering for a number of years, before moving into technical marketing.