// education

아두이노(Arduino) 소개와 마이크로컨트롤러 및 개발 환경

**아두이노(Arduino)**는 초보자, 예술가, 비전공자부터 전문 엔지니어에 이르기까지 센서, 모터, LED 등의 전자 부품을 손쉽게 제어할 수 있도록 만든 오픈소스 피지컬 컴퓨팅(Physical Computing) 플랫폼입니다. 2005년 이탈리아의 마시모 반지(Massimo Banzi) 교수진에 의해 디자인 학교 인터랙션 디자인 프로젝트로 시작되었습니다.


1. 아두이노의 핵심 용어 사전 (Glossary)


2. 대표 보드: 아두이노 우노(Arduino Uno R3) 상세 스펙

세부 스펙 항목 데이터 / 규격 상세 설명 및 역할
메인 마이크로컨트롤러 ATmega328P (Microchip/Atmel) 8-bit AVR RISC 구조 16MHz 클록
작동 전압 (Logic Voltage) 5V 아두이노 핀이 처리하는 표준 논리 전압
권장 권장 입력 전압 (Vin) 7V ~ 12V DC 어댑터나 건전지 공급 전압
디지털 입출력 핀 14개 (D0 ~ D13) 6개 핀은 PWM(펄스 폭 변조) 출력 지원
아날로그 입력 핀 6개 (A0 ~ A5) 10-bit ADC(0 ~ 1023 단계) 변환
플래시 메모리 (Flash) 32 KB 코드가 저장되는 비휘발성 공간 (0.5KB는 부트로더가 사용)
SRAM (Static RAM) 2 KB 변수와 실행 데이터가 보관되는 휘발성 공간
EEPROM 1 KB 전원이 꺼져도 저장되는 비휘발성 데이터 공간

3. 아두이노 스케치(Sketch) 기본 뼈대와 작동 알고리즘

모든 아두이노 프로그램 코드는 **setup()**과 loop() 두 개의 함수 구조를 필수로 포함합니다.

/*
  프로젝트: 아두이노 기본 온보드 LED 깜빡이기 (Blink)
  설명: 13번 핀에 연결된 내장 LED를 1초 간격으로 켰다 끕니다.
*/

void setup() {
  // 전원이 들어오거나 리셋 버튼을 누를 때 '단 1회만' 실행되는 공간
  // 주로 입출력 핀의 방향(INPUT/OUTPUT) 설정이나 시리얼 통신 초기화 수행
  pinMode(LED_BUILTIN, OUTPUT); // 13번 디지털 핀을 출력 모드로 초기화
}

void loop() {
  // setup()이 종료된 후 전원이 꺼질 때까지 '영원히 무한 반복' 실행되는 공간
  digitalWrite(LED_BUILTIN, HIGH); // 13번 핀에 5V전압을 인가하여 LED 켜기
  delay(1000);                     // 1000밀리초(1초) 동안 대기
  digitalWrite(LED_BUILTIN, LOW);  // 13번 핀에 0V(GND)전압을 인가하여 LED 끄기
  delay(1000);                     // 1초 동안 대기
}

4. 아두이노 IDE 설치 및 연결Troubleshooting 가이드

1) IDE 설치 및 포트 연결 단계

  1. 공식 웹사이트(arduino.cc)에서 Arduino IDE 2.x 버전을 다운로드하여 설치합니다.
  2. 아두이노 보드를 USB 케이블로 컴퓨터와 연결합니다.
  3. [툴] $ ightarrow$ [보드] $ ightarrow$ Arduino Uno 선택.
  4. [툴] $ ightarrow$ [포트] $ ightarrow$ COMx (Windows) 또는 cu.usbmodemxxxx (macOS) 선택.

2) 자주 발생하는 3대 오류와 해결책


5. 자주 묻는 질문 (Q&A)

Q. 아두이노 Uno, Nano, Mega 보드의 차이는 무엇인가요? A. 우노(Uno)는 표준 입문용 보드이며, 나노(Nano)는 우노와 동일한 ATmega328P 칩을 사용하되 브레드보드에 꽂아 쓰기 좋게 소형화한 보드입니다. 메가(Mega 2560)는 핀 수가 54개로 많고 메모리가 256KB로 커 대규모 모터/센서 프로젝트에 적합합니다.

← 이전 다음 →전기전자 기본 상식 (전압, 전류, 저항, 옴의 법칙)