더북(TheBook)

송신부 아두이노 소스 코드

라이브러리를 객체화하고 begin(), read(), send() 함수를 사용하여 센서를 제어할 수 있다. rf.send 함수를 이용해 미세먼지, 온도, 습도, 기압 센서값을 RF 통신으로 전송할 수 있다.

 

#include <C602_Steam_Air_NRF24L01.h>
#include <C202_Steam_Air_PMS7003_Dust.h>
#include <C501_Steam_Air_BME280_hPa.h>

SteamPMS7003 pms7003(4, 5);   // 미세먼지 센서 인스턴스 ,
                              // Rx(4), Tx(5) 핀 번호를 입력한다.
SteamBME280 bme280;
SteamNRF24L01 rf;

byte value[4];

void setup() {
  Serial.begin(9600);   // 9600bps의 속도로 시리얼 통신을 시작한다.

  pms7003.begin();      // 미세먼지 센서를 초기화한다.
  bme280.begin();       // 온도/습도/기압 센서를 초기화한다.
  rf.begin();
}

void loop() {
  bme280.read();    // 온도/습도/기압을 측정한다.
  pms7003.read();   // 미세먼지를 측정한다.

  // 미세먼지, 온도/습도/기압 데이터를 수신부 아두이노에 전송한다.
  rf.send(pms7003.getPM2_5(), bme280.getTemp(), bme280.getHumidity(), bme280.gethPa());
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.