아두이노 나노 ESP32 - RS232 | Arduino Nano ESP32 - RS232

이 튜토리얼에서는 Arduino Nano ESP32와 RS232 통신을 사용하는 방법을 배우려고 합니다. 구체적으로 다음을 배우게 됩니다:

준비물

1×Arduino Nano ESP32 Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×TTL to RS232 Module 쿠팡 | Amazon
1×Jumper Wires Amazon
1×Breadboard 쿠팡 | Amazon
1×(Optional) RS232 to USB Cable Amazon
1×(Optional) RS232 Gender Changer Amazon
1×(Recommended) Screw Terminal Expansion Board for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

TTL에서 RS232 모듈에 대하여

Serial.print(), Serial.read(), Serial.write() ... 함수들을 사용하여 ESP32에서 시리얼 통신을 사용할 때, Arduino Nano ESP32는 TX 핀으로 데이터를 출력하거나 RX 핀에서 오는 데이터를 읽습니다. TX와 RX 핀의 신호는 TTL 레벨입니다. 이 신호는 멀리 갈 수 없습니다. 그러므로, 장거리를 통해 시리얼 통신을 사용하고자 할 때, TTL 신호를 RS232, RS485, 혹은 RS422 신호로 변환해야 합니다.

TTL에서 RS232 모듈은 TTL 신호를 RS232 신호로 변환시키고, 그 반대도 가능합니다.

핀배열

RS232에서 TTL 모듈에는 두 개의 인터페이스가 있습니다:

  • TTL 인터페이스(ESP32에 연결됨)는 4개의 핀을 포함합니다
    • VCC 핀: 전원 핀, VCC(5V)에 연결해야 합니다
    • GND 핀: 전원 핀, GND(0V)에 연결해야 합니다
    • RXD 핀: 데이터 핀, Arduino Nano ESP32의 RX 핀에 연결해야 합니다
    • TXD 핀: 데이터 핀, Arduino Nano ESP32의 TX 핀에 연결해야 합니다
  • RS232 인터페이스: DB9 여성 D-Sub 커넥터, 이것을 시리얼 장치에 연결하세요
RS232 Pinout

선연결

USB 포트를 통해 아두이노 나노 ESP32 보드에 전원을 공급할 때.

Arduino Nano ESP32 TTL to RS232 Wiring Diagram

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

Arduino Nano ESP32 보드를 Vin 핀을 통해 전원을 공급할 때.

Arduino Nano ESP32 RS232 to TTL Wiring Diagram

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

아두이노 나노 ESP32를 RS232 모듈을 사용하도록 프로그래밍하는 방법

#define RX1PIN D3 #define TX1PIN D2

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

Serial1.begin(9600, SERIAL_8N1, RX1PIN, TX1PIN); // RS232를 시작합니다.

RS232에서 데이터를 읽기 위해 다음 함수들을 사용할 수 있습니다:

RS232에 데이터를 쓰기 위해 다음 함수들을 사용할 수 있습니다:

그리고 RS232와 함께 사용할 수 있는 더 많은 함수들은 Serial reference에서 확인할 수 있습니다.

아두이노 나노 ESP32 RS232 코드

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-rs232 */ #define RX1PIN D3 #define TX1PIN D2 void setup() { // 통신을 9600 보드레이트로 시작합니다 Serial.begin(9600); // Serial Monitor Serial1.begin(9600, SERIAL_8N1, RX1PIN, TX1PIN); // RS232 // 시리얼 포트가 초기화될 시간을 주기 위해 잠시 기다립니다. delay(100); } void loop() { // Serial1에 데이터가 있는지 확인 if (Serial1.available()) { char data = Serial1.read(); // 받은 문자를 읽습니다 Serial1.print(data); // 받은 데이터를 보낸 곳으로 에코 백 Serial.print(data); // 받은 데이터를 Serial Monitor에 출력합니다 } }

테스팅

PC와 Arduino Nano ESP32 사이에서 RS232를 통해 양방향으로 데이터를 전송하여 테스트를 진행할 수 있습니다. 아래에 설명된 단계를 따르세요:

아래 이미지에 나와 있는 대로 RS232-to-USB 케이블을 사용하여 Arduino Nano ESP32를 PC에 연결하세요:

Arduino Nano ESP32 RS232 to PC communication
  • Tera Term 또는 PuTTY와 같은 시리얼 터미널 프로그램을 설치하세요.
  • 시리얼 터미널 프로그램을 열고 시리얼 파라미터(COM 포트, 보드레이트 등)를 설정하세요.
  • 시리얼 터미널에 일부 데이터를 입력하여 Arduino Nano ESP32로 전송하세요.
  • 테스트가 성공적이면 시리얼 터미널에서 에코된 데이터를 관찰할 수 있습니다.

동영상

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!