- 필요한 구성 요소
- BMP280 압력 센서 모듈 :
- Arduino와 BMP280 인터페이스를위한 회로도 :
- Arduino와 BMP280 인터페이스를위한 Arduino 프로그램 :
- Arduino BMP280 압력 센서 인터페이스 프로젝트 작업
자체 온도 모니터링 시스템을 구축하거나 드론의 고도를 측정하거나 단순히 해당 지역의 대기압을 측정하려는 경우 프로젝트에서 사용하기에 가장 좋은 모듈 중 하나는 BMP280 압력 센서 모듈 입니다. BMP280은 BMP085, BMP180, BMP183 센서의 업그레이드 버전 인 절대 압력 및 온도 모니터링 센서입니다. 업그레이드 된 버전이라고하는 이유는 무엇입니까? 다음 섹션에서 설명합니다. 이전 튜토리얼 중 하나에서 Arduino와 함께 이전 버전 BMP180을 이미 사용했습니다.
BMP280 센서 모듈은 Arduino, PIC, AVR 등과 같은 마이크로 컨트롤러와 함께 사용할 수 있습니다.이 프로젝트 에서는 온도 및 압력 값을 표시하기 위해 BMP280 과 함께 Arduino Uno를 LCD 16x2 디스플레이 모듈과 함께 사용할 것 입니다. BMP280을 Arduino와 인터페이스하기 전에 Adafruit에서 개발 한 BMP280 Arduino 라이브러리 를 다운로드해야합니다. 이 Adafruit BMP280 라이브러리 링크를 클릭하여 각 Github 페이지를 열고 Arduino IDE에 헤더 파일을 추가합니다.
필요한 구성 요소
- Arduino
- BMP280
- 전선 연결
- 브레드 보드
- LCD- 16x2
BMP280 압력 센서 모듈:
BMP280 센서 모듈은 1.71V의 최소 전압 (VDD)에서 작동하는 반면 이전 버전 센서 모듈은 1.8V (VDD)에서 작동합니다. 전류 소비 측면에서 BMP280은 2.7uA를 소비하는 반면 BMP180은 12uA를 소비하고 BMP183과 BMP085는 각각 5uA를 소비합니다. BMP280은 새로운 필터 모드도 지원합니다. BMP280 센서 모듈 은 I2c 및 SPI 프로토콜을 지원하는 반면 나머지 센서는 I2c 또는 SPI를 지원합니다. BMP280 센서 모듈의 정확도는 ± 0.12 hPa입니다., 이는 고도 차이 ± 1m에 해당합니다. 이러한 주요 기능으로 인해 주로 다양한 응용 분야에서 사용됩니다. BMP 센서는 압력 감지 요소, 습도 감지 요소 및 온도 감지 요소로 구성되며 압력 프런트 엔드, 습도 프런트 엔드 및 온도 프런트 엔드에 추가로 연결됩니다. 이러한 프런트 엔드 IC는 작은 신호의 증폭에 사용되는 감도 아날로그 증폭기입니다. 이 아날로그 프런트 엔드 IC의 출력은 ADC에 입력 신호로 공급됩니다. 여기에서 아날로그 값은 디지털 전압으로 변환되고이 전압은 외부 세계와의 추가 인터페이스를 위해 논리 회로에 공급됩니다.
BMP280 센서 모듈은 세 가지 전원 모드 절전 모드, 강제 모드 및 일반 모드로 구성됩니다. 절전 모드에서는 측정이 수행되지 않고 전력 소비가 최소입니다. 강제 모드에서는 선택한 측정 및 필터 옵션에 따라 단일 측정이 수행됩니다. 정상 모드는 측정과 대기 기간 사이를 지속적으로 순환하며 순환 시간은 Tstandby에 의해 정의됩니다. 대기 모드의 전류는 절전 모드보다 약간 높습니다.
Arduino와 BMP280 인터페이스를위한 회로도:
Arduino와 BMP280 센서 및 LCD 를 연결하는 회로도 는 아래와 같습니다. Arduino 및 LCD를 완전히 처음 사용하는 경우이 Arduino LCD 자습서를 확인하여 LCD 디스플레이와 함께 Arduino를 사용하는 방법을 이해할 수 있습니다.
센서의 VCC 및 GND 핀은 Arduino의 3v3 및 GND 핀에 연결됩니다. 센서의 SCL 및 SDA 핀은 Arduino 보드의 A5 및 A4에 연결됩니다. LCD 연결은 다음과 같습니다.
LCD 핀 이름 |
Arduino 핀 |
VSS 및 RW |
GND |
RS |
D9 |
이자형 |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Arduino와 BMP280 인터페이스를위한 Arduino 프로그램:
전체 BMP280 Arduino 코드 는이 페이지 하단에서 찾을 수 있으며 Arduino 보드에 직접 업로드 할 수 있습니다. 동일한 설명은 다음과 같습니다.
이러한 라이브러리는 특수 기능을 활성화하기 위해 포함됩니다. #include 헤더 파일은 센서에서 오는 값을 직접 읽을 수 있습니다. #include
#포함
Adafruit_BMP280에 대한 개체 BMP 생성. 특수 기능에 액세스하기 위해 개체 파일이 생성됩니다.
Adafruit_BMP280 bmp; // I2C
Arduino의 핀을 LCD와 통신하도록 설정합니다. 이 핀을 사용하면 데이터가 전송됩니다.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
LCD 및 직렬 통신 초기화.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 테스트")); lcd.print ("Welcome to"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); 지연 (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("유효한 BMP280 센서를 찾을 수 없습니다. 배선을 확인하십시오!")); 동안 (1); }
이 기능은 bmp 객체의 초기화가 실패했을 때 작동합니다.
/ * 데이터 시트의 기본 설정. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * 작동 모드. * / Adafruit_BMP280:: SAMPLING_X2, / * 온도 오버 샘플링 * / Adafruit_BMP280:: SAMPLING_X16, / * 압력 오버 샘플링 * / Adafruit_BMP280:: FILTER_X16 필터링 * / Adafruit_BMP280:: STANDBY_MS_500); /* 대기 시간. * /}
코드의이 부분은 직렬 모니터에 온도를 인쇄하며 디버깅 목적으로 사용됩니다.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
bmp.readPressure 및 bmp.readTemprature 함수 는 특수 함수를 호출하고 온도 및 압력 값을 반환하는 데 사용됩니다.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Arduino BMP280 압력 센서 인터페이스 프로젝트 작업
bmp.readTemprature () 및 bmp.readPressure () 함수 는 온도 및 압력 값을 반환하는 데 사용됩니다. 이러한 함수는 온도 및 압력 파일을 반환하는 특수 작업을 수행하는 명령문 그룹입니다. 이러한 함수는 bmp.readTemprature () 및 bmp.readPressure () 함수를 사용하여 호출됩니다. lcd.setCursor는 화면의 원하는 위치로 LCD의 커서를 설정합니다. lcd.print 명령은 프로그래머가 설정 한 위치에서 데이터를 인쇄합니다. 기본적으로 LCD에 설정된 위치가 없으면 초기 위치로 (0,0)을 취하고 데이터를 계속 인쇄합니다. 다음 데이터는 다음 열의 위치를 차지하고 프로시 저는 행 끝에 도달하고 다음 행으로 이동할 때까지 계속됩니다.
BMP280은 플라잉 장난감, 휴대폰, 태블릿, PC, GPS 장치, 휴대용 건강 관리 장치, 가정용 기상 관측소 등에 사용할 수 있습니다.이 절차를 따르고 헤더 파일과 일부 특수 기능을 사용하여 BMP280과 쉽게 인터페이스 할 수 있습니다. Arduino. 전체 작업은 아래의 비디오에서도 찾을 수 있습니다.이 BMP280 Arduino 자습서 를 즐기고 유용한 것을 배웠기를 바랍니다. 질문이 있으시면 아래 댓글 섹션에 남겨 주시거나 다른 기술 질문에 대한 포럼을 사용하십시오.