Bird
Raised Fist0
Arduinoprogramming~5 mins

What is Arduino

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
Introduction

Arduino helps you control electronic parts easily. It lets you make cool projects like lights, robots, and sensors.

You want to build a simple robot at home.
You want to control lights or motors automatically.
You want to learn how electronics and programming work together.
You want to create a small gadget that reacts to the environment.
You want to try making your own smart device without complex tools.
Syntax
Arduino
// Arduino programs have two main parts:
void setup() {
  // This runs once when the board starts
}

void loop() {
  // This runs over and over again
}

setup() runs once to set things up.

loop() runs repeatedly to keep your program alive.

Examples
This example blinks an LED connected to pin 13 on and off every second.
Arduino
void setup() {
  pinMode(13, OUTPUT); // Set pin 13 as output
}

void loop() {
  digitalWrite(13, HIGH); // Turn LED on
  delay(1000); // Wait 1 second
  digitalWrite(13, LOW); // Turn LED off
  delay(1000); // Wait 1 second
}
This example sends a message to your computer every 2 seconds.
Arduino
void setup() {
  Serial.begin(9600); // Start serial communication
}

void loop() {
  Serial.println("Hello, Arduino!"); // Print message
  delay(2000); // Wait 2 seconds
}
Sample Program

This program makes the built-in LED blink on and off every half second.

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

void loop() {
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
}
OutputSuccess
Important Notes

Arduino boards have pins to connect sensors and lights.

You write code on your computer and send it to the Arduino board.

Arduino is great for beginners because it is simple and fun.

Summary

Arduino is a small computer you can program to control electronics.

It uses simple code with setup() and loop() functions.

It helps you make projects like blinking lights, robots, and sensors easily.

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