pxt-calliope/docs/reference/pins/digital-write-pin.md

64 lines
1.7 KiB
Markdown
Raw Normal View History

2016-03-26 00:47:20 +01:00
# Digital Write Pin
Write a **digital** (`0` or `1`) signal to a [pin](/device/pins) on
2016-11-02 01:44:37 +01:00
the @boardname@ board.
2016-03-26 00:47:20 +01:00
```sig
pins.digitalWritePin(DigitalPin.P1, 1)
```
## ~avatar
Some pins are also used by the [LED screen](/device/screen).
Please read the [page about pins](/device/pins) carefully.
## ~
## Parameters
2016-03-26 00:47:20 +01:00
* ``name`` is a [string](/types/string) that stores the name of the pin (``P0``, ``P1``, or ``P2``, up through ``P20``)
* ``value`` is a [number](/types/number) that can be either `0` or `1`
2016-03-26 00:47:20 +01:00
## Example: football score keeper
2016-03-26 00:47:20 +01:00
This program reads pin `P0` to find when a goal is scored. When `P0`
is `1`, the program makes the score bigger and plays a buzzer sound
through `P2` with ``digital write pin``.
2016-03-26 00:47:20 +01:00
```blocks
let score = 0
basic.showNumber(score)
basic.forever(() => {
if (pins.digitalReadPin(DigitalPin.P0) == 1) {
score++;
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showNumber(score)
basic.pause(1000)
pins.digitalWritePin(DigitalPin.P2, 0)
}
})
```
This program is a remote control for the score keeper program. If you
2016-11-02 01:44:37 +01:00
connect `P1` on the remote control @boardname@ to `P0` on the score
keeper @boardname@, you can press button `B` on the remote. This program
will use ``digital write pin`` to make the other @boardname@ buzz and
make the score bigger.
```blocks
2020-02-20 17:00:11 +01:00
input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
pins.digitalWritePin(DigitalPin.P1, 1);
basic.pause(500);
pins.digitalWritePin(DigitalPin.P1, 0);
});
```
## See also
2016-03-26 00:47:20 +01:00
2016-11-02 01:44:37 +01:00
[@boardname@ pins](/device/pins),
[digital read pin](/reference/pins/digital-read-pin),
[analog read pin](/reference/pins/analog-read-pin),
[analog write pin](/reference/pins/analog-write-pin),
[on pin pressed](/reference/input/on-pin-pressed)
2016-03-26 00:47:20 +01:00