-
Notifications
You must be signed in to change notification settings - Fork 1
/
SoccerKeypress.js
76 lines (65 loc) · 1.51 KB
/
SoccerKeypress.js
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
var five = require("johnny-five");
var Spark = require("spark-io");
var keypress = require("keypress");
var board = new five.Board({
io: new Spark({
token: "7550da40ccf9ac697211eb17c031bbe7ac16a20a",
deviceId: "53ff72066667574837422067"
})
});
board.on("ready", function() {
var led = new five.Led("D7");
led.blink();
servo1 = new five.Servo({
pin: 'A0',
type: "continuous"
});
servo2 = new five.Servo({
pin: 'A4',
type: "continuous"
});
board.repl.inject({
servo1: servo1,
servo2: servo2
});
keypress(process.stdin);
process.stdin.on('keypress', function (ch, key) {
if (key && key.ctrl && key.name == 'c') {
process.exit(0);
}
if ( key ){
switch ( key.name ){
case 'up':
console.log('=> Up:');
servo1.cw();
servo2.ccw();
break;
case 'down':
console.log('=> Down:');
servo1.ccw();
servo2.cw();
break;
case 'left':
console.log('=> Left:');
servo1.ccw();
servo2.ccw();
break;
case 'right':
console.log('=>right');
servo1.cw();
servo2.cw();
break;
case 's':
console.log('=> Stoping...');
servo1.stop();
servo2.stop();
break;
case 'e':
process.exit(0);
break;
}
}
});
process.stdin.setRawMode(true);
process.stdin.resume();
});