본문 바로가기

관리하지않음/아두이노

아두이노 프로 미니 with USB to TTL 케이블 (PL2303TA)

아두이노 프로 미니들

아두이노 프로 미니를 구입했습니다. 대충 보니 TTL to USB 케이블만 있으면 구동가능한 것 같아서 집에있는 케이블을 사용하기로하고 케이블 없이 보드만 구입했습니다.

 

집에 있던 USB to TTL 케이블

 

집에 있던 USB to TTL 케이블은 위와 같은 모델이었습니다. 예전에 라즈베리파이 시리얼통신을 하면서 구입했던 케이블입니다. PL2303TA 칩셋을 이용한 모델입니다. 이 칩셋 때문에 삽질을 좀 했습니다.

 

1. 케이블 연결

아두이노 프로 미니-TTL to USB 케이블 납땜

아두이노 프로 미니-TTL to USB 케이블 연결은 아래 표를 참고해주세요. 보통은 아두이노 프로 미니에 핀헤더를 납땜하고 점퍼케이블로 두개를 연결하는데요, 점퍼케이블이 자주 빠지는게 귀찮아서 납땜을 해버렸습니다.

 

아두이노 프로 미니 TTL to USB 케이블
GND 검은색
Vcc 빨간색
RX 초록색(TX)
TX 흰색(RX)

ㅏ아두이노 프로 미니 뒷판 납땜한 모습

TMI를 말씀드리자면, 처음으로 납땜한 GND가 망했습니다. 다행히 아두이노 프로 미니에 GND가 3개있어서 다른데에 납땜을 해줬습니다. 납땜 실력에 자신없으시면 저처럼 GND부터 하는걸 추천드립니다..

 

2. 아두이노 IDE 설정

아두이노 IDE에서 보드를 "Arduino Pro or Pro Mini"로 변경해주고, 프로세서도 자신의 아두이노 프로 미니 프로세서를 선택해줍니다. 저는  ATmega328P 5V, 16Mhz를 사용하고 있어서 아래와 같이 설정했습니다.

 

아두이노 IDE 설정

저는 원래 맥북을 사용합니다. 하지만 맥북에서는 시리얼 통신을 하기 위해서 FTDI 드라이버를 새로 설치해야하는 귀찮음이 있어서, 이번에는 윈도우 컴퓨터에서 테스트 했습니다.

 

3. 코드

Serial 통신으로 보드가 잘 작동하는지 테스트하기 위해서 간단한 코드를 작성했습니다.

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello, World!");
  delay(1000);
}

보드가 정상적으로 작동한다면, 1초에 한번 Hello, World!가 시리얼 모니터에 출력될 것입니다.

 

4. 삽질(에러들)

아두이노 우노처럼 USB 연결, 포트 설정만 하고 바로 업로드를 하니 에러가 발생했습니다.

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0
스케치를 업로드 하는 동안 에러가 발생하였습니다.

다른 블로그를 참고했을 때,

1. 포트 잘 연결되어있음
2. USB to Serial 드라이버 설치되어있음
3. IDE에서 보드, 프로세서 선택 잘 했음
4. 기존에 업로딩 된 프로그램 없음
5. TX, RX핀 잘 연결되어있고, 다른 모듈에 연결된 것 없음
6. 아직 업로드한 프로그램도 없고 새 제품인데 부트로더가 날아갔을리 없음

도대체 문제가 어디서 발생했는지 알 수 없었습니다.

 

혹시나 사용한 USB to Serial 케이블의 문제인가 싶어서 검색을 해보니, PL2303 등 4핀을 사용하는 TTL to USB 케이블은 자동리셋 기능이 없기 때문에 아두이노 프로 미니 보드에서 수동으로 직접 리셋을 시켜줘야한다는걸 알게되었습니다.

 

아두이노 프로 미니 정품보드에서 리셋버튼 위치

스케치 컴파일☛업로딩 중으로 넘어가는 그 순간에 Reset 버튼을 눌러주면 업로드에 성공하실 수 있습니다.

 

아두이노 프로 미니 업로드 성공

그런데 이게 쉽지 않은게, 정확한 타이밍에 눌러주지 않으면 계속해서 업로딩 에러가 발생합니다. 저도 한번 업로드 하려면 한 3~5번정도는 타이밍을 못맞춰서 실패하고 있습니다...😭왠만하면 USB to RS232 Converter 칩셋을 기반으로 한 USB to TTL 컨버터 모듈을 사용하는걸 추천드립니다.

 


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D