forked from proto-pic/micro-bit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpedestrian.js
75 lines (75 loc) · 2.13 KB
/
pedestrian.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
// RED LIGHT
pins.digitalWritePin(DigitalPin.P16, 0)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 0)
// GREEN LIGHT
pins.digitalWritePin(DigitalPin.P2, 1)
// RED MAN
pins.digitalWritePin(DigitalPin.P12, 1)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 0)
// WAIT LIGHT
pins.digitalWritePin(DigitalPin.P13, 0)
input.onButtonPressed(Button.A, () => {
// WAIT LIGHT
pins.digitalWritePin(DigitalPin.P13, 1)
basic.pause(5000)
// GREEN LIGHT
pins.digitalWritePin(DigitalPin.P2, 0)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(2000)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 0)
// RED LIGHT
pins.digitalWritePin(DigitalPin.P16, 1)
basic.pause(3000)
// WAIT LIGHT
pins.digitalWritePin(DigitalPin.P13, 0)
// RED MAN
pins.digitalWritePin(DigitalPin.P12, 0)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 1)
for (let i = 0; i < 25; i++) {
music.playTone(Note.B5, music.beat(BeatFraction.Quarter))
music.rest(music.beat(BeatFraction.Quarter))
}
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 0)
for (let i = 0; i < 2; i++) {
basic.pause(500)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 1)
basic.pause(500)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 0)
}
// RED LIGHT
pins.digitalWritePin(DigitalPin.P16, 0)
for (let i = 0; i < 7; i++) {
basic.pause(500)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 1)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(500)
// GREEN MAN
pins.digitalWritePin(DigitalPin.P8, 0)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 0)
}
// RED MAN
pins.digitalWritePin(DigitalPin.P12, 1)
for (let i = 0; i < 2; i++) {
basic.pause(500)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 1)
basic.pause(500)
// AMBER LIGHT
pins.digitalWritePin(DigitalPin.P1, 0)
}
basic.pause(500)
// GREEN LIGHT
pins.digitalWritePin(DigitalPin.P2, 1)
basic.pause(5000)
})