60 lines
1.6 KiB
Text
60 lines
1.6 KiB
Text
|
import ketai.sensors.*;
|
||
|
|
||
|
KetaiSensor sensor;
|
||
|
float fontSize = 130*displayDensity;
|
||
|
float accelerometerX, accelerometerY, accelerometerZ, rotationX, rotationY, rotationZ;
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
sensor = new KetaiSensor(this);
|
||
|
sensor.start();
|
||
|
textAlign(CENTER, CENTER);
|
||
|
textSize(fontSize);
|
||
|
}
|
||
|
|
||
|
float mapNum;
|
||
|
void draw()
|
||
|
{
|
||
|
background(78, 93, 75);
|
||
|
fill(255);
|
||
|
text("Accelerometer:", 0, -fontSize*5.5, width, height);
|
||
|
mapNum = mapColor(accelerometerX);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("x: " + nfp(accelerometerX, 1, 3), 0, -fontSize*4, width, height);
|
||
|
mapNum = mapColor(accelerometerY);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("y: " + nfp(accelerometerY, 1, 3), 0, -fontSize*3, width, height);
|
||
|
mapNum = mapColor(accelerometerZ);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("z: " + nfp(accelerometerZ, 1, 3), 0, -fontSize*2, width, height);
|
||
|
fill(255);
|
||
|
text("Gyroscope:", 0, fontSize*1.5, width, height);
|
||
|
mapNum = mapColor(rotationX);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("x: " + nfp(rotationX, 1, 3), 0, fontSize*3, width, height);
|
||
|
mapNum = mapColor(rotationY);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("y: " + nfp(rotationY, 1, 3), 0, fontSize*4, width, height);
|
||
|
mapNum = mapColor(rotationZ);
|
||
|
fill(mapNum, 255-mapNum, 0);
|
||
|
text("z: " + nfp(rotationZ, 1, 3), 0, fontSize*5, width, height);
|
||
|
}
|
||
|
|
||
|
float mapColor(float in){
|
||
|
return map(in, -9.83, 9.83, 0, 255);
|
||
|
}
|
||
|
|
||
|
void onAccelerometerEvent(float x, float y, float z)
|
||
|
{
|
||
|
accelerometerX = x;
|
||
|
accelerometerY = y;
|
||
|
accelerometerZ = z;
|
||
|
}
|
||
|
|
||
|
void onGyroscopeEvent(float x, float y, float z)
|
||
|
{
|
||
|
rotationX = x;
|
||
|
rotationY = y;
|
||
|
rotationZ = z;
|
||
|
}
|