아두이노 RS485 | Arduino RS485
이 튜토리얼에서는 아두이노를 이용한 RS485 통신의 구현 방법을 탐구할 예정입니다. 특히, 다음과 같은 측면들을 자세히 다룰 예정입니다:
- 아두이노와 TTL에서 RS485 모듈까지의 연결 설정하기.
- 아두이노 프로그래밍하여 TTL에서 RS485 모듈로부터 데이터를 검색하기.
- 아두이노 프로그래밍하여 TTL에서 RS485 모듈로 데이터를 전송하기.
- PC에서 RS485를 통해 아두이노로 데이터를 보내는 방법, 그리고 그 반대의 경우에 대하여.
튜토리얼은 하드웨어 Serial과 SoftwareSerial 모두에 대한 지시도 제공합니다.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | TTL to RS485 Module | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) RS485 to USB Cable | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
TTL에서 RS485 모듈에 관하여
아두이노에서 Serial.print(), Serial.read(), Serial.write() 같은 함수를 통한 직렬 통신을 사용할 때, 아두이노는 TX 핀을 통해 데이터를 전송하고 RX 핀을 통해 데이터를 수신합니다. 이 핀들은 TTL 레벨에서 작동합니다. 즉, 그들이 처리하는 신호는 제한된 범위를 가집니다. 따라서 더 긴 거리에 걸친 직렬 통신을 위해서는 TTL 신호를 RS232, RS485, 또는 RS422 신호 표준으로 변환하는 것이 필요합니다.
이 튜토리얼에서 우리는 TTL에서 RS485 모듈을 사용하여 아두이노와 RS485(또한 RS-485로 알려짐)의 활용에 대해 자세히 알아볼 것입니다. 이 모듈은 TTL 신호를 RS485 신호로 변환하고 그 반대의 과정을 용이하게 합니다.
핀배열
RS485에서 TTL 모듈은 두 개의 인터페이스를 가지고 있습니다:
- TTL 인터페이스(Arduino에 연결됨)에는 4개의 핀이 포함되어 있습니다.
- VCC 핀: 전원 핀, VCC(5V 또는 3.3V)에 연결해야 함
- GND 핀: 전원 핀, GND(0V)에 연결해야 함
- RXD 핀: 데이터 핀, Arduino의 TX 핀에 연결해야 함
- TXD 핀: 데이터 핀, Arduino의 RX 핀에 연결해야 함
- RS485 인터페이스는 다음 핀으로 구성됩니다:
- D+ (A 또는 TR+) 핀: 이 핀은 데이터 통신을 용이하게 합니다.
- D- (B 또는 TR-) 핀: 이 핀은 데이터 전송을 위해 사용됩니다.
- GND 핀: 선택 사항이지만, 소음 간섭을 줄이고 최적의 성능을 보장하기 위해 이 핀을 포함하는 것이 강력히 권장됩니다.
선연결
하드웨어 시리얼을 사용하는 경우의 배선 다이어그램
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
소프트웨어 시리얼을 사용하는 경우의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노를 RS485 모듈 사용하도록 프로그래밍하는 방법
시리얼 인터페이스를 초기화합니다:
SoftwareSerial을 사용하려면 라이브러리를 포함시키고 SoftwareSerial 객체를 선언해야 합니다.
RS485에서 오는 데이터를 읽으려면 다음 함수들을 사용할 수 있습니다:
RS485에 데이터를 쓰려면 다음 함수들을 사용할 수 있습니다:
그리고 RS485에서 사용할 수 있는 더 많은 함수들은 시리얼 참조에서 확인할 수 있습니다.
하드웨어 시리얼을 위한 아두이노 코드
소프트웨어 시리얼을 위한 아두이노 코드
테스팅
다음 단계를 따라 PC에서 RS-485를 통해 Arduino로 데이터를 보내고 그 반대로 테스트를 실시할 수 있습니다:
아래와 같이 RS485-to-USB 케이블을 사용하여 아두이노를 PC에 연결하세요:
- 시리얼 터미널 프로그램을 열고 시리얼 파라미터들(COM 포트, 보율...)을 구성하세요.
- 시리얼 터미널에서 아두이노로 보내기 위해 일부 데이터를 입력하세요.
- 성공적이라면, 시리얼 터미널에서 에코 데이터를 볼 수 있을 것입니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.