Акселерометр. Аналіз положення пристрою
Акселерометр - це пристрій, який вимірює прискорення. У мобільному пристрої це дозволяє визначити кут, під яким його розміщено. Кут може визначатись у трьох вимірах:
Приклад: виведемо значення акселерометра на екран (скачати приклад)
Бібліотека Accelerometer працює лише у режимі JavaScript
Для того, щоб працював режим JavaScript, скористайтесь версією 3.1.1 середовища Processing https://github.com/processing/processing/releases/tag/processing-0250-3.1.1 та пакетом файлів (їх необхідно розпакувати в папку Processing\modes в Моїх документах Вашого облікового запису і перезапустити Processing).
//на початку програми оголошуємо використання класу Accelerometer
Accelerometer accel;
//у процедурі setup створюємо змінну accel
accel= new Accelerometer ();
//у процедурі draw виконуємо виведення на екран інформації
println("Положення Х "+accel.getX());
println("Положення Y "+accel.getY());
println("Положення Z "+accel.getZ());
Отримані дані показують поточне положення пристрою в межах від -10 до 10.
Приклад 1. Акселерометр і зображення
Дані акселерометра можна використати, наприклад, для визначення кольору екрану, не забувши перевести їх у потрібні межі (можна скористатись командою mapабо виконати відповідні розрахунки)
map(x,-10,10,0,255);
// у процедурі draw
int r,g,b;
r= int((accel.getX()+10)*(255/10));
g= int((accel.getY()+10)*(255/10));
b= int((accel.getZ()+10)*(255/10));
background(r,g,b);
Приклад 2. Акселерометр і звук
Дані акселерометра можна використати для контролю швидкості відтворення звуку. Наприклад, чим швидше повертати пристрій, тим швидше відтворюється звук.
// у процедурі draw
player.play();
float speed = map(accel.getX(), -10, 10, 0, 2);
player.speed(speed);
Не забудьте оголосити використання аудіо-плеєра:
Maxim maxim;
AudioPlayer player;
Та налаштувати його у void setup():
maxim = new Maxim(this);
player = maxim.loadFile("mybeat.wav");
player.play();