Акселерометр. Аналіз положення пристрою

Акселерометр - це пристрій, який вимірює прискорення. У мобільному пристрої це дозволяє визначити кут, під яким його розміщено. Кут може визначатись у трьох вимірах:

 

Приклад: виведемо значення акселерометра на екран (скачати приклад)

Бібліотека 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();


Остання зміна: субота 17 листопада 2018 6:00