pxt-calliope/docs/reference/input/pin-is-pressed.md

52 lines
1.4 KiB
Markdown
Raw Normal View History

2016-03-26 00:47:20 +01:00
# Pin Is Pressed
Find whether the pin you say is pressed or not pressed.
2016-03-26 00:47:20 +01:00
If you hold the `GND` pin with one hand and touch pin `0`, `1`, or `2` with the other,
a very small (safe) amount of electricity will flow through your body and back into
2016-11-02 01:44:37 +01:00
the @boardname@. This is called **completing a circuit**. It's like you're a big wire!
2016-03-26 00:47:20 +01:00
```sig
input.pinIsPressed(TouchPin.P0);
```
## ~hint
This function works best when the @boardname@ is using batteries for power,
instead of the USB cable.
## ~
## Parameters
2016-03-26 00:47:20 +01:00
* a [string](/types/string) that holds the pin name (**P0**, **P1**, or **P2**)
2016-03-26 00:47:20 +01:00
## returns
2016-03-26 00:47:20 +01:00
2016-06-15 13:55:19 +02:00
* a [boolean](/blocks/logic/boolean) that means whether the pin you say is pressed (`true` or `false`)
2016-03-26 00:47:20 +01:00
## Pin presses in action
See how the @boardname@ detects a press at a pin or on something connected to a pin in this video:
https://www.youtube.com/watch?v=GEpZrvbsO7o
## Example
2016-03-26 00:47:20 +01:00
This program shows `1` if `P0` is pressed, and `0` if `P0` is not pressed:
2016-03-26 00:47:20 +01:00
```blocks
basic.forever(() => {
if (input.pinIsPressed(TouchPin.P0)) {
basic.showNumber(1)
2016-03-26 00:47:20 +01:00
} else {
basic.showNumber(0)
2016-03-26 00:47:20 +01:00
}
})
```
## See also
2016-03-26 00:47:20 +01:00
[@boardname@ pins](/device/pins), [on pin pressed](/reference/input/on-pin-pressed), [analog read pin](/reference/pins/analog-read-pin), [analog write pin](/reference/pins/analog-write-pin), [digital read pin](/reference/pins/digital-read-pin), [digital write pin](/reference/pins/digital-write-pin)
2016-03-26 00:47:20 +01:00