아두이노 프로 미니 보드와 같은 보드는 PC와의 시리얼 통신을 위한 칩이 없습니다. 아두이노 우노나 나노 같은 경우는 자체에 통신칩을 내장하고 있어서 바로 PC에 연결해서 프로그램의 업로드가 가능하지만 프로 미니 같은 경우는 별도의 시리얼 통신 장치를 통해서 업로드 해야 합니다. 이런 장치를 USB UART 또는 USB TO TTL 또는 USB To Serial 모듈이라고 합니다. 이름이 참 다양하죠? 표준 네임은 저도 잘 모르겠습니다. ^^;; 예전 글에서 저가의 시리얼 통신칩인 CH340 칩을 사용한 USB to TTL 모듈을 사용해서 아두이노 프로 미니에 업로드를 해 보았는데 DTR 기능을 지원하지 않아서 업로드 할 때마다 리셋 버튼을 눌러주는 번거로움이 있었습니다. 하지만 FTDI 의 FT232RL 칩을 사용한 모듈은 DTR 기능을 지원해서 그런 과정이 필요 없이 아두이노 프로 미니에 프로그램을 업로드 해 줍니다. 편리하죠.
FTDI USB To TTL 모듈의 모습 입니다. CH340 저가형 모듈과 다른 점은 DTR(Data Terminal Ready)핀, CTS(Clear To Send) 핀이 추가된 것입니다. DTR 핀이 있기 때문에 아두이노 프로 미니에 프로그램 업로드 시 리셋 버튼을 눌렀다 떼는 액션은 필요가 없습니다. 출력 전압은 3.3V 와 5V 를 지원 합니다. 사진에 보이는 점퍼를 5V 쪽에 끼우면 5V 전압이 출력되고 3.3V쪽에 끼우면 3.3V가 VCC 단자를 통해서 출력 됩니다. 그리고 모듈의 아래 위로 많은 확장 기능들이 있는 것을 볼 수 있습니다. PC와의 연결은 Mini USB 단자가 달린 케이블을 이용 합니다. 예전 MP3 플레이어 등에 많이 사용되었던 케이블 입니다.
■ 드라이버 설치 (FTDI FT232RL 드라이버)
처음 PC에 모듈을 연결하면 드라이버를 찾지 못합니다. 아쉽게도 드라이버 자동설치는 지원하지 않기 때문에 직접 홈페이지에서 드라이버를 다운로드 받아서 설치해 주어야 합니다. 드라이버 다운로드를 위해서 아래의 URL로 이동 합니다.
http://www.ftdichip.com/Drivers/VCP.htm
CDM v2.12.18 WHQL Certified.zip
홈페이지에 들어가면 위와 같이 OS별로 드라이버를 다운로드 받을 수 있습니다. 저는 윈도우 7을 사용하고 32비트 OS 이기 때문에 Windows OS에 x86(32 Bit) 드라이버를 다운로드 받았습니다. 다운로드 받은 드라이버 파일의 압축을 풉니다.
FTDI 모듈을 PC에 연결하면 위와 같이 장치관리자에서 느낌표가 뜨면서 드라이버가 제대로 잡히지 않았음을 알립니다.
FT232R USB UART 장치에서 오른쪽 마우스 버튼을 클릭하고 드라이버 업데이트를 선택합니다. 위와 같이 나오는데 컴퓨터에서 드라이버 소프트웨어 찾아보기를 클릭하고 좀 전에 다운로드 받아서 압축을 풀었던 드라이버 폴더를 지정해 줍니다. 그러면 드라이버가 설치됩니다.
드라이버 설치가 잘 끝났으면 위와 같이 드라이버 업데이트가 완료 되었다는 메시지가 나옵니다.
USB UART 보드를 뽑았다가 다시 연결해 보면 위와 같이 장치관리자의 범용 직렬 버스 컨트롤러(USB)에 USB Serial Converter 와 포트(COM & LPT) 부분에 USB Serial Port(포트번호) 가 나타나면 드라이버 설치가 잘 끝난 것입니다.
그럼 실제로 아두이노 프로 미니에 FTDI USB UART 모듈 보드를 이용해서 프로그램을 업로드 해 보겠습니다. 테스트 삼아 아두이노 프로 미니에 프로그램을 업로드를 해 보지만 모든 시리얼 통신을 해야하는 장치들은 이 보드를 통해서 통신을 할 수 있습니다. 예를 들어 와이파이 통신 모듈인 ESP8266 모듈에도 이 보드를 통해서 프로그램을 직접 업로드 할 수 있습니다. 한 마디로 범용적으로 PC와의 통신을 지원하는 보드라고 할 수 있습니다.
제가 가지고 있는 아두이노 프로 미니 보드의 핀배열 입니다. 주의할 점은 프로 미니 보드는 입력 전압이 3.3V 와 5V 짜리 두 가지가 있습니다. 위의 보드는 5V 인데 3.3V 짜리에 5V 를 연결하면 안 되겠죠? 그리고 TX 와 RX 는 USB UART 보드와 반대로 연결해야 합니다. 즉, USB UART 의 TX 는 아두이노의 RX 에 RX 는 아두이노의 TX 에 연결해야 합니다. 연결을 표로 다시 정리하면 아래와 같습니다.
FTDI USB UART Board |
Arduino Pro Mini |
DTR |
DTR |
RX |
TX |
TX |
RX |
VCC |
VCC |
CTS |
Not Connect |
GND |
GND |
위와 같이 연결하고 아두이노 IDE 를 실행 합니다. IDE를 실행하고 '툴-> 보드, 프로세서, 포트' 를 제대로 선택해 주는것도 잊으면 안 되겠죠. 모든 세팅을 마치고 제일 만만한 Blink 예제를 업로드 해 봅니다. FTDI FT232RL USB UART 보드에 DTR 기능이 있어서 예전 저가형의 CH340 칩을 이용한 모듈 보다 아두이노의 리셋 버튼을 누르지 않아도 되니 훨씬 편리 합니다. 그리고 업로드 속도도 조금 빨라진 것 같은데 기분 탓 이겠죠?
이상으로 FTDI 의 칩인 FT232RL 을 사용한 USB UART 또는 USB To TTL 또는 USB To Serial 모듈에 대해서 알아보고 아두이노 프로 미니에 이 모듈을 사용해서 직접 프로그램을 업로드 해 보았습니다. 다음에는 CH340 칩을 이용한 보드에서 이상하게 잘 작동하지 않았던 ESP8266 (ESP-01) 을 연결해서 Lua 프로그램을 업로드 해 볼까 합니다. 잘 되겠죠? 계속 실패 했었거든요...
'아두이노' 카테고리의 다른 글
[아두이노] ATTiny85 보드(Digispark)를 이용하여 PC, 스마트폰의 잠금해제-키보드 입력 (4) | 2016.06.28 |
---|---|
[아두이노] 미니 개발보드 ATTiny85 보드(Digispark)의 설치 및 사용 (3) | 2016.06.27 |
[아두이노] 심장박동 센서의 사용 #2 - 심박수 시각화 (3) | 2016.06.26 |
[아두이노] 심장박동 센서의 사용 #1 - 심박수 측정 (47) | 2016.06.26 |
[아두이노] BMP180 디지털 기압 센서의 사용 - 기압, 온도, 고도측정 (6) | 2016.06.23 |