아두이노 - 시리얼 모니터 | Arduino - Serial Monitor

준비물

1×Arduino Uno Amazon
1×USB 2.0 cable type A/B 쿠팡 | 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
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

시리얼 모니터에 관하여

시리얼 모니터는 아두이노 IDE의 도구 중 하나입니다. 이것은 두 가지 목적으로 사용됩니다:

  • Arduino → PC: Arduino에서 데이터를 받아 화면에 데이터를 표시합니다. 이것은 주로 디버깅과 모니터링에 사용됩니다.
  • PC → Arduino: PC에서 Arduino로 데이터(명령)를 보냅니다.

시리얼 모니터와 아두이노 사이의 데이터는 USB 케이블을 통해 교환되며, 이 케이블은 또한 코드를 아두이노에 업로드하는데도 사용됩니다. 따라서 시리얼 모니터를 사용하려면, 반드시 이 케이블을 통해 아두이노와 PC를 연결해야 합니다.

시리얼 모니터 사용 방법

시리얼 모니터 열기

시리얼 모니터 아이콘을 클릭하세요

Arduino IDE - How to open serial monitor

시리얼 모니터의 항목들

출력 콘솔: 아두이노에서 받은 데이터를 표시합니다.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

*자동 스크롤 체크박스: 자동으로 스크롤하거나 스크롤하지 않는 옵션을 선택합니다.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

타임스탬프 체크박스 보기: 직렬 모니터에 표시된 데이터 이전에 타임스탬프를 보여주는 옵션.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

출력 콘솔에서 모든 텍스트를 지우는 '출력 지우기' 버튼입니다.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. 보드레이트 선택: 아두이노와 PC 사이의 통신 속도(보드 레이트)를 선택하세요. 이 값은 아두이노 코드 내의 Serial.begin() 함수에서 사용된 값과 동일해야 합니다.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ NOTE THAT:

우리가 보레이트(값이 변경되지 않더라도)를 선택할 때, 아두이노가 리셋됩니다. 그러므로, 이것은 아두이노를 리셋하는 한 가지 방법입니다.

텍스트 박스: 사용자가 아두이노에 보낼 문자를 입력할 수 있습니다.

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. 종료 선택: Arduino로 보낸 데이터에 추가될 종료 문자를 선택합니다. 선택 항목은 다음과 같습니다:
    • 줄 끝 없음: 아무 것도 추가하지 않음
    • 새 줄: 새 줄(LF 또는 '\n') 문자 추가
    • 캐리지 리턴: 캐리지 리턴(CR 또는 '\r') 문자 추가
    • NL과 CR 모두: 새 줄과 캐리지 리턴(CRLF 또는 '\r\n') 문자 모두 추가
    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  

    보내기 버튼: 버튼을 누르면 시리얼 모니터가 텍스트박스의 데이터와 종료 문자를 아두이노로 전송합니다.

    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  

아두이노에서 PC로

아두이노에서 PC로 데이터를 보내려면 다음 아두이노 코드를 사용해야 합니다:

  • Serial.begin() 함수를 사용하여 보드레이트를 설정하고 시리얼 포트를 시작하세요.
Serial.begin(baudrate);

다음 함수 중 하나를 사용하여 시리얼 모니터에 데이터를 전송하세요: Serial.print(), Serial.println(), Serial.write(). 예를 들어, 시리얼 모니터에 “Hello World!”를 전송하세요.

Serial.println("Hello World!"); // "Hello World!"를 출력합니다.

예시 사용

이 예제에서는 매초마다 “Newbiely.kr”을 아두이노에서 시리얼 모니터로 보내겠습니다.

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-serial-monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println("Newbiely.kr"); delay(1000); }

사용 방법

  • 위의 코드를 복사하고 Arduino IDE로 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino에 업로드하기
  • 시리얼 모니터 열기
  • 보레이트 9600 선택
  • 시리얼 모니터에서 출력 확인하기
COM6
Send
Newbiely.kr Newbiely.kr Newbiely.kr Newbiely.kr
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Serial.println() 함수를 Serial.print() 함수로 변경해보세요.

PC에서 아두이노로

PC에서 아두이노로 데이터를 보내고 아두이노에서 읽는 방법

시리얼 모니터에 텍스트를 입력한 다음 SEND 버튼을 클릭하십시오.

아두이노는 데이터를 읽고 처리합니다. 데이터를 읽으려면 다음 아두이노 코드를 사용해야 합니다:

보드 속도를 설정하고 시리얼 포트를 시작하십시오.

Serial.begin(baudrate);

데이터가 있는지 없는지 확인하세요.

if(Serial.available()) { // 해야 할 일 }

다음 함수 중 하나를 사용하여 시리얼 포트에서 데이터를 읽으세요: Serial.read(), Serial.readBytes(), Serial.readBytesUntil(), Serial.readString(), Serial.readStringUntil(). 예를 들면:

String data = Serial.readStringUntil("\r\n");

예시 사용

이 예제에서는 시리얼 모니터에서 명령을 아두이노로 보내 내장 LED를 켜고 끄는 방법을 다룰 것입니다. 명령어에는 다음이 포함됩니다:

  • “ON”: LED를 켜다
  • “OFF”: LED를 끄다

아두이노가 어떻게 완전한 명령어를 받을 수 있을까요? 예를 들어, "OFF" 명령어를 보낼 때, 아두이노는 명령어가 "O", "OF", 혹은 "OFF"인지 어떻게 알 수 있나요?

명령을 보낼 때, 시리얼 모니터에서 "newline" 옵션을 선택하여 새 줄 문자('\n')를 추가합니다. 아두이노는 새 줄 문자를 만날 때까지 데이터를 읽습니다. 이 경우, 새 줄 문자를 구분자라고 합니다.

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-serial-monitor */ void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // 디지털 핀을 출력으로 설정: } void loop() { if(Serial.available()) // 데이터가 수신되면 { String command = Serial.readStringUntil('\n'); // 줄바꿈 문자를 만날 때까지 문자열을 읽음 if(command == "ON") { digitalWrite(LED_BUILTIN, HIGH); // LED 켜기 Serial.println("LED is turned ON"); // 시리얼 모니터에 동작 전송 } else if(command == "OFF") { digitalWrite(LED_BUILTIN, LOW); // LED 끄기 Serial.println("LED is turned OFF"); // 시리얼 모니터에 동작 전송 } } }

사용 방법

  • 위의 코드를 복사하고 Arduino IDE로 엽니다
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino에 업로드합니다
  • 시리얼 모니터 열기
  • 보레이트 9600과 새로운 줄 옵션을 선택합니다
  • “ON” 또는 “OFF”를 입력하고 SEND 버튼을 클릭하세요
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • 아두이노 보드에 내장된 LED의 상태를 확인합니다. LED의 상태가 켜짐 또는 꺼짐인지 각각 확인하겠습니다.
  • 시리얼 모니터에서도 LED의 상태를 확인합니다.
COM6
Send
LED is turned ON
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

“ON” 또는 “OFF” 커맨드를 몇 번 입력해 보세요.

동영상

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