아두이노 RS232 | Arduino RS232

이 튜토리얼에서는 아두이노와 RS232 커뮤니케이션을 사용하는 방법을 배워볼 것입니다. 자세히 말하자면, 우리는 다음을 배우게 될 것입니다:

해당 튜토리얼은 하드웨어 SerialSoftwareSerial 모두에 대한 지침도 제공합니다.

준비물

1×Arduino Uno Amazon
1×USB 2.0 cable type A/B 쿠팡 | Amazon
1×TTL to RS232 Module Amazon
1×Jumper Wires Amazon
1×(Optional) RS232 to USB Cable Amazon
1×(Optional) RS232 Gender Changer Amazon
1×(Optional) 9V Power Adapter for Arduino Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino Uno 쿠팡 | Amazon
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

TTL에서 RS232 모듈에 대하여

Serial.print(), Serial.read(), Serial.write() ... 함수를 사용하여 아두이노에서 직렬 통신을 사용할 때, 아두이노는 TX 핀으로 데이터를 출력하거나 RX 핀으로부터 오는 데이터를 읽습니다. TX와 RX 핀의 신호는 TTL 레벨입니다. 이 신호는 멀리 갈 수 없습니다. 따라서 장거리를 통해 직렬 통신을 사용하고 싶을 때는 TTL 신호를 RS232, RS485, 또는 RS422 신호로 변환해야 합니다.

TTL에서 RS232 모듈은 TTL 신호를 RS232 신호로 변환하고, 반대로도 변환합니다.

핀배열

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

TTL 인터페이스(Arduino에 연결됨)는 4개의 핀을 포함합니다

  • VCC 핀: 전원 핀으로, VCC(5V)에 연결해야 합니다.
  • GND 핀: 전원 핀으로, GND(0V)에 연결해야 합니다.
  • RXD 핀: 데이터 핀으로, Arduino의 RX 핀에 연결해야 합니다.
  • TXD 핀: 데이터 핀으로, Arduino의 TX 핀에 연결해야 합니다.

RS232 인터페이스: DB9 여성 D-Sub 커넥터로, 이를 직렬 장치에 연결하세요.

RS232 Pinout

선연결

하드웨어 시리얼을 사용하는 경우의 배선도

Arduino TTL to RS232 Wiring Diagram

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

  • 소프트웨어 직렬 사용 시 배선도
Arduino RS232 to TTL Wiring Diagram

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

아두이노에서 RS232 모듈을 사용하는 방법

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

Serial.begin(9600);

SoftwareSerial을 사용하려면 라이브러리를 포함시키고 SoftwareSerial 객체를 선언해야 합니다.

#include <SoftwareSerial.h> // SoftwareSerial 객체와 해당 핀을 정의합니다. SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

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

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

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

하드웨어 시리얼을 위한 아두이노 코드

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-rs232 */ void setup() { // 통신 시작 및 보율 9600으로 설정 Serial.begin(9600); // 시리얼 포트 초기화를 위해 잠시 대기 delay(100); } void loop() { // 시리얼에 데이터가 있는지 확인 if (Serial.available()) { char data = Serial.read(); // 받은 문자 읽기 Serial.print(data); // 수신자에게 데이터를 에코 백 } }

소프트웨어 시리얼을 위한 아두이노 코드

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-rs232 */ #include <SoftwareSerial.h> // SoftwareSerial 객체 및 핀 정의 SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6 void setup() { // 통신 시작 및 보레이트 9600으로 설정 SoftSerial.begin(9600); // 시리얼 포트가 초기화되는 동안 잠시 기다림 delay(100); } void loop() { // SoftSerial에 데이터가 있는지 확인 if (SoftSerial.available()) { char data = SoftSerial.read(); // 수신된 문자 읽기 SoftSerial.print(data); // 수신된 데이터를 송신자에게 에코 백 } }

테스팅

당신은 PC에서 아두이노로 RS232를 통해 데이터를 보내고 그 반대로도 테스트를 진행할 수 있습니다. 그것을 수행하려면 아래 단계를 따르세요:

  • 아래와 같이 RS232-to-USB 케이블을 사용하여 아두이노를 PC에 연결하세요:
Arduino RS232 to PC communication
  • Tera Term이나 PuTTY와 같은 시리얼 터미널 프로그램을 설치하세요.
  • 시리얼 터미널 프로그램을 열고 시리얼 파라미터들(COM 포트, 보레이트...)을 설정하세요.
  • 시리얼 터미널에서 몇 가지 데이터를 입력하여 아두이노로 보내세요.
  • 성공하면 시리얼 터미널에서 에코 데이터를 볼 수 있습니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!