Documentation Center

  • Trial Software
  • Product Updates

writeDigitalPin

Write logical value to GPIO output pin

Syntax

  • writeDigitalPin(mypi,pinNumber,value)

Description

writeDigitalPin(mypi,pinNumber,value) sets the logical value of a GPIO pin to 0 or 1.

This method configures an unconfigured pin as a GPIO output.

If the pin is a GPIO input, or if another interface (I2C, Serial, SPI) is using the pin, this method returns an error message.

Examples

Configure Pin as Digital Output and Write Its Logical Value

You can configure a pin as digital output and write its logical value.

Create a connection to the Raspberry Pi™ board.

mypi = raspi
mypi = 

  Raspi with Properties:

           DeviceAddress: 'raspberrypi-computername'
                    Port: 18725
               BoardName: 'Raspberry Pi Model B Rev 2'
           AvailableLEDs: {'led0'}
    AvailableDigitalPins: [4 7 8 9 10 11 14 15 17 18 22 23 24 25 27 30 31]
    AvailableSPIChannels: {}
      AvailableI2CBuses: {'i2c-0'  'i2c-1'}
             I2CBusSpeed: 100000

The AvailableDigitalPins property shows the list of digital pins that are available.

Redisplay AvailableDigitalPins.

mypi.AvailableDigitalPins   
ans =

  Columns 1 through 13

     4  7  8  9  10  11  14  15  17  18  22  23  24

  Columns 14 through 17

    25  27  30  31

Show the location of the GPIO 4.

showPins(mypi)

Connect the digital device you are using to GPIO 4.

Configure pin 4 as a digital output.

configureDigitalPin(mypi,4,'output')   

Write a logical value of 1 to pin 4.

writeDigitalPin(mypi,4,1)

Pressing a button blinks an LED connected to a GPIO pin

You can press a button to blink an LED connected to a GPIO pin.

This example rapidly blinks an LED when you press a button. The button connects from positive voltage to pin 23. Pressing the button closes the circuit, raising the voltage. When readDigitalPin detects the positive voltage, if buttonPressed becomes true. The program toggles the voltages to pin 24 on and off ten times. Pin 14 connects to an LED, which connects via a resistor to ground.

for ii = 1:100
    buttonPressed = readDigitalPin(mypi,23);
    if buttonPressed
        for jj = 1:10
            writeDigitalPin(mypi,24,1);
            pause(0.05);
            writeDigitalPin(mypi,24,0);
            pause(0.05);
        end
    end
    pause(0.1);
end

Input Arguments

expand all

mypi — Connection to specific boardhandle

Connection to a specific board, specified as a handle.

Use raspi to create this connection.

Example: mypi

pinNumber — GPIO pin numberpin number

GPIO pin number, specified as a scalar. This argument does not accept vectors because the hardware cannot access multiple pins simultaneously.

To get a list of valid pin numbers, enter mypi.AvailableDigitalPins.

Example: 12

Data Types: double

value — Logical value of pin0 | 1

Logical value of the pin, specified as a scalar.

Example: 1

Data Types: double | logical

See Also

| | | |

Related Examples

Was this topic helpful?