2주차 : Arduino IDE 및 ESP32 개발환경 설정 - dhryu60/SmartDevice_2025-1 GitHub Wiki

📌 2주차: Arduino IDE 및 ESP32 개발환경 설정


1. 강의 개요

주제: Arduino IDE 2.0 설치 및 ESP32 개발환경 설정
목표: 학생들이 Arduino IDE를 설치하고, ESP32 보드 설정 및 기본 프로그램(Blink) 업로드까지 수행할 수 있도록 함
학습 시간: 150분
필요 준비물: 컴퓨터, ESP32 보드, USB 케이블


2. Arduino IDE 2.0 소개

✅ IDE란?

https://github.com/dhryu60/SmartDevice_2025-1/wiki/2%EC%A3%BC%EC%B0%A8_%EC%B0%B8%EA%B3%A0-:-%ED%86%B5%ED%95%A9%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD(IDE)

✅ Arduino IDE란?

  • Arduino 보드를 프로그래밍하기 위한 통합 개발 환경(IDE)
  • C++ 기반의 스케치(Sketch) 프로그래밍 지원

✅ Arduino IDE 2.0의 특징

  • 성능 향상 (더 빠른 컴파일 속도)
  • UI 개선 (더 직관적인 인터페이스)
  • 코드 자동 완성 기능 제공
  • 내장 디버거 지원
  • Arduino Cloud와의 동기화 가능

3. Arduino IDE 2.0 설치하기

🔹 설치 방법

  1. Arduino 공식 사이트 접속:
  2. "Just Download" 버튼 클릭하여 다운로드
  3. 설치 파일 실행 후, "다음(Next)" 버튼을 계속 클릭하여 설치 완료

Tip: 설치 과정에서 특별한 설정 없이 기본값으로 진행하면 됨


4. ESP32 개발환경 설정

ESP32 보드를 Arduino IDE에서 인식하고 프로그래밍할 수 있도록 설정해야 함.

🔹 1단계: ESP32 보드 매니저 설정

  1. Arduino IDE 실행 후, "파일(File) > 환경 설정(Preferences)" 클릭
  2. 추가적인 보드 매니저 URLs 입력란에 아래 URL 추가 후 "확인" 클릭
  3. 사이드 탭에서 "보드 매니저(Board Manager)" 선택
  4. 검색 창에 "esp32 by Espressif Systems" 입력 후 설치

Tip: 설치 완료 후, ESP32 기반의 다양한 개발 보드를 선택 가능


🔹 2단계: ESP32 보드 및 포트 선택

  1. 상단 툴바에서 "보드 및 포트 선택" 클릭
  2. "DOIT ESP32 DEVKIT V1" 선택 (기본 ESP32 개발보드)
  3. 포트(Port) 설정 확인
  • Windows의 경우: 장치 관리자(Device Manager) → 포트(COM & LPT)에서 확인 가능
  • Mac의 경우: /dev/ttyUSB0 또는 /dev/cu.SLAB_USBtoUART 확인

Tip: 보드가 정상적으로 연결되었는지 확인하려면, **"도구(Tools) > 포트(Port)"**에서 확인 가능


🔹 3단계: 시리얼 드라이버(CP210x) 설치

ESP32 보드를 컴퓨터에서 인식하려면 CP210x USB to UART 드라이버가 필요함.

  1. 장치 관리자(Device Manager)에서 CP210x 포트 확인
  2. 드라이버 다운로드:
  1. 드라이버 설치 후, 장치 관리자로 이동하여 포트 확인
  2. 정상적으로 ESP32가 연결되었는지 확인

Tip: 드라이버가 정상적으로 설치되지 않으면, USB 케이블을 교체하거나 다른 포트에 연결하여 확인


5. ESP32 기본 예제 실행 - Blink 프로그램

🔹 Blink 코드란?

  • ESP32 보드의 내장 LED를 깜빡이게 하는 기본적인 코드
  • 보드가 정상적으로 작동하는지 확인하는 첫 번째 실습

🔹 Blink 코드 실행 방법

  1. Arduino IDE에서 "파일(File) > 예제(Examples) > 01.Basics > Blink" 선택
  2. 코드 업로드
  • 상단 툴바의 "업로드(Upload)" 버튼 클릭
  • 업로드 완료 메시지 확인
  1. ESP32 보드의 LED가 깜빡이는지 확인

Tip: LED가 깜빡이지 않으면, 포트 설정보드 연결 상태 확인


6. Blink 예제 코드 분석

// 내장 LED가 연결된 핀 번호 설정
int ledPin = 2;

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

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

7. 추가 실습 - LED 점멸 속도 조절

🔹 실습 목표

  • delay() 값을 변경하여 LED 점멸 속도를 조절하는 방법을 학습한다.
  • 코드를 수정하고 업로드하는 과정을 반복하며 ESP32 프로그래밍에 익숙해진다.

🔹 실습 방법

  1. 기존 Blink 코드에서 delay(1000); 값을 delay(500);으로 변경
  2. 업로드 후 LED 점멸 속도가 빨라지는지 확인
  3. delay(2000);으로 변경하여 점멸 속도가 느려지는지 확인

🔹 실습 코드 예시

// 내장 LED가 연결된 핀 번호 설정
int ledPin = 2; 

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

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

8. 학습 정리

이번 주차에서는 Arduino IDE 2.0 설치 및 ESP32 개발 환경 설정을 학습하고, Blink 예제를 실행하여 LED 점멸을 실습했습니다.
각 단계를 복습하며, 개발 환경을 올바르게 구성했는지 확인해봅시다.


🔹 이번 주 학습한 주요 내용

학습 내용 요약
Arduino IDE 설치 Arduino 공식 사이트에서 다운로드 및 설치
ESP32 개발환경 설정 보드 매니저 추가 및 ESP32 보드 설정
포트 설정 장치 관리자에서 COM 포트 확인 후 선택
CP210x 드라이버 설치 ESP32 보드를 정상적으로 인식하도록 설정
Blink 예제 실행 LED가 1초 간격으로 깜빡이는지 확인
LED 속도 변경 실습 delay() 값을 조절하여 점멸 속도 변경

9. 다음 주 예고

다음 주에는 ESP32의 디지털 및 아날로그 입출력 실습을 진행합니다.
이번 주 학습한 Arduino IDE 및 ESP32 개발환경 설정을 바탕으로, 센서 및 액츄에이터 제어 실습을 시작할 예정입니다.


🔹 다음 주 학습 내용

  1. ESP32 디지털 입출력 실습

    • 버튼을 누르면 LED가 켜지고, 다시 누르면 꺼지는 프로그램 작성
    • digitalRead()digitalWrite() 함수 활용
  2. ESP32 아날로그 입력 실습

    • 가변저항을 이용하여 아날로그 값을 읽고, LED 밝기 조절
    • analogRead()analogWrite() 함수 사용
  3. ESP32와 센서 연결 실습

    • **온습도 센서(DHT11)**를 사용하여 환경 데이터 측정
    • 조도 센서를 활용한 빛 감지 실험
  4. ESP32의 Wi-Fi 및 Bluetooth 기능 소개

    • Wi-Fi 네트워크에 연결하여 데이터를 송수신하는 기초 실습
    • Bluetooth(BLE)를 활용한 스마트폰 제어 실습 소개

🔹 다음 주 실습 준비물

ESP32 보드
LED 및 버튼 (디지털 입출력 실습용)
가변저항 (아날로그 입력 실습용)
DHT11 온습도 센서
조도 센서 및 점퍼 와이어

👉 수업 전에 준비물을 확인하고, ESP32 개발환경을 다시 한번 점검해주세요!


🔹 PDF 자료

챕터2.ESP32개발환경설정.pdf


🚀 다음 주부터는 실제 센서를 활용하여 IoT 기초 프로젝트를 시작합니다!
📢 Arduino IDE 및 ESP32 설정이 아직 익숙하지 않다면, 이번 주 학습한 내용을 복습하고 준비하세요!