본문 바로가기

센서 강좌

BME280 온도/습도/기압/고도

Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor


BME280 칩 기반의 온도/습도/기압/고도 측정센서이다.
I2C 또는 SPI 인터페이스를 통해 사용할수 있다.


■ 특징(Features) 

  • Bosch BEM280 Chipset
  • 5V or 3V
  • 온도 정밀도 ±1%
  • 습도 정밀도 ±3%
  • 기압 정밀도 ±1hPa
  • 고도 정밀도 ±1m 


Pinouts


■ Power Pins

  • VIN - 전원핀이다. 센서 칩은 3VDC를 사용하기에 보드에 전압 조절기가 포함되어 있어 3~5VDC를 변환할 수 있다.
  • 3Vo - 전압 조정기의 3.3V 출력이다. 최대 100mA를 얻을 수 있다.
  • GND - GND 접속 핀이다.
■ SPI Pins
  • SCK - 칩 입력인 SPI clock Pin.
  • SDO - Serial Data Out / Master In Slave Out pin.
  • SDI - Serial Data In / Master Out Slave In pin. 
  • CS - Chip Select pin.

■ I2C Pins

  • SCK - I2C clock pin.
  • SDI - I2C data ping.

마이크로프로세스와 연결

SPI연결인 경우 4개의 핀을 연결하여야 하며, I2C를 사용할 경우 2개의 연결을 이용하면 된다.


I2C 연결시

 

Arduino UNO

Mega 

Leonardo/Micro 

NodeMCU 

 

SCK->SCL

A5

digital 21

digital 3

D1

 

SDI->SDA

A4

digital 20

digital 2

D2

 

기본적으로 i2c 주소는 "0x77" 이다. 

SDO에서 GND로 점퍼를 추가하면 주소는 "0x76"으로 변경된다.


SPI 연결시

SPI인 경우 하드웨어 또는 소프트웨어 SPI를 사용할 수 있다.



Adafruit BME280 라이브러리 설치


센서를 사용하려면 Adafruit BME280 Library를 설치하여야 한다.(code on our github repository)


Arduino IDE에서 라이브러리 매니저를 선택한다.

bme280을 검색하여 Adafruit bme280 라이브러리를 설치한다.

설치가 완료되면 사용이 가능하다.


예제 확인하기


Arduino IDE 에서 파일 -> 예제 -> Adafruit bme280 Library 예제 선택


예제에서 I2C가 기본적으로 설정되어 있다.

SPI를 사용하는 경우 수정을 하고 실행하여야 한다.

센서의 연결에 맞추어 주석을 해제하고 사용하여야 한다.

핀 번호가 변경되는 경우에는 선언문에서 핀번호를 수정하여야 한다.



Python & CircuitPython Test


Raspberry Pi에서의 테스트를 안내한다.

CircuitPython에 대한 내용은 안내서(https://learn.adafruit.com/circuitpython-on-raspberrypi-linux) 를 참고한다.


■ Raspberry Pi wired with I2C

  • Pi 3V3 to sensor VIN
  • Pi GND to sensor GND
  • Pi SCL to sensor SCK
  • Pi SDA to sensor SDI

■ RaspberryPi 3 Model B wired with SPI

  • Pi 3V3 to sensor VIN
  • Pi GND to sensor GND
  • Pi MOSI to sensor SDI
  • Pi MISO to sensor SDO
  • Pi SCLK to sensor SCK
  • Pi #5 to sensor CS ( or free GPIO Pin )


CircuitPython Installation of BME280 Library


라이브러리의 자료는 github(https://github.com/adafruit/Adafruit_CircuitPython_BME280)를 참조한다.

PyPI에서 라이브러리를 설치할 수 있다.

 pip3 install adafruit-circuitpython-bme280 

가상환경에 설치시

 mkdir project-name && cd project-name

 python3 -m venv .env

 source .env/bin/activate

 pip3 install adafruit-circuitpython-bme280 



'센서 강좌' 카테고리의 다른 글

Wind Direction(weather station)  (0) 2019.03.19
Rainfall(Weather Station)  (0) 2019.03.19
Wind Speed(weather Station)  (0) 2019.03.19
Reed Switch  (0) 2019.03.19