mirror of
https://github.com/sigmasternchen/combinationLockPG
synced 2025-03-15 03:38:53 +00:00
Merge branch 'master' of https://github.com/overflowerror/combinationLockPG
This commit is contained in:
commit
a3d9419483
4 changed files with 34 additions and 4 deletions
BIN
app.zip
Normal file
BIN
app.zip
Normal file
Binary file not shown.
18
code.js
18
code.js
|
@ -2,6 +2,9 @@ const right = 0;
|
|||
const left = 1;
|
||||
const non = 2;
|
||||
|
||||
const hyst = 2;
|
||||
const toll = 2;
|
||||
|
||||
var code = [3, 14, 25, 9, 26];
|
||||
var input = new Array();
|
||||
|
||||
|
@ -21,9 +24,9 @@ var handleAngle = function(angle) {
|
|||
dir = left;
|
||||
else if (num - oldNum > countOfNumbers * 2 / 3)
|
||||
dir = right;
|
||||
else if (oldNum > num)
|
||||
else if (oldNum - num > hyst)
|
||||
dir = right;
|
||||
else if (num > oldNum)
|
||||
else if (num - oldNum > hyst)
|
||||
dir = left;
|
||||
else
|
||||
dir = oldDir;
|
||||
|
@ -49,10 +52,19 @@ var handleAngle = function(angle) {
|
|||
|
||||
var check = function() {
|
||||
if (code.length != input.length)
|
||||
{
|
||||
|
||||
alert("Tjo "+ input.join(" "));
|
||||
input = new Array();
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < code.length; i++) {
|
||||
if (code[i] != input[i])
|
||||
if (Math.abs(code[i] < input[i]) < toll) {
|
||||
|
||||
alert("Tjo2 "+ input.join(" "));
|
||||
input = new Array();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
window.location.href = "http://www.youtube.com/watch?v=aObeQUNELm4";
|
||||
}
|
18
documentation.txt
Normal file
18
documentation.txt
Normal file
|
@ -0,0 +1,18 @@
|
|||
Die Funktion, welche die App erfüllen soll, ist ein Zahlendrehschloss, wie es zum Beispiel bie den Spinden der Schüler im Einsatz ist.
|
||||
Die Drehfunktion wurde mittels des Beschleunigungssensors realisiert. Dies bedeutet jedoch, dass das Handy senkrecht gehalten werden muss und nicht zum Beispiel auf einem Tisch liegen darf.
|
||||
Zunächst war versucht worde, diese Funktion mittels des Kompasses zu realisieren, durch die Ungenauigkeit und die starken Schwnkungen ist dieser jedoch nicht geeignet gewesen.
|
||||
|
||||
Die Beschleunigungen werden alle 100ms abgefragt. Anschließend werden aus den gemessenen Beschleunigungen mittels Arkustangens der Winkel berechnet.
|
||||
|
||||
Die App wurde mittels Phonegap erstellt und dann auf den Handys der Projektteilnehmer getestet.
|
||||
|
||||
Zuerst musste die config.xml bearbeitet werden:
|
||||
|
||||
<gap:plugin name="org.apache.cordova.device-orientation" /> //zum Einbinden des Kompasses, später nicht mehr benötigt
|
||||
<gap:plugin name="org.apache.cordova.device-motion" /> //Zum Einbinden der Beschleunigungssensoren
|
||||
<preference name="orientation" value="portrait" /> //wird benötigt, damit die Anzeige sich nicht dreht
|
||||
|
||||
Dann wurde eine Routine entwickelt die die aktuellen Beschleunigungen abruft:
|
||||
|
||||
watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError,options);
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<script src="lock.js"></script>
|
||||
<script src="code.js"></script>
|
||||
<!--<script type="text/javascript" charset="utf-8" src="cordova.js"></script>-->
|
||||
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
|
||||
<script src="main.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
|
Loading…
Reference in a new issue