
MAX485를이용한 통신 실습
아두이노로 실험하고 눈으로 확인까지
지금까지 배운 내용을 바탕으로 아두이노 2대를 활용하여 아두이노로 RS-485 통신실험을 하겠습니다.
아두이노 한 대는 Master, 나머지 한 대는 Slave역할을 맡아 실험을 진행해 보겠습니다.
앞서 RS-485의 신호 방식그리고 MAX485의 구조를 이론적으로 알아보았다면,
이제는 실제로 데이터를 주고받으며 그 흐름을 직접 확인해 보겠습니다.
실험 구성과 통신 흐름

이번 실험은 아두이노 2대와 MAX485CPA IC를 이용하여 RS-485 통신을 구성하고,
MASTER에서 전송한 문자열 데이터를 SLAVE가 수신하여 LED를 제어하는 방식으로 진행하겠습니다.
통신 흐름은 다음과 같습니다.
- MASTER 아두이노가 "ON", "OFF" 문자열을 1초마다 교차하여 데이터를 UART 방식으로 MAX485 IC에 전달하게 됩니다.
MASTER 측 MAX485는 UART 신호를 RS-485 차동 신호로 변환하여 전송합니다.
- RS-485 통신선(A/B)을 통해 데이터가 SLAVE 측 MAX485로 전달되어 수신한 차동 신호를 다시 UART 신호로 변환하여 아두이노에 전달합니다.
SLAVE 아두이노는 ON을 수신하면 LED를 점등하고, OFF를 수신하면 LED를 소등합니다.
주의사항 및 실험 환경에 대해

AI 활용 설정
사진 설명을 입력하세요.
연결은 다음을 두 가지 사항을 주의합니다.
1. 각 아두이노의 TX는 MAX485의 DI와 연결해야하며, RX는 RO와 연결되어야 합니다.
2. RS-485 차동 신호선은 같은 이름끼리 연결합니다.
UART처럼 교차 연결하는 것이 아닌 A는 A와, B는 B와 연결해야 정상적으로 통신할 수 있습니다.
이번 실험은 브레드보드와 짧은 점퍼선을 이용한 근거리 실습 환경으로 진행하였기 때문에,
MAX485 모듈에서 자주 사용되는 120Ω 종단저항이나 풀업 저항 등은 별도로 사용하지 않았습니다.
실제 산업 환경이나 장거리 통신 환경에서는 신호 반사 및 라인 floating 현상을 방지하기 위해 구성을 하는 경우가 많지만,
이번 실습과 같은 경우, 짧은 거리, 저속(9600bps) 환경에서는 최소 구성만으로도 RS-485 통신이 가능합니다.
실제로 통신을 해보자

해당 준비물인 아두이노 및 MAX485CPA, 5V LED, 저항(220Ω) 입니다.
*LED 직렬저항으로는 적절한 값으로 대체가 가능합니다.
*MAX485CPA는 RS485모듈로 대체가 가능합니다.

위 사진과 같이 회로를 구성하면 준비는 완료됩니다.
이 상태에서 아두이노는 Master - Slave 구조로 데이터를 주고 받게 됩니다.

해당 배선이 실제로 구현된 모습입니다.
//송신부 코드입니다.
int COMMctrl = 5; //DE,RE 제어핀 번호
void setup() {
Serial.begin(9600);
pinMode(COMMctrl, OUTPUT);
digitalWrite(COMMctrl, HIGH); //DE, RE를 HIGH로 하여 송신모드로 변경
}
void loop() {
//1초 간격으로 ON과 OFF를 교차하여 반복 송신
Serial.println("ON");
delay(1000);
Serial.println("OFF");
delay(1000);
}
//수신부 코드 입니다.
int COMMctrl = 5; //DE,RE 제어핀 번호
int LEDpin = 13; //LED 제어핀 번호
String data;
void setup() {
Serial.begin(9600);
pinMode(COMMctrl, OUTPUT);
pinMode(LEDpin, OUTPUT);
digitalWrite(COMMctrl, LOW); //DE, RE를 LOW로 하여 수신모드로 변경
}
void loop() {
if (Serial.available()){
data = Serial.readStringUntil('\n');
data.trim();
Serial.println(data);
//ON이 수신 되었을 때 LED 점등
if (data == "ON"){
digitalWrite(LEDpin, HIGH);
}
//OFF가 수신 되었을 때 LED 소등
if (data == "OFF"){
digitalWrite(LEDpin, LOW);
}
}
}
아두이노가 2개이기 때문에 상단은 송신을 할 아두이노에,
하단은 수신을 할 아두이노에 넣으시면 됩니다.

이 과정을 통해 Master와 Slave 역할을 하여 수신 된 데이터에 따라 LED가 점멸하는 동작을 확인할 수 있습니다.
눈으로 보는 통신

오실로스코프로 측정한 UART TX 신호로,
Arduino Master가 Slave에게 "OFF"를 전송하는 순간입니다.
UART에 대해서는 아래 링크에서 자세히 설명했으니 궁금하시다면 확인해보시길 바랍니다.
[UART] UART 통신은 어떻게 동작하는 걸까?
UART 통신은 어떻게 동작하는 걸까? ' UART 포스팅 바로가기 ' 1부 [UART] UART란 무엇인가?2부 [UART] UART 통신은 어떻게 동작하는 걸까? 1부에서 UART가 무엇인지 그리고 우리 주변 어디에 쓰이는지 간단
ipmes.tistory.com

오실로스코프로 측정한 RS-485의 A선 신호로,
위의 UART 신호를 MAX485CPA가 차동신호로 변환하여
Arduino Master가 Slave에게 "OFF"를 전송하는 순간입니다.

오실로스코프로 측정한 RS-485의 B선 신호로,
위의 UART 신호를 MAX485CPA가 차동신호로 변환하여
Arduino Master가 Slave에게 "OFF"를 전송하는 순간입니다.
이러하듯 A선과 B선은 항상 서로 반전된 위상으로 동작하기 때문에
A선이 HIGH로 올라가는 순간 B선은 LOW로 내려가고,
A선이 LOW로 떨어지면 B선은 반드시 HIGH로 올라가는 방식으로, 정반대의 파형을 그립니다.
RS-485는 A선과 B선의 전위차, 즉 차동 신호를 기준으로 데이터를 판별합니다.
오실로스코프를 통해 이렇게 두 파형이 서로 반전되는 모습을 직접 확인함으로써,
차동 통신의 동작 원리를 눈으로 검증할 수 있었습니다.
RS-485 통신 실제 사례
기압센서 보드
기압센서 보드 수주 본 클라이언트 회사는 복합환경제어기를 전문으로 개발하고 판매하는 회사입니다. 현재 호남권에서 가장 높은 점유율을 가지고 있는 회사로, 기존에 사용되고 있던 기압센
ipmes.tistory.com
기압센서 보드의 성능 개선과 소형화를 목표로 한 기압센서 보드 프로젝트입니다.
BMP390 기압 센서와 RS-485 통신 기술을 확보하고, 기존 대비 약 7.3% 소형화된 PCB를 직접 설계 및 제작하였으며, Modbus 프로토콜 기반의 펌웨어를 개발하여 기압 및 대기 온도 데이터를 안정적으로 송수신하는 시스템을 구현하였습니다.
PCB 배선 오류, 체크섬 방식 불일치 등 개발 과정에서 발생한 문제들을 분석하고 수정하며 완성도를 높였고, 최종 안정성 검증을 거쳐 납품까지 전 과정을 성공적으로 마무리하였습니다.
수주부터 하드웨어 설계, 펌웨어 개발, 오류 수정, 납품까지의 전 과정을 담았으니 보다 자세한 내용은 상단 링크를 통해 확인하실 수 있습니다.

TEL (062-226-1777, 010-9891-7244), E-mail (ipmes@ipmes.co.kr)
임베디드 시스템 | PCB 설계 제작 | 펌웨어 개발 | 신호처리 | 응용프로그램
#IPMES, #아이피엠이에스, #연구노트, #임베디드, #PCB제작, #펌웨어개발,
#하드웨어개발, #소프트웨어개발, #회로설계,
#광주PCB, #광주시제품, #광주시제품개발, #광주OEM, #광주광역시PCB,
#광주임베디드, #광주음성처리, #광주신호처리, #광주광역시임베디드,
#광주회로설계, #광주아트웍, #PCB샘플링
#RS485, #RS-485, #RS485통신, #시리얼통신, #직렬통신
#MAX485, #RS485모듈, #아두이노RS485통신
#아두이노통신, #아두이노통신실험, #아두이노통신예제
'연구노트 > 통신 설계' 카테고리의 다른 글
| [MAX485] RS-485 통신을 위한 MAX485 || IC 구조부터 모듈 사용법까지 (0) | 2026.06.22 |
|---|---|
| [MAX485] Modbus RTU에 대해 || 프레임 구조부터 완전 정리 (1) | 2026.06.19 |
| [MAX485] RS-485에 적합한 통신 연결방식 || 네트워크 토폴로지 대해 (0) | 2026.06.15 |
| [MAX485] RS-485의 통신 원리 || 차동 신호부터 결선 방식까지 (0) | 2026.06.12 |
| [MAX485] RS-485 간단소개 || 등장 배경, 주요 특징, 사용 분야까지 한 번에 (0) | 2026.06.08 |