개발자/Arduino

NANO 33 BLE Sense - 3 기압 센서 사용해보기

지구빵집 2020. 5. 10. 15:17
반응형

 

 

이번 실습에서는 NANO 33 BLE Sense의 온보드 기압 센서(LP22HB)에 대해 알아보고, 센서를 이용하여 압력을 구해보는 실습을 하기로 한다.

 

Arduino nano 33 BLE Sense 보드 모든 구성품 실습 강의

 

NANO 33 BLE Sense - 1. 온보드 RGB LED 실습

NANO 33 BLE Sense - 2. LSM9DS1, 9축 IMU센서 정보 활용

NANO 33 BLE Sense - 3. 기압 센서 사용해보기

NANO 33 BLE Sense - 4. 온습도 센서 HTS221 실습

NANO 33 BLE Sense - 5. 온보드 제스처 센싱 실습

NANO 33 BLE Sense - 6. 온보드 컬러 인식 RGB 센서 실습

NANO 33 BLE Sense - 7. 온보드 거리센서 실습

NANO 33 BLE Sense - 8. 더 살펴볼 것, 리소스와 더 많은 기능

 

 

기압 센서인 LP22HB는 260 ~ 1260 hPa 범위의 절대압력을 측정할 수 있는 디지털 기압 센서다. 스케치 환경의 라이브러리 관리를 통해 "Arduino_LPS22HB" 라이브러리를 설치해야 한다. 내부적으로는 I2C 통신 인터페이스를 통해 데이터를 받게된다. 자세한 센서의 정보는 아래와 같다.

- 작동 전압: 1.7V ~ 3.6V

- 작동 전류: 3μA

- 작동 온도: -40 ~ +85 °C

- 측정 범위: 260 ~ 1260 hPa

- 압력센서 출력 데이터: 24bit - 압력센서 데이터 출력 속도: 1, 10, 25, 50, 75 Hz

 

LP22HB 센서는 온도 측정도 가능하지만, NANO 33 BLE Sense에는 온도와 습도를 측정하는 센서인 HTS221센서가 있기 때문에, 이 센서의 온도 측정 기능은 사용하지 않는다.

 

#include <Arduino_LPS22HB.h>

void setup() 
{
  Serial.begin(9600);
  while (!Serial); // 시리얼 모니터가 켜져 있어야 코드가 작동합니다.

  if (!BARO.begin()) { // 압력센서를 초기화합니다. 초기화 도중 문제가 발생하면 오류를 발생시킵니다.
    Serial.println("LPS22HB센서 오류!");
    while (1);
  }
}

void loop() 
{
  float pressure1 = BARO.readPressure(); // kPa 단위로 압력을 측정합니다.
  float pressure2 = BARO.readPressure(PSI); // psi 단위로 압력을 측정합니다.
  // 측정한 압력을 출력합니다.
  Serial.print("압력 = ");
  Serial.print(pressure1);
  Serial.println(" kPa, ");
  Serial.print(pressure2);
  Serial.println(" psi");
  Serial.println();
  delay(1000);
}

 

위 실습코드를 컴파일하고 업로딩한 결과값을 아래에 나타내었다. 물론 업로딩 시간은 오래 걸린다. ^^ 실습시 센서를 약 1미터 위로 가져가면 kPa 로 측정한 값이 작아진다. 약 0.1 정도 값의 변화만이 보인다. 참고한다.

 

 

 

 

 

반응형