ESP32 RS422

이 튜토리얼은 ESP32에서 RS422 통신을 사용하는 방법을 알려줍니다. 우리는 다음 단계를 통해 배울 것입니다:

준비물

1×ESP32 ESP-WROOM-32 개발 모듈 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×TTL-RS422 변환 모듈 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) RS422 to USB 변환 케이블 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

TTL에서 RS422 모듈에 대해

ESP32에서 Serial.print(), Serial.read(), Serial.write()와 같은 함수를 사용하여 직렬 통신을 사용할 때, 데이터 전송은 TX 핀을 통해 이루어지고 데이터 수신은 RX 핀을 통해 이루어집니다. 이 핀들은 TTL 레벨에서 작동하며, 이는 한정된 범위의 신호를 처리한다는 것을 의미합니다. 따라서 더 긴 거리에서의 직렬 통신을 위해서는 TTL 신호를 RS232, RS422, 또는 RS485 표준으로 변환하는 것이 필수적입니다.

이 가이드에서는 RS422(또한 RS-422로도 언급됨)를 TTL에서 RS422 모듈을 통합하여 ESP32와 함께 사용하는 방법을 탐구할 것입니다. 이 모듈은 TTL 신호를 RS422 신호로 변환하고 그 반대의 변환을 용이하게 합니다.

핀배열

RS422에서 TTL 모듈에는 두 가지 인터페이스가 있습니다:

  • TTL 인터페이스(ESP32에 연결됨):
    • VCC 핀: 이 전원 핀은 VCC(5V 또는 3.3V)에 연결되어야 합니다.
    • GND 핀: 이 전원 핀은 GND(0V)에 연결되어야 합니다.
    • RXD 핀: 이 데이터 핀은 ESP32의 TX 핀에 연결되어야 합니다.
    • TXD 핀: 이 데이터 핀은 ESP32의 RX 핀에 연결되어야 합니다.
  • RS422 인터페이스:
    • A (R+) 핀: 이 핀은 모듈의 RX+ 핀입니다. 이 핀을 다른 RS422 장치의 TX+ 핀(T+ 또는 Y 핀)에 연결하십시오.
    • B (R-) 핀: 이 핀은 모듈의 RX- 핀입니다. 이 핀을 다른 RS422 장치의 TX- 핀(T- 또는 Z 핀)에 연결하십시오.
    • Y (T+) 핀: 이 핀은 모듈의 TX+ 핀입니다. 이 핀을 다른 RS422 장치의 RX+ 핀(R+ 또는 A 핀)에 연결하십시오.
    • Z (T-) 핀: 이 핀은 모듈의 TX- 핀입니다. 이 핀을 다른 RS422 장치의 RX- 핀(R- 또는 B 핀)에 연결하십시오.
    rs-422 module 사용법 핀아웃
    image source: diyables.io

선연결

ESP32 ttl to rs422 연결 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

ESP32를 RS422 모듈을 사용하도록 프로그래밍하는 방법

시리얼 인터페이스를 초기화합니다:

Serial2.begin(9600);

RS422에서 데이터를 읽으려면 다음 함수들을 사용할 수 있습니다:

RS422에 데이터를 쓰려면 다음 함수들을 사용할 수 있습니다:

그리고 RS422에서 사용할 수 있는 더 많은 함수들은 Serial 참조에서 확인할 수 있습니다.

ESP32 코드

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-rs422 */ void setup() { // 통신 시작, 보율 9600 Serial.begin(9600); // 시리얼 모니터 Serial2.begin(9600, SERIAL_8N1, 16, 17); // RS422 // 시리얼 포트가 초기화되는 것을 기다림 delay(100); } void loop() { // Serial에 데이터가 있는지 확인 if (Serial2.available()) { char data = Serial2.read(); // 받은 문자 읽기 Serial.print(data); // 받은 데이터를 시리얼 모니터에 출력 } }

테스팅

아래 단계를 따라 PC에서 ESP32로 RS-422를 통해 데이터를 전송하여 테스트를 수행하거나 그 반대로 수행할 수 있습니다.

아래와 같이 ESP32를 RS422-to-USB 케이블로 PC에 연결하세요:

ESP32 rs422 to pc communication
  • Tera Term이나 PuTTY 같은 시리얼 터미널 프로그램을 설치하세요.
  • 시리얼 터미널 프로그램을 열고 시리얼 매개변수(COM 포트, 보레이트 등)를 설정하세요.
  • 시리얼 터미널에서 일부 데이터를 입력하여 ESP32로 보내세요.
  • 성공하면, 시리얼 터미널에 에코 데이터가 보일 것입니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

관련 튜토리얼