ESP8266 시리얼 플로터

준비물

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

시리얼 플로터에 대하여

시리얼 플로터는 아두이노 IDE의 기능입니다. 이를 통해 ESP8266이 온도, 습도 또는 다른 유형의 센서 데이터를 읽고 이를 시리얼 플로터로 전송할 수 있습니다. 그러면 시리얼 플로터는 이 데이터를 받아 파형의 형태로 표시합니다. 단일 센서 데이터뿐만 아니라 여러 센서 데이터도 동일한 그래프에 표시할 수 있습니다.

시리얼 플로터와 ESP8266 사이의 데이터는 USB 케이블을 통해 교환됩니다. 이 케이블은 ESP8266에 코드를 업로드하는 데에도 사용됩니다. 따라서 시리얼 플로터를 사용하려면 이 케이블을 사용하여 ESP8266과 PC를 연결해야 합니다.

시리얼 플로터는 시리얼 보드레이트를 선택할 수 있는 선택 상자와 그래프를 가지고 있습니다. 그래프의 X축은 시간을 나타내며, 500개의 포인트가 있습니다. 각 포인트 사이의 시간은 연속된 두 Serial.println() 함수 호출 사이의 시간에 의해 결정되며, 이는 보통 loop() 함수의 시간과 동일합니다. Y축은 ESP8266에서 받은 값을 나타내며, 값이 증가하거나 감소할 때 자동으로 조정됩니다.

시리얼 플로터 여는 방법

아두이노 IDE 오른쪽에 있는 '시리얼 플로터' 아이콘을 클릭하세요.

how to open serial plotter

그래프에서 단일 선 그리기

단일 그래프를 생성하려면 데이터를 전송하고 "“\r\n” 문자로 끝내면 됩니다.

구체적으로, Serial.println() 함수를 사용해야 합니다.

Serial.println(variable);

※ 주의:

Serial.println()은 데이터 끝에 “\r\n” 문자를 추가합니다.

예제 코드

아날로그 입력 핀에서 값을 가져와 시리얼 플로터에 그려 보세요. 이것은 그 예입니다.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); Serial.println(y1); delay(100); }

사용 방법

아두이노 IDE에서 ESP8266을 시작하는 방법은 다음과 같습니다:

  • ESP8266을 처음 사용하는 경우, ESP8266 - 소프트웨어 설치 튜토리얼을 확인하세요.
  • 다이어그램에 표시된 대로 구성요소를 연결하세요.
  • USB 케이블을 사용해 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • 코드를 복사하고 Arduino IDE에서 엽니다.
  • IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266으로 전송하세요.
  • 시리얼 플롯터를 엽니다.
  • 보드 레이트를 9600으로 설정하세요.
  • 시리얼 플롯터에서 그래프를 확인하세요.
serial plotter example single line

그래프에서 여러 줄 그리기

여러 변수를 플롯하려면 “\t” 또는 " " 문자를 사용하여 서로 분리해야 합니다. 최종 값은 반드시 “\r\n” 문자로 끝나야 합니다.

첫 번째 변수:

Serial.print(variable_first);

중간의 변수들:

Serial.print("\t"); // 또는 Serial.print(" ") Serial.print(variable_nth);
  • 최종 변수:
Serial.print("\t"); // 또는 Serial.print(" ") Serial.println(variable_last);

예제 코드

아날로그 입력 핀 4개의 값을 가져와 시리얼 플로터에 표시하십시오.

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = random(0, 30); int y2 = random(0, 50); int y3 = random(20, 80); int y4 = random(40, 100); Serial.print(y1); Serial.print(" "); // 두 값 사이에 공백 ' ' 또는 탭 '\t' 문자가 출력됩니다. Serial.print(y2); Serial.print(" "); // 두 값 사이에 공백 ' ' 또는 탭 '\t' 문자가 출력됩니다. Serial.print(y3); Serial.print(" "); // 두 값 사이에 공백 ' ' 또는 탭 '\t' 문자가 출력됩니다. Serial.println(y4); // 마지막 값 다음에는 캐리지 리턴과 개행 문자가 옵니다. delay(100); }

여러 그래프 사용: 데이터를 설명하기 위해 여러 그래프를 만듭니다.

serial plotter example multiple lines

3개의 사인 파형 예시

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { for(int i = 0; i < 360; i += 15) { float y1 = 1 * sin(i * M_PI / 180); float y2 = 2 * sin((i + 90)* M_PI / 180); float y3 = 5 * sin((i + 180)* M_PI / 180); Serial.print(y1); Serial.print("\t"); // 두 값 사이에 공백 ' ' 또는 탭 '\t' 문자가 인쇄됩니다. Serial.print(y2); Serial.print("\t"); // 두 값 사이에 공백 ' ' 또는 탭 '\t' 문자가 인쇄됩니다. Serial.println(y3); // 마지막 값 뒤에 캐리지 리턴과 개행 문자가 따릅니다. delay(100); } }

여러 개의 사인파 그래프: 그래프에서는 여러 개의 사인파가 나타나 있습니다.

serial plotter sine wave

스마트폰이나 PC에서 이 플로터를 보고 싶으시면, ESP8266 - 웹 플로터 튜토리얼을 방문하세요.

동영상

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