Messen und Darstellen - Sensoren, Motoren, Bildschirmanzeige

Worum geht es hier?

Dieser Abschnitt erhebt keinen Anspruch auf Vollständigkeit und zeigt vor allem markante Eigenschaften der Komponenten. Für eine umfassende Funktionsbeschreibung empfehlen sich die EV3-API-Dokumentation und NXT-API-Dokumentation.

EV3 Wertmessung ist komplexer

Während man beim NXT noch Befehle wie getValue() einsetzen konnte, ist die Wertmessung beim EV3 deutlich komplexer geworden: In der Regel verwendet man nun einen SampleProvider, dem man ein float-Array als Parameter im Methodenaufruf fetchSample mitgibt (call by reference). Vom Ergebnisarray nimmt man die erste Zelle und castet den Rückgabewert auf das benötigte Format. Nachfolgend sieht man auszugsweise die Distanzmessung in cm mit dem Ultraschallsensor, der doppelte Cast ist notwendig, sonst kommt es zur Fehlermeldung zur Laufzeit.

...
SampleProvider sp = us1.getDistanceMode();
float [] sample = new float[sp.sampleSize()];
sp.fetchSample(sample, 0);
distanceValue = (int)((float)sample[0]*100);
...
X

Fehler melden

X

Suche