-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmetalDetector.ts
More file actions
41 lines (41 loc) · 1.23 KB
/
metalDetector.ts
File metadata and controls
41 lines (41 loc) · 1.23 KB
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
let graphMode = 0
let forceDifference = 0
let initialMagneticForce = 0
let newMagneticForce = 0
basic.forever(() => {
newMagneticForce = input.magneticForce(Dimension.Strength)
forceDifference = Math.abs(initialMagneticForce - newMagneticForce)
if (graphMode == 1) {
led.plotBarGraph(
forceDifference,
40
)
music.playTone(262 + forceDifference, music.beat(BeatFraction.Quarter))
if (forceDifference < 13) {
music.rest(music.beat(BeatFraction.Double))
} else if (forceDifference < 26) {
music.rest(music.beat(BeatFraction.Whole))
} else if (forceDifference < 40) {
music.rest(music.beat(BeatFraction.Half))
} else if (forceDifference >= 40) {
music.rest(music.beat(BeatFraction.Quarter))
}
} else {
basic.showString("" + newMagneticForce)
}
})
input.onButtonPressed(Button.AB, () => {
if (graphMode == 1) {
graphMode = 0
} else {
graphMode = 1
}
})
input.onButtonPressed(Button.B, () => {
initialMagneticForce += 1
})
input.onButtonPressed(Button.A, () => {
initialMagneticForce += -1
})
initialMagneticForce = input.magneticForce(Dimension.Strength)
graphMode = 1