아두이노 우노 R3(Arduino Uno)
아두이노는 이탈리아에서 개발된 오픈소스를 기반으로 한 단일 보드 마이크로 컨트롤러입니다. 2005년 이탈리아의 IDII(Interaction Design Institutelvera)에서 학생들이 자신들의 디자인 작품을 손쉽게 제어할 수 있게 하려고 고안 개발되었습니다. 아두이노는 이탈리아 말로 '힘센 친구'이고 아두이노는 여러 가지 종류의 파생 기기가 있습니다 그중 우노는 '1'이라는 뜻으로 첫 번째를 뜻하고 R3는 그중 3번째 버전의 우노 보드라는 것을 뜻합니다
아두이노 우노는 크게 DIP과 SMD 타입으로 또 구분됩니다. 이 차 이는 두뇌 역할을 하는 마이크로 프로세서 ATmega328p의 형태에 따라 구분됩니다.
위 사진 왼쪽이 DIP 타입으로 Dual In-line Package 약어이고 특징으로는 마이크로프로세서가 쇼켓에 고정되는 타임으로 마이크로프로세서의 고장 시 쉽게 교체 가능합니다. SMD 타입은 Surface Mount Device 약어이고 마이크로프로세서가 기판에 납땝되어 있는 형태이고 칩 다리가 없어 보드 뒤면이 깨끗한 편입니다. SMD 타입의 경우 USB 드라이버를 따로 설치를 해야 PC와 연결이 가능하며 장점으로는 가격이 DIP 타입에 비해 저렴하다고 합니다.
또한 모든 아두이노는 정품과 호환품으로 구분됩니다. 정품은 아두이노 본사 제작품이라 생각하시면 되고 호환품은 카피품이라 생각하시면 편합니다. 아두이노는 기본적으로 오픈소스 기반이기에 아무나 제작해서 사용 가능합니다. 인터넷에서도 정품, 호환품으로 쉽게 구매 가능하고 아두이노 초보의 경우 가격이 저렴한 호환품(DIP 타입 추천)으로 우선 공부하길 추천합니다. 학습 중 작은 실수로 보드가 고장이 발생할 수 있기 때문입니다.
왼쪽은 호환 보드이고 오른쪽은 정품 보드입니다. 가격은 3배 정도 정품이 비싸지만 성능상의 차이는 없다고 보시면 됩니다 단 만듦새는 정품 쪽이 좋습니다. 정품의 경우 종이박스에 포장되어 있고 보드 뒷면도 플라스틱 보호커버가 있는 차이점이 있습니다. 그리고 한 가지 더 호환 보드의 경우 정품 보드와 완전히 똑같은 제품과 USB 칩을 CH340을 사용한 더 저렴한 보드로 또 구분됩니다. CH340 칩 사용 보드의 경우는 위에서 설명한 SMD보드처럼 따로 칩셋 드라이버 설치 과정을 진행하여야 PC와 연결 가능합니다.
추후 CH340 칩 사용 보드를 구매 후 드라이버 설치 과정을 작성하는 것으로 하고 오늘은 정품 보드 기준으로 적어볼까 합니다.
< 주요 스펙>
Processor : ATMega328P (16MHZ, 32KB Flash Memory)
Memory : 2KB SRAM, 1KB EEPROM
보드 동작 전압 : DC 5V
공급 전압 :
- 아답터를 통한 전압 공급
동작에 필요한 전압 : DC 7V ~ 12V
보드 보호를 위한 제한 전압 : DC 6V ~ 20V
- USB를 통한 공급할 경우
동작에 필요한 전압 : DC 4.5V ~ 5.5V
보드 보호를 위한 제한 전압 : DC 4.5V ~ 5.5V
- 보드 PIN 사용 시 안전 소비전력 : 500mA이하
내부 3.3V : 50mA 출력 지원
PIN( PIN 출력 전류 : 20mA)
- 디지털 in/out : 14 Pin
- PWM out : 6 Pin
- SPI : 4 Pin
- I2C : 2 Pin
- UART Rx/Tx : 2 Pin
- 아날로그 in : 6 Pin
동작 온도 : -40℃ ~ 80℃
◇ 디지털 in/out, PWM 출력(GPIO(General Purpose I/O): 범용 입출력 핀)
사용자에 의해 입, 출력의 모드가 지정
기본 0 ~ 13핀 디지털 입출력(High : DC 5V, on / Low : DC 0V, off)
0, 1 PIN의 경우는 각각 시리얼 송수신시는 사용불가(0 pin : Rx 수신, 1 pin : Tx 송신)
3, 5, 6, 9, 10, 11 pin (~ 표시 pin) : PWM(펄스폭 변조 방식을 이용한 가상의 아날로그 output 지원 (출력 값 0~255)
13 PIN 내장 LED와 연결 출력 시 LED 점등
◇ 아날로그 IN (입력값 0~1023)
A0 ~ A5로 사용
아날로그 전압을 받아 AD 컨버터에 의해 디지털 값으로 변환(10Bit 정보로 변환 0~1023)
디지털 in/out으로도 사용 가능(pinMode설정으로 지정가능)
A4 : SDA(Serial Data), A5 : SCL(Serial Clock)으로 I2C 통신을 위한 인터페이스로 사용 가능함
◇ SCL(A5), SDA(A4) : I2C 통신을 위한 인터페이스
◇ AREF(Analog ReFerence) : 아날로그 입력 신호의 최대 전압값 설정(Default DC 5V)
AREF Pin에 3.3V 인가 시 아날로그 값은 0V(0) ~ 3.3V(1023)으로 분해 측정 (5V 사용 시 보다 정밀한 측정이 가능)
AREF Pin 5V 이상 인가 시 보드 손상의 위험이 있어 조심해야 함
코딩에서의 선언 : setup()에서 analogReference(옵션)으로 지정
DEFAULT : 아두이노 기본 전압 사용 5V, 3.3V *3.3V를 기본으로 사용하는 아두이노는 3.3V
INTERNAL : ATmega328P에서 내장 전압 1.1V
EXTERNAL : AREF핀에 연결된 전압
◇ IOREF(Input Output Reference) : 확장 보드(쉴드) 사용 시 아두이노 I/O pin의 지준 전압을 쉴드들이 확인하는 핀
◇ RESET : 아두이노 보드의 재시작, 리셋 버튼 혹은 Reset pin을 GND pin에 접지 시킴으로 가능
◇ Vin(Voltage Inout)
아두이노 보드에 전원을 공급할 때 사용, DC 7V ~ 12V까지 입력받을 수 있지만 내부적으로는 5V로 전압 조절 후 사용
외부 전원 잭이랑 VIN은 회로적으로 연결되어 한 곳만 전원 공급을 하면 된다.
아두이노는 Vim, USB, 외부 전원 잭 3가지 방법으로 전원 공급을 받는다.
◇ ICSP(In-Circuit Serial Programing)
마이크로 프로세서(ATMega328P) 내부 플래시 메모리의 펌웨어(부트로더) 시 사용
지금까지 아두이노 중에 가장 표준이라고 할 수 있는 우노 보드에 대하여 알아보았습니다. 이외에도 나노 프로 레오나르도 등등 많은 종류의 아두이노들이 존재합니다.