Arduino/AVR/1. H/W
아두이노 스펙으로 살펴본 아두이노로 할 수 있는 것들
pepsiman
2009. 7. 11. 00:12
아두이노 두에밀라노브 사진 입니다만, 데시밀라와 큰 차이는 없습니다.
Digital I/O
전원핀을 제외한 모든핀은 digital i/o로 사용할수 있습니다.
Output으로 사용할 경우 프로그램상에서 Low을 주면 0v가 High를 주면 5v가 흐릅니다.
따라서 이곳에 Led의 +를 연결하고 다른 한쪽을 Gnd 핀에 연결하면 5v가 공급되어 Led가 켜지게 됩니다.
19개의 digital핀을 사용할수 있으니 19개의 led를 구동할수 있습니다.
(추가 회로를 구성하면 도트매트릭스 같은 더 많은 led도 구동할수 있습니다)
Input으로 사용할 경우 스위치를 연결하면 스위치가 눌렸는지 눌리지 않았는지 확인할수 있습니다
Analog Input (ADC)
아두이노는 자체적으로 ADC를 가지고 있습니다.
모두 6개의 아날로그 신호를 입력받을 수 있고요. 해상도는 10bit(0~1023단계)입니다.
전압을 읽어 들일수 있고 0v ~ 5v 를 1024 단계로 구분하니 약 0.0048828125v 단위로 구분 가능합니다.
전압 나눔 회로를 이용하면 5v 이상의 전압도 읽을 수 있고요.
전압계도 쉽게 구현이 가능합니다.
전압으로 출력해주는 온도센서, 장력센서, 광센서, 거리센서등을 연결해 값을 구할 수도 있습니다.
PWM
PWM은 아날로그 입력의 반대 개념인 아날로그 출력 개념이라고 보면 됩니다.
전기를 흘렸다 끊었다 하는 간격을 조절하여 전압을 조절하는것처럼 보이게 하는 겁니다.
예를 들어 계속 5v를 흘리면 출력이 5v가 되지만 5v를 흘력다 0v를 흘렸다를 반복하면 2.5v가 흘러가는것처럼 느껴지는 원리입니다. 여기서 0v흘리는 시간이 길어지면 전압은 내려가고 5v 흘리는 시간이 길어지면 전압은 올라가는것 처럼 느껴지게 됩니다.
이것을 이용하면 LED의 밝기나, 스탭모터등을 제어 할수 있습니다.
I2C (I2C는 그냥 편의상 쓰는것이고 I2C가 맞습니다)
2개의 선으로 여러개의 장치를 제어 할수 있는 통신 방식입니다.
SCL (Serial Clock) : 동기화 신호선입니다.
SDA (Serial Data) : 데이터 신호선입니다.
센서칩에서도 사용하고 일반적인 IC에서 사용합니다.
선이 많이 필요한 장비에서 선을 줄일때도 이 통신 방식을 사용합니다.
SPI (serial peripheral interface)
3개의 선을 이용한 통신 방식으로 MOSI, MISO, CLK의 선을 사용합니다.
MOSI (Master Out Slave In) : 마스터에서 슬레이브로 신호를 보내는 선입니다.
MISO (Master In Slave Out) : 슬레이브에서 마스터로 신호를 보내는 선입니다.
CLK (Clock) 또는 SCK(Serial Clock) : 신호가 오가는 동기화 주기를 알리기위한 선 입니다.
AVR을 프로그램 할때도 이 통신 방식을 사용하고 이더넷 쉴드, SD 카드와 통신 할때도 사용합니다.
RS232(시리얼포트)
아두이노에는 시리얼 포트가 하나 밖에 없고 usb에 연결되어 있어 스케치에서 작성한 프로그램을 다운 받는데 사용됩니다.
하지만 이 시리얼 포트를 사용 할수 없는건 아닙니다. 따라서 이 시리얼 포트에 gps같은 장비의 시리얼 출력을 연결하면 gps와 통신을 할 수 있습니다.
아두이노에서는 PC와 달리 TTL(0v, 5v)신호를 사용합니다. 따라서 pc와 직접 연결하면 아두이노가 망가질 수 있습니다.
xbee와 통신할때도 rs232통신을 이용합니다.
3.3V
자체적으로 3.3V 전원을 공급하므로 3.3V를 사용하는 칩들에 전원을 공급할 수 있습니다.
기본적으로 위와 같은 기능을 사용할 수 있고 I2C나 SPI, RS232통신을 통해 다른 모듈과 통신하여 다양한 추가기능을 확장할 수 있습니다.