Bird
Raised Fist0
Arduinoprogramming~10 mins

What is Arduino - Interactive Quiz & Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to turn on the built-in LED on an Arduino board.

Arduino
void setup() {
  pinMode(LED_BUILTIN, [1]);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}
Drag options to blanks, or click blank then click option'
ALOW
BINPUT
CHIGH
DOUTPUT
Attempts:
3 left
💡 Hint
Common Mistakes
Using INPUT instead of OUTPUT in pinMode.
Confusing HIGH and OUTPUT.
2fill in blank
medium

Complete the code to read the value from a sensor connected to analog pin A0.

Arduino
int sensorValue = analogRead([1]);
Drag options to blanks, or click blank then click option'
A13
BLED_BUILTIN
CA0
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using digital pin numbers instead of analog pin names.
Using LED_BUILTIN instead of sensor pin.
3fill in blank
hard

Fix the error in the code to blink an LED every second.

Arduino
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay([1]);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}
Drag options to blanks, or click blank then click option'
A1000
B500
C1500
D100
Attempts:
3 left
💡 Hint
Common Mistakes
Using different delay times causing uneven blinking.
Using too short delay making blinking too fast.
4fill in blank
hard

Fill both blanks to create a dictionary of sensor readings where keys are sensor names and values are their readings.

Arduino
int sensor1 = analogRead(A0);
int sensor2 = analogRead(A1);

int readings[] = {sensor1, sensor2};

String sensors[] = {"temp", "light"};

for (int [1] = 0; [1] < 2; [1]++) {
  Serial.print(sensors[[2]]);
  Serial.print(": ");
  Serial.println(readings[[1]]);
}
Drag options to blanks, or click blank then click option'
Ai
Bj
C0
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variables for loop and array access causing errors.
Using constants instead of loop variable.
5fill in blank
hard

Fill all three blanks to define a function that reads a sensor value and returns true if it is above a threshold.

Arduino
bool isHigh(int [1], int [2]) {
  int value = analogRead([3]);
  return value > [2];
}
Drag options to blanks, or click blank then click option'
Apin
Bthreshold
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing parameter names causing confusion.
Using wrong variable names inside the function.

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