1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
.. _arduino-digitalwrite:
digitalWrite()
==============
Description
-----------
Write a `HIGH <http://arduino.cc/en/Reference/Constants>`_ or a
`LOW <http://arduino.cc/en/Reference/Constants>`_ value to a
digital pin.
If the pin has been configured as an OUTPUT with
`pinMode <http://arduino.cc/en/Reference/PinMode>`_\ (), its voltage
will be set to the corresponding value: 5V (or 3.3V on 3.3V boards)
for HIGH, 0V (ground) for LOW.
If the pin is configured as an INPUT, writing a HIGH value with
digitalWrite() will enable an internal 20K pullup resistor (see the
`tutorial on digital pins <http://arduino.cc/en/Tutorial/DigitalPins>`_).
Writing LOW will disable the pullup. The pullup resistor is enough
to light an LED dimly, so if LEDs appear to work, but very dimly,
this is a likely cause. The remedy is to set the pin to an output
with the pinMode() function.
**NOTE:** Digital pin 13 is harder to use as a digital input than
the other digital pins because it has an LED and resistor attached
to it that's soldered to the board on most boards. If you enable
its internal 20k pull-up resistor, it will hang at around 1.7 V
instead of the expected 5V because the onboard LED and series
resistor pull the voltage level down, meaning it always returns
LOW. If you must use pin 13 as a digital input, use an external
pull down resistor.
Syntax
------
digitalWrite(pin, value)
Parameters
----------
pin: the pin number
value: `HIGH <http://arduino.cc/en/Reference/Constants>`_ or
`LOW <http://arduino.cc/en/Reference/Constants>`_
Returns
-------
none
Example
-------
::
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
Sets pin 13 to HIGH, makes a one-second-long delay, and sets the
pin back to LOW.
Note
----
The analog input pins can be used as digital pins, referred to as
A0, A1, etc.
See also
--------
- `pinMode <http://arduino.cc/en/Reference/PinMode>`_\ ()
- `digitalRead <http://arduino.cc/en/Reference/DigitalRead>`_\ ()
- `Tutorial: Digital Pins <http://arduino.cc/en/Tutorial/DigitalPins>`_
.. include:: cc-attribution.txt
|