매뉴얼 활용

RS485를 이용한 시리얼 통신 예제
작성자 : 장익제 등록일 : 2018-12-31 조회수 : 74

RS485 모듈은 본 프로젝트에서 VFD와 아두이노를 연결하여 Modbus Protocol에 따른 제어 신호를 주고받기 위해 사용하였다.

 

여기서는 RS485 모듈 두 개와 아두이노 두 개로 간단한 회로를 만들고 아두이노 두 개 사이에 시리얼 통신을 하는 방법을 알아본다.

 

프로그램은 각각 Master.ino 파일과 Slave.ino 파일로 구성되어 있으며 각각을 두 아두이노에 따로 업로드 한 뒤, Master 와 연결된 포트의 시리얼 모니터를 켜고 입력값을 입력하면 Slave 가 신호를 받음과 동시에 입력값과 동일한 값을 돌려주도록 작성되어있다.

 

1. 결선

 

(먼저 결선은 첨부 파일의 이미지 혹은 아래 참고자료 링크의 자료를 참고로 진행한다.)

 

결선은 각각의 아두이노와 RS485 모듈 하나씩을 우선 연결하고, 이후 RS485 모듈끼리 연결하여 완성한다.

 

1) DI (data in)는 Pin 11, RO (receive out)는 Pin 10에 연결하고, DE (data enable)와 RE (receive enable) 은 함께 Pin 3에 연결한다.

 

2) Vcc와 Gnd 를 각각 아두이노 5V 출력과 Gnd 에 연결한다.

 

3) RS485 모듈의 A는 A끼리, B는 B끼리 연결한다.

 

이렇게 연결하면 우선 두 아두이노와 RS485 모듈간의 결선은 끝이 난다.

 

2. 코드 작성

 

코드는 첨부 파일 혹은 참고 자료를 참고하도록 한다.

 

3. 코드 업로드

 

각각의 .ino 파일은 따로 아두이노 보드에 업로드 되어야 하는데, 만약 두 파일을 한 폴더에 넣어 놓거나 Arduino IDE 의 같은 창, 다른 탭에 함께 열어 뒀다면 두 파일 간의 충돌이 일어날 수 있다.

 

이를 주의해서 (각각의 폴더를 만들어서 업로드하자) 업로드를 완료하면 두 아두이노는 시리얼 통신이 준비된 상태이다.

 

4. 테스트

 

시리얼 통신을 테스트 하기 위해서는 Arduino IDE 가 마스터가 업로드 된 아두이노와 연결되어있는 것을 확인 한 뒤 해당 포트의 시리얼 모니터를 열어서 테스트 하면 된다. 

 

 

참고 자료: https://arduinoinfo.mywikis.net/wiki/SoftwareSerialRS485Example