Bird
Raised Fist0
Arduinoprogramming~5 mins

digitalWrite() for output control in Arduino - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the digitalWrite() function do in Arduino?

digitalWrite() sets a digital pin to either HIGH (on) or LOW (off), controlling output devices like LEDs.

Click to reveal answer
beginner
What are the two main values you can use with digitalWrite()?

The two main values are HIGH (to turn the pin on) and LOW (to turn the pin off).

Click to reveal answer
beginner
Why do you need to use pinMode() before digitalWrite()?

You must set the pin as OUTPUT with pinMode() so Arduino knows you want to control something like an LED.

Click to reveal answer
intermediate
What happens if you use digitalWrite() on a pin set as INPUT?

The pin will not properly control output devices; it may cause unexpected behavior because the pin is set to read signals, not send them.

Click to reveal answer
beginner
Write a simple Arduino code snippet to turn an LED on pin 13 on and off every second using digitalWrite().
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH); // LED on
  delay(1000);            // wait 1 second
  digitalWrite(13, LOW);  // LED off
  delay(1000);            // wait 1 second
}
Click to reveal answer
What does digitalWrite(8, HIGH); do?
AReads the value from pin 8
BSets pin 8 to output and turns it on
CTurns pin 8 on if it is set as output
DSets pin 8 to input mode
Which function must be called before digitalWrite() to control an LED?
ApinMode(pin, OUTPUT);
BdigitalRead(pin);
Cdelay(time);
DanalogWrite(pin, value);
What value turns a pin off using digitalWrite()?
AHIGH
BOUTPUT
CINPUT
DLOW
If you want to blink an LED every second, which function helps create the delay?
ApinMode()
Bdelay()
CdigitalWrite()
DanalogRead()
What will happen if you call digitalWrite() on a pin set as INPUT?
AThe output may not work as expected
BThe pin will read the input value
CThe pin will output the value correctly
DThe Arduino will reset
Explain how digitalWrite() controls an LED connected to an Arduino pin.
Think about turning a light switch on and off.
You got /3 concepts.
    Describe the steps to blink an LED using digitalWrite() and delay().
    Imagine turning a flashlight on and off with pauses.
    You got /5 concepts.

      Practice

      (1/5)
      1. What does the digitalWrite() function do in Arduino programming?
      easy
      A. It sets the analog value of a pin.
      B. It reads the voltage from a digital pin.
      C. It initializes the serial communication.
      D. It sets a digital pin to HIGH or LOW voltage.

      Solution

      1. Step 1: Understand the purpose of digitalWrite()

        The function digitalWrite() is used to control the voltage level on a digital pin, setting it either HIGH (on) or LOW (off). It does not read values (that's digitalRead()), nor does it set analog values or initialize serial communication.
      2. Final Answer:

        It sets a digital pin to HIGH or LOW voltage. -> Option D
      3. Quick Check:

        digitalWrite() controls pin voltage = D [OK]
      Hint: digitalWrite sets pin ON or OFF voltage [OK]
      Common Mistakes:
      • Confusing digitalWrite() with digitalRead()
      • Thinking digitalWrite() reads pin values
      • Mixing digitalWrite() with analogWrite()
      2. Which of the following is the correct syntax to turn on an LED connected to pin 13 using digitalWrite()?
      easy
      A. digitalWrite(13, HIGH);
      B. digitalWrite(13, LOW);
      C. digitalWrite(13, ON);
      D. digitalWrite(13, TRUE);

      Solution

      1. Step 1: Recall correct constants and check options

        digitalWrite() uses HIGH and LOW constants. To turn on, use HIGH. A uses ON (not valid), B uses LOW (turns off), D uses TRUE (not valid). Only C: digitalWrite(13, HIGH); is correct.
      2. Final Answer:

        digitalWrite(13, HIGH); -> Option A
      3. Quick Check:

        Use HIGH or LOW with digitalWrite() = C [OK]
      Hint: Use HIGH or LOW, not ON or TRUE [OK]
      Common Mistakes:
      • Using ON or TRUE instead of HIGH
      • Using LOW instead of HIGH
      • Forgetting to set pinMode to OUTPUT first
      3. What will be the output on pin 8 after running this code snippet?
      pinMode(8, OUTPUT);
      digitalWrite(8, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(8, LOW);
      medium
      A. Pin 8 will toggle rapidly.
      B. Pin 8 will be HIGH (on).
      C. Pin 8 will be LOW (off).
      D. Pin 8 will cause a syntax error.

      Solution

      1. Step 1: Trace the digitalWrite() calls

        pinMode sets OUTPUT, then LOW, HIGH, LOW. Final LOW so pin off.
      2. Final Answer:

        Pin 8 will be LOW (off). -> Option C
      3. Quick Check:

        Last digitalWrite sets pin LOW = A [OK]
      Hint: Last digitalWrite() sets pin state [OK]
      Common Mistakes:
      • Assuming pin toggles automatically
      • Confusing initial and final pin states
      • Thinking multiple digitalWrite calls cause errors
      4. Identify the error in this Arduino code snippet:
      digitalWrite(12, HIGH);
      pinMode(12, OUTPUT);
      medium
      A. No error, code runs fine.
      B. pinMode() must be called before digitalWrite().
      C. digitalWrite() cannot use pin 12.
      D. HIGH is not a valid value for digitalWrite().

      Solution

      1. Step 1: Check order of pinMode() and digitalWrite()

        pinMode() must set OUTPUT before digitalWrite(), otherwise unexpected behavior. Here digitalWrite first.
      2. Final Answer:

        pinMode() must be called before digitalWrite(). -> Option B
      3. Quick Check:

        Set pinMode before digitalWrite = A [OK]
      Hint: Always set pinMode(OUTPUT) before digitalWrite() [OK]
      Common Mistakes:
      • Calling digitalWrite before pinMode
      • Assuming pinMode defaults to OUTPUT
      • Using invalid pin numbers
      5. You want to blink an LED connected to pin 9 on and off every second. Which code snippet correctly uses digitalWrite() inside the loop() function to achieve this?
      hard
      A. digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000);
      B. digitalWrite(9, HIGH); digitalWrite(9, LOW); delay(1000);
      C. pinMode(9, OUTPUT); digitalWrite(9, HIGH); delay(1000);
      D. digitalWrite(9, HIGH); delay(500); digitalWrite(9, HIGH); delay(500);

      Solution

      1. Step 1: Understand blinking and analyze options

        Blink: HIGH, delay(1000), LOW, delay(1000). A: HIGH immediate LOW, no on time. C: pinMode in loop inefficient, no LOW. D: HIGH twice, always on. Only B correct.
      2. Final Answer:

        digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); -> Option A
      3. Quick Check:

        Turn ON, delay, turn OFF, delay = B [OK]
      Hint: Turn ON, delay, turn OFF, delay for blinking [OK]
      Common Mistakes:
      • Missing delay between ON and OFF
      • Not turning LED OFF after ON
      • Setting pinMode inside loop repeatedly