2025년 아두이노 예제코드 완벽 가이드 – 꼭 알아야 할 핵심 정보

🤖 2025년 아두이노 예제코드 완벽 가이드


아두이노란? 🤔

아두이노(Arduino)는 오픈소스 하드웨어와 소프트웨어를 기반으로 한 마이크로컨트롤러 플랫폼입니다. 초보자부터 전문가까지 누구나 쉽게 전자회로와 프로그래밍을 배울 수 있도록 설계되어 있습니다.

💡 TIP: 아두이노는 센서, 모터, LED 등 다양한 부품과 연동이 쉬워 메이커, 학생, 취미 개발자에게 인기가 많아요!


아두이노 예제코드 Top 10 🏆

아두이노를 처음 시작하는 분들을 위해, 2025년 기준 가장 많이 활용되는 예제코드 10가지를 선정했습니다.

순위 예제명 주요 기능 난이도
1 LED 깜빡이기 LED On/Off 반복 ★☆☆☆☆
2 버튼 입력 버튼 누름 감지 ★☆☆☆☆
3 서보 모터 제어 각도 조절 ★★☆☆☆
4 온도센서 읽기 온도값 시리얼 출력 ★★☆☆☆
5 조도센서 활용 밝기 측정 ★★☆☆☆
6 부저 소리내기 소리 출력 ★☆☆☆☆
7 시리얼 통신 PC와 데이터 송수신 ★★☆☆☆
8 LCD 출력 문자/숫자 표시 ★★★☆☆
9 초음파 거리 측정 거리값 측정 ★★★☆☆
10 블루투스 통신 무선 데이터 송수신 ★★★★☆

1. LED 깜빡이기 예제코드 💡

아두이노의 가장 기본이 되는 예제입니다. LED를 1초 간격으로 켜고 끄는 코드입니다.

cpp
// LED 깜빡이기 예제
int ledPin = 13; // 아두이노 보드 내장 LED 핀

void setup() {
  pinMode(ledPin, OUTPUT); // LED 핀을 출력으로 설정
}

void loop() {
  digitalWrite(ledPin, HIGH); // LED 켜기
  delay(1000);                // 1초 대기
  digitalWrite(ledPin, LOW);  // LED 끄기
  delay(1000);                // 1초 대기
}

2. 버튼 입력 예제코드 🔘

버튼을 누르면 LED가 켜지는 간단한 예제입니다.

cpp
// 버튼 입력 예제
int buttonPin = 2; // 버튼 연결 핀
int ledPin = 13;   // LED 핀

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH); // 버튼 누르면 LED 켜기
  } else {
    digitalWrite(ledPin, LOW);  // 버튼 안 누르면 LED 끄기
  }
}

3. 서보 모터 제어 예제코드 ⚙️

서보 모터의 각도를 0도에서 180도까지 움직이는 예제입니다.

cpp
#include <Servo.h>

Servo myServo;

void setup() {
  myServo.attach(9); // 서보 신호선 9번 핀에 연결
}

void loop() {
  for (int angle = 0; angle <= 180; angle += 1) {
    myServo.write(angle);
    delay(15);
  }
  for (int angle = 180; angle >= 0; angle -= 1) {
    myServo.write(angle);
    delay(15);
  }
}

4. 온도센서 읽기 예제코드 🌡️

아두이노와 LM35 온도센서를 연결하여 온도값을 시리얼 모니터에 출력합니다.

cpp
int tempPin = A0; // LM35 센서 연결 핀

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(tempPin);
  float voltage = reading * 5.0 / 1024.0;
  float temperatureC = voltage * 100;
  Serial.print("온도: ");
  Serial.print(temperatureC);
  Serial.println(" °C");
  delay(1000);
}

5. 조도센서(LDR) 활용 예제코드 🌞

조도센서로 주변 밝기를 측정하여 시리얼 모니터에 출력합니다.

cpp
int ldrPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int ldrValue = analogRead(ldrPin);
  Serial.print("조도값: ");
  Serial.println(ldrValue);
  delay(500);
}

6. 부저 소리내기 예제코드 🎵

피에조 부저를 이용해 소리를 내는 예제입니다.

cpp
int buzzerPin = 8;

void setup() {
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  tone(buzzerPin, 1000); // 1000Hz 소리 출력
  delay(500);
  noTone(buzzerPin);     // 소리 끄기
  delay(500);
}

7. 시리얼 통신 예제코드 🖥️

아두이노와 PC 간에 데이터를 주고받는 기본 예제입니다.

cpp
void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
}

void loop() {
  if (Serial.available() > 0) {
    char data = Serial.read();
    Serial.print("입력받은 문자: ");
    Serial.println(data);
  }
}

8. LCD 출력 예제코드 🖨️

16×2 LCD에 “Hello, Arduino!”를 출력하는 예제입니다.

cpp
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("Hello, Arduino!");
}

void loop() {
  // 추가 동작 없음
}

9. 초음파 거리 측정 예제코드 📏

초음파 센서(HC-SR04)로 거리를 측정하는 예제입니다.

cpp
#define trigPin 9
#define echoPin 10

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);
  float distance = duration * 0.034 / 2;

  Serial.print("거리: ");
  Serial.print(distance);
  Serial.println(" cm");
  delay(500);
}

10. 블루투스 통신 예제코드 📶

HC-06 블루투스 모듈을 통해 스마트폰과 데이터를 주고받는 예제입니다.

cpp
void setup() {
  Serial.begin(9600); // 블루투스 모듈과 통신
}

void loop() {
  if (Serial.available()) {
    char data = Serial.read();
    Serial.print("받은 데이터: ");
    Serial.println(data);
  }
}

아두이노 예제코드 비교표 📝

예제명 주요 부품 난이도 활용도
LED 깜빡이기 LED ★☆☆☆☆ ★★★★★
버튼 입력 버튼, LED ★☆☆☆☆ ★★★★☆
서보 모터 제어 서보 모터 ★★☆☆☆ ★★★★☆
온도센서 읽기 LM35 ★★☆☆☆ ★★★☆☆
조도센서 활용 LDR ★★☆☆☆ ★★★☆☆
부저 소리내기 피에조 부저 ★☆☆☆☆ ★★★☆☆
시리얼 통신 없음 ★★☆☆☆

Leave a Comment