*** Update August 2023: Unterstützung für Arduino Nano 33 BLE Sense Rev2 ergänzt ***

Wie können (astronomische) Experimente mit einem Arduino und einem Smartphone durchgeführt werden?

Die meisten auf unserer Seite vorgestellten Experimente lassen sich direkt mit dem Smartphone durchführen. Da jedoch nicht alle Smartphones über dieselben (genauen) Sensoren verfügen, kann es im Unterricht hilfreich sein, einheitliche Geräte zu verwenden/bereitzustellen.

Mit einem Arduino Nano 33 BLE Sense kann das Smartphone für knapp 35€ um folgende Sensoren erweitert werden: Beschleunigung, Drehrate (Gyroskop), Druck, Luftfeuchtigkeit, Licht (und RGB), Magnetfeld und Temperatur.

Wie man den Arduino Nano 33 BLE Sense mit dem Smartphone koppeln und (astronomische) Experimente mit phyphox durchführen kann, stellen wir im Folgenden vor.

Dieser Beitrag ist zusammen mit Frédéric Bouquet von der Université Paris-Saclay entstanden. Wir bedanken uns bei den Kollegen von PhysicsReimagined.com für die schöne Zusammenarbeit!

Was wird benötigt?

Wie geht das? (Kurzanleitung)

  • Phyphox und Arduino: pdf
  • Stromversorgung und Schutz der Platine: pdf
  • Schritt-für-Schritt-Anleitung: pdf
(c) PhysicsReimagined.com

Für eine englische/französische Version der Anleitung sei auf die Kollegen von Physics Reimagined verwiesen: https://hebergement.universite-paris-saclay.fr/supraconductivite/projet/arduino_nano/?lang=en

1. Arduino Nano Vorbereitung

Damit Arduino und Smartphone miteinander über phyphox kommunizieren können, muss zunächst der Arduino Sketch auf dem Arduino Board installiert werden. Dazu wird ein Computer mit Internetverbindung benötigt.

1.1 Installation der Arduino IDE

Zunächst wird auf der Arduino Website die Arduino IDE heruntergeladen (Link zur Website) und die Installation durchgeführt.

Nach erfolgreicher Installation wird die Arduino IDE ausgeführt.

1.2 Download des Arduino Sketch

Nun wird der Arduino Sketch (siehe „Was wird benötigt?“) heruntergeladen und in der Arduino IDE geöffnet.

Sollten mehrere Arduino (im selben Raum) vorhanden sein, so ist es empfehlenswert über die «board_name[]-Variable» den für die Bluetooth-Konfiguration und spätere Anzeige in phyphox verwendeten Namen des Arduino anzupassen.

1.3 Board und Bibliotheken installieren

Damit der Arduino die Befehle verstehen kann, müssen die entsprechenden Bibliotheken eingebunden und der Sketch passend zum Board kompiliert werden. Im Folgenden wird die Vorgehensweise für den Arduino Nano 33 BLE Sense (nicht Rev2) beschrieben. Sollten Sie Unterstützung bei der Vorbereitung des Rev2 benötigen, kontaktieren Sie uns gerne!

Hierzu wird in der Arduino IDE im Boardverwalter via: Werkzeuge → Board → Boardverwalter

das Paket «Arduino Mbed OS Nano Boards» installiert:

Als nächstes werden in der Arduino IDE im Bibliotheksverwalter via: Werkzeuge → Bibliotheken verwalten 

die folgenden fünf Bibliotheken hinzugefügt:

  • phyphox BLE von Dominik Dorsel
  • Arduino_LSM9DS1 von Arduino
  • Arduino_LPS22HB von Arduino
  • Arduino_HTS221 von Arduino
  • Arduino_APDS9960 von Arduino

1.4 Board anschließen und Port auswählen

Nun wird das «Arduino Nano 33 BLE Board» mit Hilfe eines Micro-USB-Kabels an den Computer angeschlossen und der Board-Typ via: Werkzeuge → Board → Arduino Mbed OS Nano Boards → Arduino Nano 33 BLE ausgewählt

Als nächstes wird der COM-Port via Werkzeuge → Port ausgewählt

über welchen die Arduino IDE und der Arduino kommunizieren.

1.5 Sketch kompilieren und hochladen

Im letzten Schritt der Arduino-Vorbereitung wird der Sketch durch einen klick auf das Pfeil-Symbol (oben links) kompiliert und auf den Arduino geladen.

Wichtig: Vor dem Upload eines Programms stets darauf achten, dass der richtige Port/Arduino ausgewählt wurde (vgl. Schritt 1.4)!

Dies kann einen Moment dauern. Sobald der Prozess abgeschlossen ist, wird in der IDE «Hochladen abgeschlossen» am rechten unteren Bildrand angezeigt und am Arduino leuchtet eine rote LED auf. Die Arduino IDE kann nun geschlossen werden.

2. Smartphone Vorbereitung

Im zweiten Schritt wird das Smartphone vorbereitet und die phyphox-App installiert. Auch hier wird für die Ersteinrichtung eine Internetverbindung benötigt.

2.1 Download der App phyphox

Die kostenlose App phyphox der RWTH Aachen Universität wird nun über den jeweiligen Store oder einen der folgenden Links heruntergeladen und installiert:

Hilfe zu phyphox gibt es auf der offiziellen Seite: phyphox.org/faq/

2.2 Hinzufügen der Arduino Experimente zu phyphox

Als nächstes werden die zum Arduino Nano 33 BLE Sense gehörigen Experimente zu phyphox hinzugefügt. Dies kann einerseits durch einen Klick auf diesen Link geschehen, wenn das Tutorial über das Smartphone aufgerufen wird. Andererseits können die Experimente auch in phyphox über einen QR-Code hinzugefügt werden.

Zum Hinzufügen der Experimente am Smartphone via QR-Code wird zunächst phyphox geöffnet. Danach wird der Plus-Button betätigt

Daraufhin öffnet sich ein Untermenü, in welchem «Neues Experiment von einem QR-Code» gewählt

und der folgende QR-Code gescannt wird

Nach erfolgreichem Scannen des QR-Codes, wird in phyphox das Fenster zum Hinzufügen einer Experiment-Sammlung angezeigt.

Mit «Alle speichern» werden nun alle Experimente in phyphox gespeichert und sind in der Liste der phyphox-Experimente unter «Arduino Nano 33 BLE Sense» verfügbar.

Die Smartphone-Vorbereitung ist abgeschlossen und ab diesem Zeitpunkt wird keine Internetverbindung mehr benötigt.

3. Arduino und Smartphone verbinden und Messung starten

Da die Vorbereitung nun abgeschlossen ist, können Arduino und Smartphone nun miteinander gekoppelt und Messungen gestartet werden.

3.1 Den Arduino mit Strom versorgen

Der Arduino kann auf mehrere Arten mit Strom versorgt werden:

(c) PhysicsReimagined.com
  • über den Micro-USB-Port des Arduino und ein USB-Netzteil oder USB-Port eines Computers (links)
  • oder durch Anschluss einer Batterie an die dafür vorgesehenen Pins (muss gelötet werden). Die Versorgungsspannung sollte zwischen 4,5V und 21V liegen; eine einzelne 9V-Batterie (Mitte) oder zwei 3V-Knopfzellen in Reihe (rechts) sind geeignet.

Siehe hierzu auch: Stromversorgung und Schutz der Platine: pdf

3.2 Verbindung zwischen phyphox und Arduino herstellen

Damit die Verbindung zwischen phyphox und Arduino erfolgen kann, muss sichergestellt sein, dass auf dem Smartphone Bluetooth aktiviert ist.

Nun wird phyphox geöffnet und ein Experiment aus der Liste ausgewählt

Wenn das Experiment geöffnet wird, sucht das Smartphone automatisch nach Bluetooth-Geräten in der Nähe. Es wird der zuvor vergebene Name des Arduino aus der Liste ausgewählt; in diesem Beispiel «NanoDemo».

Phyphox verbindet sich nun mit dem gewählten Bluetooth-Gerät.

Sobald die Verbindung zwischen Smartphone und Arduino Nano hergestellt wurde, wechselt die LED des Arduino von rot auf grün.

3.3 Messung starten

Durch einen Druck auf das Abspielsymbol wird nun die Messung gestartet

Es kann zum Beispiel ein einfaches Transitexperiment durchgeführt werden

Dabei profitiert man von der hohen Genauigkeit und Refreshrate der im Arduino verbauten Sensoren. Ferner können weitere Sensoren an den Arduino angeschlossen und über das Experiment «Analogeingänge» angesteuert werden.

Mit Hilfe des Arduino können weitere Experimente durchgeführt werden, für die ein Smartphone aufgrund der Größe, des Wertes oder des Mangels an Sensoren sonst nicht geeignet wäre.

Beispiel: DIY-Transitexperiment mit Arduino, iPad und phyphox

Weitere Informationen

Im Arduino Nano 33 BLE Sense verbaute Sensoren

Die im Arduino verbauten Sensoren verfügen über eine hohe Genauigkeit und gute Dokumentation

  • ST LSM9DS1 IMU: Datenblatt
    (Accelerometer, Gyroskop und Magnetometer)
  • Avago APDS-9960 Chip: Datenblatt
    (Abstandsmessung, Beleuchtungsstärke, RGB Farben)
  • ST LPS22HB Sensor: Datenblatt
    (Barometer)
  • ST HTS221 Sensor: Datenblatt
    (Relative Luftfeuchtigkeit und Temperatur)

Wie funktioniert die Kommunikation zwischen phyphox und dem Smartphone?

Im Arduino Sketch sind alle Bibliotheken, die zur Kommunikation mit phyphox (phyphoxBle.h) und Ansteuerung der Sensoren (Arduino_LSM9DS1.h, Arduino_LPS22HB.h, Arduino_HTS221.h, Arduino_APDS9960.h) benötigt werden, bereits eingebunden und die verwendeten Variablen und Formeln (Funktionen) definiert.

Ferner beinhaltet der Sketch verschiedene Funktionen zur Ansteuerung der jeweiligen Sensoren. So kann später derselbe Sketch für verschiedene phyphox-Experimente verwendet werden und der Arduino muss nur ein Mal programmiert werden.

Dies rührt daher, dass das jeweilige phyphox-Experiment in der Bluetooth-Konfiguration eine Gleitkommazahl (float) an den Arduino sendet,
(Hier am Beispiel des Beschleunigungssensors veranschaulicht; für die restlichen Experimente analog)

die über eine if-Abfrage

den jeweiligen Funktionen „zugeordnet“ wird,

die dann den Output über PhyphoxBLE::write Daten an das Smartphone (phyphox) sendet. Im phyphox-File werden die gesendeten Daten im Bluetooth-Input eingelesen

und entsprechend der Konfiguration des jeweiligen phyphox-Experimentes verarbeitet.

Diese Vorgehensweise hat den Vorteil, dass ein ein Mal programmierter Arduino für alle auf dem Board zur Verfügung stehenden Sensoren verwendet werden kann und zwischen den Experimenten kein neuer Sketch aufgespielt werden muss.

Ein ein Mal konfigurierter Arduino Nano 33 BLE Sense kann somit vorkonfiguriert und direkt im Unterricht genutzt werden. Auch können die Lernenden mit Hilfe der Arduino Sketches und an einfache Programmieraufgaben herangeführt werden.

Erweiterung der ursprünglichen phyphox-Dateien v1 -> v1.1

Wir haben die ursprünglichen phyphox-Dateien wie folgt angepasst/erweitert:

  • Verwendung von SI-Einheiten
  • Anpassung der Achsenbeschriftung an gängige Formelzeichen
  • Normalisierung der Outputs
  • Anpassung und Erweiterung der Views, um dem Look-and-Feel der in phyphox ausgelieferten Experimente bestmöglich zu entsprechen
  • Ergänzung einer Deutschen Übersetzung
  • diverse Anpassungen und kleine Änderungen.

Gehäuse und Stromversorgung über Knopfzellen

Auf der Physics Reimagined Website steht eine Vorlage für den 3D-Druck eines Gehäuses bereit, welches den Arduino und die 2x CR2032 Halterung (mit An-/Ausschalter) beherbergen kann.

(c) PhysicsReimagined.com

Danksagung

Wir bedanken uns bei unseren Kollegen der RWTH Aachen Universität für die Entwicklung von phyphox sowie der phyphox Arduino Library und bei den Kollegen von PhysicsReimagined.com für den phyphox-Sketch und die ursprünglichen phyphox-Dateien.