Pin Press Switch
Duration: approximately 45 minutes
Materials:
2-3 Crocodile clips
Blocks
let on = false
on
if (on) { } else {}
input.onPinPressed(TouchPin.P1, function () {})
Step 1: Pin Press Test
input.onPinPressed(TouchPin.P0, function () {
basic.showNumber(0)
})
input.onPinPressed(TouchPin.P1, function () {
basic.showNumber(1)
})
input.onPinPressed(TouchPin.P2, function () {
basic.showNumber(2)
})
Create the pin-press code
Download the code on the micro:bit
Hold the micro:bit touching The GND pin with one hand with the other hand alternately touch the 0, 1 and 2 pins
Step 2: Installing conductive foil on the guitar
Add foil to the guitar body where it is easy to touch while playing
Connect the foil to GND using a crocodile clip
Add foil to the guitar neck
Connect the foil to pin 1 using a crocodile clip
Step 3: Add a switch to turn the guitar ON and OFF
Using the on global variable we can switch the message on the micro:bit
between ON and OFF
let on = false
basic.forever(function () {
if (on == true) {
basic.showString("ON")
} else {
basic.showString("OFF")
}
})
input.onPinPressed(TouchPin.P1, function () {
if (on == true) {
on = false
} else {
on = true
}
})
Create the ON/OFF switch code
Download the code on the micro:bit
Test by touching P1 to toggle the LED message between ON and OFF
Final code
TODO: do we want to use on = !on or be more direct in flipping the switch? on = true or on = false
let on = false
basic.forever(function () {
if (on) {
music.setTempo(pins.map(Math.abs(input.acceleration(Dimension.Y)),
0, 1023,
60, 320))
music.playTone(
input.lightLevel() * 25,
music.beat(BeatFraction.Quarter)
)
} else {
music.rest(music.beat())
}
})
input.onPinPressed(TouchPin.P1, function () {
on = !on
})
Now Play!
Turn the guitar ON and OFF with a pin press on the connected foil by touching both pieces of foil at the same time to connect the switches