UART

UART 통신 프로토콜

적용 모델: PMS A003A, PMS A003C, PMS 7003, PMS 7003M, PMS 5003, PMS 9003M

UART 설정

PARAMETERTYP

Baud Rate (Fixed)

9600 bps

Data Bits

8

Parity

None

Stop Bits

1

Flow Control

None

UART mode

modeDescription

Active mode

데이터를 연속적으로 보내주는 모드. 기본 설정 값

Passive mode

사용자의 요청이 있을 때만 데이터를 보내주는 모드

Sleep mode

절전 모드

UART command

CommandData 1Data 2Data 3Data 4Data 5Data 6Data 7

Active

0x42

0x4d

0xe1

0x00

0x01

0x01

0x71

Passive

0x42

0x4d

0xe1

0x00

0x00

0x01

0x70

Data request

(Passive status)

0x42

0x4d

0xe2

0x00

0x00

0x01

0x71

sleep

0x42

0x4d

0xe4

0x00

0x00

0x01

0x73

Wake up

0x42

0x4d

0xe4

0x00

0x01

0x01

0x74

Sensor response interface protocol

모드 설정 및 미세먼지 농도 읽기

  • 사용 라이브러리: SoftwareSerial, PMS

  • PMS7003을 사용하여 예제 code 작성

#include "PMS.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); //Uno Rx Tx (12 13) = SoftwareSerial

PMS pms(mySerial);
PMS::DATA data;

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);  
}

void loop()
{
  if (pms.read(data))
  {
    Serial.println("Data:");

    Serial.print("PM 1.0 (ug/m3): ");
    Serial.println(data.PM_AE_UG_1_0);

    Serial.print("PM 2.5 (ug/m3): ");
    Serial.println(data.PM_AE_UG_2_5);

    Serial.print("PM 10.0 (ug/m3): ");
    Serial.println(data.PM_AE_UG_10_0);

    Serial.println();
  }
}
  • 시리얼 모니터

Last updated