BMP180 气压传感器
BMP180 是一种用于测量气压的科学仪器。可以获取到温度、气压、海拔。
先在 arduino ide 中安装依赖
/****** Arduino 接线 ***** Arduino 传感器* VCC 5v* GND GND* A4 SDA * A5 SCL ***********************/#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;void setup() {Serial.begin(9600); // 串口通信用于输出 logif (!bmp.begin()) {Serial.println("找不到有效的BMP180传感器,请检查接线!");while (1) {}}
}int outputVal = 0;
void loop() {Serial.print("温度 = ");Serial.print(bmp.readTemperature());Serial.println(" *C");Serial.print("气压 = ");Serial.print(bmp.readPressure());Serial.println(" Pa");// Calculate altitude assuming 'standard' barometric// pressure of 1013.25 millibar = 101325 PascalSerial.print("海拔 = ");Serial.print(bmp.readAltitude());Serial.println(" 米");Serial.print("海平面压力(计算) = ");Serial.print(bmp.readSealevelPressure());Serial.println(" Pa");// 如果你知道目前的海平面压力// vary with weather and such. If it is 1015 millibars// that is equal to 101500 Pascals.Serial.print("更精确的海拔 = ");Serial.print(bmp.readAltitude(101500));Serial.println(" 米");Serial.println();delay(3000);
}
湿度传感器
可以拿到温度和湿度的数字信号输出。
先在 arduino ide 中安装依赖
/****** Arduino 接线 ***** Arduino 传感器* VCC 5v* GND GND* A0 A0 ***********************/
#include <EduIntro.h>
int pin = A0;
DHT11 dht11(pin); int C; // 整数温度
float F; // 华氏度
int H; // 整数湿度void setup() { Serial.begin(9600); // 串口通信用于输出 log
}void loop() { dht11.update();C = dht11.readCelsius(); F = dht11.readFahrenheit(); H = dht11.readHumidity(); Serial.print("整数湿度: ");Serial.print(H);Serial.print("\t整数温度: ");Serial.print(C);Serial.print("\t华氏度: ");Serial.println(F);delay(5000); }
震动开关传感器
当你摇晃这个传感器是将会触发引脚输入高电平
/****** Arduino 接线 ***** Arduino 传感器* VCC 5v* GND GND* A0 A0 ***********************/int pin = A0; void setup() { Serial.begin(9600); // 串口通信用于输出 log pinMode(pin, INPUT);
}int val = 0; // 0 || 1(摇晃时)
void loop() { val = digitalRead(pin);Serial.println(val);delay(300);
}
红外火焰传感器
红外火焰传感器可以检测波长在 700nm - 1000nm 的红外光。可以用来检测火焰。
/****** Arduino 接线 ***** Arduino 传感器* VCC 5v* GND GND* A0 A0 ***********************/int pin = A0; void setup() { Serial.begin(9600); // 串口通信用于输出 log pinMode(pin, INPUT);
}int val = 0; // 检测到火焰是 0, 反之为 1
void loop() { val = digitalRead(pin);Serial.println(val);delay(300);
}
声音传感器
用于检测周围声音的强度
/****** Arduino 接线 ***** Arduino 传感器* VCC 5v* GND GND* A0 A0 ***********************/int pin = A0; // 0 - 1024void setup() { Serial.begin(9600); // 串口通信用于输出 log
}int outputVal = 0;
void loop() { outputVal = analogRead(pin);Serial.println(outputVal);
}