1. 아두이노 (Arduino)
ㅇ 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러 또는 플랫폼
- 보드, 관련 개발 도구, 환경 등이 어울어지는 플랫폼
. 내부 회로도가 공개되어있고,
. 누구나 쉽게 직접 만들고 수정 가능한 개발 보드
. (오픈소스 하드웨어 개발 보드)
ㅇ 어원/유래
- 명칭 : 이탈리아 국왕 이름 (친한 친구라는 뜻)
- 프로젝트 창시 : 2005년 이탈리아 북부 IDII라는 교육기관의 Massimo Banzi 교수
- 당시 Atmel社의 AVR 마이크로컨트롤러를 바탕으로 개발 보드 제작
2. 아두이노 특징
ㅇ 오픈소스 하드웨어 (Open Source Hardware)
- 이를통해 하드웨어를 구현시키기 위한 회로도 및 PCB 설계를 공유할 수 있게 함
- 오픈소스 : 하드웨어 설계용 소프트웨어 파일
ㅇ 운영체제 없이, 작은 프로그램을 직접 펌웨어로 다운로드 해야 함
ㅇ 비교적 실시간으로 실행 가능
ㅇ ADC 포함하므로, 아날로그 센서 활용 용이
ㅇ 손쉬운 프로그램 통합 개발 환경 (아두이노 IDE) 및 커뮤니티 활성화
- 아두이노 IDE (통합개발환경) : 자바 언어로 만들어진 개발 환경
3. 아두이노 주요 보드 종류
ㅇ 아두이노 우노(Uno) : ATmega328 사용 (8 비트, AVR 기반) ☞ Uno 보드(Rev3), Getting Started
- 14개 digital input/output pins, 6개 analog inputs, 1개 16 MHz 세라믹 발진기,
1개 USB 포트, 1개 전원 잭, 1개 ICSP header, 1개 reset button
ㅇ 아누이노 레오나르도 : ATmega32u4 사용 (8 비트, AVR 기반)
ㅇ 아누이노 메가 2560 : ATmega2560 사용 (8 비트, AVR 기반)
ㅇ 아누이노 제로 : ATSAMD21G18 사용 (32 비트, ARM 기반)
ㅇ 아누이노 듀에(Due) : AT91SAM3X8E 사용 (32 비트, ARM 기반)
4. 아두이노 우노(Uno)
ㅇ 마이크로 컨트롤러 : ATmega328/P
- 메모리 : 2 KB SRAM, 32 KB 플래시 메모리, 1 KB EEPROM
- 동작 클럭 : 16 MHz
- 동작 전압 : 5 V
ㅇ I/O 핀
- 디지털 I/O 핀 : 14개
. 기본 5 V 동작
. 최대 40 mA 입출력 가능 (통상, 15 mA)
. 20~50 ㏀ 풀업 저항 내장
. 14 핀 중 6개 핀(3,5,6,9,10,11)이 PWM 출력(0 ~ 5 V)으로도 동작 가능
-아날로그 입력 핀 : 6개
ㅇ USB 포트 : 1개
ㅇ 외부 전원 연결 포트 : 1개
ㅇ ADC 포함 : (아날로그 센서 활용용)
5. 아두이노 프로그래밍 언어
ㅇ 텍스트 기반 프로그래밍 언어 : 스케치 (Sketch)
- C 언어와 구조가 유사하지만, 문법이 간소화되어, 상대적으로 배우기 쉬움
ㅇ 블록 기반 프로그래밍 언어 : 스크래치 (Scratch)
- 레고 블록을 쌓듯이 블록을 조합해 프로그램을 만들 수 있음