Bird
Raised Fist0
Arduinoprogramming~20 mins

What is Arduino - Practice Questions & Exercises

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
Challenge - 5 Problems
🎖️
Arduino Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
What is Arduino primarily used for?

Arduino is a popular platform. What is its main purpose?

ATo manage large databases efficiently
BTo develop mobile phone applications
CTo design websites and web applications
DTo create and control electronic projects using microcontrollers
Attempts:
2 left
💡 Hint

Think about small computers that control lights, motors, and sensors.

Predict Output
intermediate
2:00remaining
What does this Arduino code do?

Look at this Arduino code snippet. What will it do when run?

Arduino
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
AReads sensor data from pin 13 continuously
BTurns an LED on pin 13 on and off every second
CSends data to the computer via serial port
DCauses a compilation error due to missing semicolons
Attempts:
2 left
💡 Hint

Pin 13 is often connected to an onboard LED on Arduino boards.

🔧 Debug
advanced
2:00remaining
Why does this Arduino code fail to blink the LED?

Find the error in this Arduino code that prevents the LED from blinking.

Arduino
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
AdigitalWrite() requires two arguments but only one is given
BUsing pin 13 instead of pin 12 for the LED
CMissing semicolon after pinMode(13, OUTPUT) in setup()
Ddelay() function cannot be used in loop()
Attempts:
2 left
💡 Hint

Check punctuation carefully in the setup function.

📝 Syntax
advanced
2:00remaining
Which option correctly declares a variable to store analog input?

Choose the correct Arduino code to declare a variable that stores analog input from pin A0.

Aint sensorValue = analogRead(A0);
Bint sensorValue = digitalRead(A0);
Cint sensorValue = analogWrite(A0);
Dint sensorValue = readAnalog(A0);
Attempts:
2 left
💡 Hint

Analog input uses a specific function to read voltage levels.

🚀 Application
expert
2:00remaining
How many times will the LED blink in 10 seconds with this code?

Given this Arduino code, how many times does the LED connected to pin 13 blink in 10 seconds?

Arduino
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(250);
  digitalWrite(13, LOW);
  delay(250);
}
A20 times
B10 times
C5 times
D40 times
Attempts:
2 left
💡 Hint

Calculate the total time for one blink cycle (on + off) and divide 10 seconds by that.

Practice

(1/5)
1. What is Arduino primarily used for?
easy
A. Designing websites
B. Writing complex desktop applications
C. Making electronic projects with simple programming
D. Editing videos

Solution

  1. Step 1: Understand Arduino's purpose

    Arduino is a small computer board designed to help create electronic projects.
  2. Step 2: Compare options with Arduino's use

    Only Making electronic projects with simple programming matches Arduino's use for simple programming and electronics.
  3. Final Answer:

    Making electronic projects with simple programming -> Option C
  4. Quick Check:

    Arduino = electronic projects [OK]
Hint: Arduino is for electronics, not software or media [OK]
Common Mistakes:
  • Thinking Arduino is for web design
  • Confusing Arduino with PC software
  • Assuming Arduino edits videos
2. Which of these is the correct basic structure of an Arduino program?
easy
A. setup() and loop() functions
B. main() and run() functions
C. start() and repeat() functions
D. init() and execute() functions

Solution

  1. Step 1: Recall Arduino program structure

    Arduino programs always have setup() to initialize and loop() to repeat actions.
  2. Step 2: Match options to Arduino syntax

    Only setup() and loop() functions uses setup() and loop(), the standard Arduino functions.
  3. Final Answer:

    setup() and loop() functions -> Option A
  4. Quick Check:

    Arduino uses setup() and loop() [OK]
Hint: Remember Arduino always needs setup() and loop() [OK]
Common Mistakes:
  • Using main() like in C programs
  • Confusing function names
  • Assuming start() or init() are Arduino functions
3. What will this Arduino code do?
void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
medium
A. Cause an error because delay() is not allowed
B. Keep the LED on pin 13 always off
C. Make the LED blink very fast
D. Turn an LED on pin 13 on and off every second

Solution

  1. Step 1: Analyze setup() function

    pinMode(13, OUTPUT) sets pin 13 as output to control an LED.
  2. Step 2: Analyze loop() function

    digitalWrite(13, HIGH) turns LED on, delay(1000) waits 1 second, then LOW turns LED off, delay(1000) waits again.
  3. Final Answer:

    Turn an LED on pin 13 on and off every second -> Option D
  4. Quick Check:

    LED blinks every 1 second [OK]
Hint: delay(1000) means 1 second pause [OK]
Common Mistakes:
  • Thinking delay() causes error
  • Assuming LED stays always on
  • Confusing HIGH/LOW signals
4. Find the error in this Arduino code:
void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000)
}
medium
A. delay() function is not defined
B. Missing semicolon after delay(1000) in loop()
C. digitalWrite cannot use pin 13
D. pinMode should be in loop() not setup()

Solution

  1. Step 1: Check syntax line by line

    All lines end with semicolons except delay(1000) missing one in loop().
  2. Step 2: Validate other statements

    pinMode in setup() is correct; digitalWrite on pin 13 is allowed; delay() is built-in.
  3. Final Answer:

    Missing semicolon after delay(1000) in loop() -> Option B
  4. Quick Check:

    Missing semicolon causes syntax error [OK]
Hint: Check every line ends with a semicolon [OK]
Common Mistakes:
  • Putting pinMode in loop()
  • Thinking pin 13 is invalid
  • Assuming delay() is undefined
5. You want to make a simple Arduino project that turns on an LED only when a button is pressed. Which of these code snippets correctly sets up the button and LED pins?
hard
A. void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); }
B. void setup() { pinMode(13, INPUT); pinMode(2, OUTPUT); }
C. void setup() { pinMode(2, OUTPUT); pinMode(13, INPUT); }
D. void setup() { pinMode(13, OUTPUT); pinMode(13, INPUT); }

Solution

  1. Step 1: Identify button and LED pins

    Button should be input (pin 2), LED should be output (pin 13).
  2. Step 2: Check pinMode assignments

    void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); } sets pin 2 as INPUT and pin 13 as OUTPUT, which is correct.
  3. Final Answer:

    void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); } -> Option A
  4. Quick Check:

    Button=INPUT, LED=OUTPUT [OK]
Hint: Button pin is INPUT, LED pin is OUTPUT [OK]
Common Mistakes:
  • Swapping input/output pins
  • Setting same pin twice
  • Using wrong pin numbers