아두이노 우노
Arduino Uno(아두이노 우노)는 MCU 보드이다. 두 개의 MCU를
가지고 있는데, 하나는 ATmega328로 MCU용이고 다른 하나는 ATmega16u2로 USB-to-Serial용이다.
ATmega16u2(16KB Flash Memory, 32-pin, USB Controller)는 기존 보드들에서 사용하던 FTDI
USB-to-serial driver chip을 대체하기 위한 것으로 USB-to-Serial converter로
프로그램되어 있다.
DIO로 14핀이 있는데, 이 중 6개는 PWM용으로도
사용된다. AI는 6핀이 있다. Flash Memory는 32KB가 있는데, 이 중 약 1KB는
Bootloader용으로 사용된다. SRAM는 2KB가
있고, EEPROM은 1KB이다. Clock Speed는 16MHz이다.
아두이노 ADK (및 아두이노 메가)
Adruino ADK (및
Arduino Mega)는 MCU로 ATmega2560(256KB Flash Memory, 100-pin)을
사용한다. DIO로 54핀이 있는데, 이 중 15개(D2~13, D44~46)는 PWM용으로도
사용된다. AI는 16핀이 있다. Flash Memory는 256KB가 있는데, 이 중 약 8KB는
Bootloader용으로 사용된다. SRAM는 8KB가
있고, EEPROM은 4KB이다. Clock Speed는 16MHz이다.
ICSP란?
ICSP(In Circuit Serial Programming)는
MCU에 직접 프로그래밍 가능한 통신 포트이다. ICSP는 SPI 통신을 사용하며 6핀(SPI
3핀(MOSI, MISO, SCK) + Vcc, GND, Reset) 또는 10핀이다. 아두이노에는 6핀
짜리 2개가 있는데, 하나는 메인 MCU를 프로그래밍하기 위한 것이고 다른 하나는 USB-to-Serial용 MCU를 위한 것이다.
SPI란?
SPI(Serial Peripheral Interface)는 MCU와 주변 장치간의 시리얼 통신을 하기 위한 규약 중의 하나이다. (Motorola에서 개발) 동기식으로 Clock을 사용한다. 연결 방식에는 3 Wire, 4 Wire, 멀티 슬레이브 방식이 있다. 우노에서는 4 Wire 방식으로, D10 ~ D13이 각각 SS, MOSI(Master Out Slave In), MISO(Master In Slave Out), SCK(Serial ClocK)로 사용된다. 아두이노 (스케치) 프로그래밍에서는 <SPI.h> 를 Include하여 사용한다. 아두이노와 SPI 통신을 하는 모듈로는 SD 카드, 이더넷, RFID, NFC 모듈 등이 있다.
I2C란?
I2C(IIC – Inter Integrated Circuit)는
MCU와 저속 주변 장치간의 시리얼 통신을 하기 위한 규약 중의 하나이다. (Philips에서 개발) TWI(Two Wire Interface)라고도
하며 2 Wire(SCL, SDA)만을 사용한다. (SCL: Serial CLock, SDA: Serial DAta) 따라서
단방향 통신이다. 아두이노 (스케치) 프로그래밍에서는 <Wire.h>를 Include하여 사용한다. 우노에는 2개가 있다.
외부와의 범용 비동기 시리얼 통신(UART)
우노는 1개, 메가는 4개가 있다. 하드웨어 시리얼 통신과 소프트웨어 시리얼 통신이 있다. 소프트웨어 시리얼 통신을 위해서는 <SoftwareSerial.h>를 Include해야 한다. 이 때 주의할 점은 PCINT 지원 핀만 사용할 수 있다는 것이다. 또한 소프트웨어 시리얼 통신은 한 번에 하나의 포트만 수신할 수 있다.
PWM 포트
우노에는 6개. (3,5,6,9,10,11)
Duty Cycle 값은 0 ~ 255임. (225일
때, 5V) 주파수는 5 & 6번은 980Hz, 나머지는 490Hz(주기는 약 2ms)로 고정임. 우노에는 (주파수가
다르게 설정된) 3개의 하드웨어 타이머가 있으며 각각 2개의 PWM 포트를 제어함. 따라서
PWM 포트 2개를 사용시 짝을 지어 사용해야 함.
(5&6: TIMER0, 9&10: TIMER1, 3&11: TIMER2)
* TIMER0: 8-bit, delay(), millis(), TIMER1: 16-bit, Servo, TIMER2: 8-bit, tone()
* TIMER0: 8-bit, delay(), millis(), TIMER1: 16-bit, Servo, TIMER2: 8-bit, tone()
DC 입력 전원 포트
7 ~ 12V DC. 9V 1A 또는 12V 1A DC 어댑터 사용.
USB 포트
우노: Type B USB 사용. (ADK : Micro USB 사용)
아두이노 우노 |
* 참조
아두이노 스타터 최강 참고서: 아두이노 프로그래밍을 하기 위한 최적의 참고서
(공)저: YoungSoon Park
댓글 없음:
댓글 쓰기