loadbxh
 1 #include <Wire.h>
 2 #include <SPI.h>
 3 #include <Adafruit_Sensor.h>  //导入库
 4 #include <Adafruit_BMP280.h>
 5 //SPI
 6 #define BMP_SCK 13  //硬件连接,不需要改动
 7 #define BMP_MISO 12
 8 #define BMP_MOSI 11 
 9 #define BMP_CS 10
10 //Adafruit_BMP280 bmp; // I2C
11 Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
12 //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);  //选择此模式
13 int MICsensorPin = A0; // 选择传感器链接的模拟接口
14 int MsensorValue = 0; // 设置传感器初始值
15 int LUXsensorPin = A1; // 选择传感器链接的模拟接口
16 int LsensorValue = 0; // 设置传感器初始值
17 float BMPsensorTemp = 0;
18 float BMPsensorPressure = 0;
19 float BMPsensorAltitude = 0;
20 void setup () 
21 {
22   Serial.begin (9600);//初始化串口,设置波特率
23   Serial.println(F("BMP280 初始化..."));
24   if (!bmp.begin()) {  
25     Serial.println(F("Error:找不到BMP280/SPI/3.3V传感器"));
26     while (1);
27   }
28 }
29  
30 void loop () 
31 {
32   MsensorValue = analogRead (MICsensorPin);//读取模拟接口返回的传感器数值
33   LsensorValue = analogRead (LUXsensorPin);//读取模拟接口返回的传感器数值
34   float BMPsensorTemp = bmp.readTemperature();
35   float BMPsensorPressure = bmp.readPressure()/1000;
36   float BMPsensorAltitude  = bmp.readAltitude(1013.25);
37   delay (1000);//延时1秒
38   Serial.print(F("声音:"));
39   Serial.print (MsensorValue,DEC);//10进制打印传感器数值
40   Serial.println(" dB");
41   Serial.print(F("光照:"));
42   Serial.print (LsensorValue,DEC);//10进制打印传感器数值
43   Serial.println(" Lux");
44   Serial.print(F("温度: "));
45   Serial.print(BMPsensorTemp);//打印传感器数值
46   Serial.println("°C");
47   Serial.print(F("气压:"));
48   Serial.print(BMPsensorPressure);//打印传感器数值
49   Serial.println(" KPa");
50   Serial.print(F("海拔: "));
51   Serial.print(BMPsensorAltitude); //这应该根据你当地的情况来调整
52   Serial.println(" m");
53 }

分类:

技术点:

相关文章: