pxt-calliope/docs/reference/pins/digital-write-pin.md
Juri Wolf a93febb5b7
Map and clean deprecated functions (#175)
* add image and deprecated arrow functions

* update locales

* map basic.showArrow

* map arrow blocks

* map & remove arrow images

* remove arrow blocks

* update locales

* remove & patch:
rgbw -> rgb
button/pin pressed -> button/pin event
loudness -> soundLevel

* update ts mappings for arrows

* add wip ts patch rules

* update .blocks files

* use Click instead of Down as default in Documentation and tests

* patch test.blocks

* fix lowercase name tag

* update test.blocks

* update blocks test files

* update blocks test files

* format block files

* pass blocks file tests

* fix ts mapping

* fix color.defl value

closes https://github.com/microsoft/pxt-calliope/issues/136

* fix ts mappings

- add optional spacing at the end of rgbw()
- map up to v4.0.19

* add suggested changes

* replace innerText by textContent

Co-authored-by: JW <gitkraken@juriwolf.de>
Co-authored-by: Juri <info@juriwolf.de>
2022-04-26 10:28:42 -07:00

1.7 KiB

Digital Write Pin

Write a digital (0 or 1) signal to a pin on the @boardname@ board.

pins.digitalWritePin(DigitalPin.P1, 1)

~avatar

Some pins are also used by the LED screen. Please read the page about pins carefully.

~

Parameters

  • name is a string that stores the name of the pin (P0, P1, or P2, up through P20)
  • value is a number that can be either 0 or 1

Example: football score keeper

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.

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 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.

input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
    pins.digitalWritePin(DigitalPin.P1, 1);
    basic.pause(500);
    pins.digitalWritePin(DigitalPin.P1, 0);
});

See also

@boardname@ pins, digital read pin, analog read pin, analog write pin, on pin pressed