aboutsummaryrefslogtreecommitdiff
path: root/ps/media/pedometre.html
blob: c30a21b4fad3d0cbb13e5bf0c91f517a358d96a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Accelerometer Javascript Test</title>
<meta name="viewport" content="width=device-width,user-scalable=yes" />
<style>
body {
	font-family: helvetica, arial, sans serif;
}

</style>
</head>

<body>
<div id="content">
    <h1>Accelerometer Javascript Test</h1>

<!--le texte qui s'affiche sur la page html et va chercher les données calculées ensuite-->

<ul>
	<li>acceleration x: <span id="accelerationX"></span>g</li>
	<li>acceleration y: <span id="accelerationY"></span>g</li>
	<li>acceleration z: <span id="accelerationZ"></span>g</li>
	<li>n: <span id="n"></span>norm</li>
	<li>step: <span id="step"></span>step</li>
	<li>max: <span id="maxn"></span>maximum</li>
</ul>

<!--juste une ligne de test-->

test: <span id="test"></span>
</div>

<script type="text/javascript">

//on déclare l'ensemble des variables ax et ay sont les données d'acceleration, n c'est la norme, maxn et minn les valeurs max et min de la norme, et step le nombre de pas
var n=0, maxn = 0, minn = 0, step = 0,
	ax = 0, ay = 0, az = 0;

//programme	d'alberto desarullo qui va chercher les données de l'accelerometre
if (window.DeviceMotionEvent != undefined) {
	window.ondevicemotion = function(e) {
		ax = event.accelerationIncludingGravity.x ;
		ay = event.accelerationIncludingGravity.y ;
		az = event.accelerationIncludingGravity.z ;
// et les affiche dans la page html
		document.getElementById("accelerationX").innerHTML = e.accelerationIncludingGravity.x;
		document.getElementById("accelerationY").innerHTML = e.accelerationIncludingGravity.y;
		document.getElementById("accelerationZ").innerHTML = e.accelerationIncludingGravity.z;
// on affiche également la norme sa valeur max et le nombre de pas
		document.getElementById("n").innerHTML = n;
		document.getElementById("step").innerHTML = step;
		document.getElementById("maxn").innerHTML = maxn;

		}		
	

	setInterval( function() {
		
// on calcule la norme c'est  à dire la taille du vecteur qui est défini par les points d'accélération ax ay et az
		n0 = n;
		n=Math.sqrt (ax*ax + ay*ay + az*az);
		console.log(n);

//on calcule un min et max pour la norme		
		if (n < n0) { minn = n ;
		}else if (n > n0) { maxn = n ;
		}
	
		console.log(maxn);

//on défini un seuil qui correspond à un pas
		if ((maxn - minn) > 10) {step = step+1;
		}

		console.log(step);
// on vérifie cela chaque 25 milisecondes			 	
	}, 25);
} 

</script>

</body>
</html>