版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/m0_37738838/article/details/85231947
硬件:
Arduino UNO板
LM35温度传感器
18b20温度传感器
DH11温湿度传感器
LM35温度传感器
18b20温度传感器
DH11温湿度传感器
软件
Arduino IDE
接线
Arduino | 传感器 |
---|---|
5V | VCC |
GND | GND |
信号引脚 | S |
程序
LM35温度传感器
float temp = 0;
void setup() {
Serial.begin(9600);
Serial.println(F("reading LM35 begin. \n"));
}
void loop() {
static unsigned long sensortStamp = 0;
//设置每100ms读取一次LM35传感器数据
if(millis() - sensortStamp > 100){
sensortStamp = millis();
int reading = analogRead(2); //注意到我们是把LM35的输出端连接到了A2,所以这里是analogRead(2)
temp = reading *0.0048828125*100;
Serial.print(F("Real Time Temp: "));
Serial.println(temp);
}
}
18b20温度传感器
#include <DallasTemperature.h>
#define ONE_WIRE_BUS A2 //温度 使用A2端口
OneWire oneWire(ONE_WIRE_BUS);//温度
DallasTemperature sensors(&oneWire);//温度
float temp;
void setup() {
sensors.begin();
Serial.begin(9600);
Serial.println(F("reading 18b20 begin. \n"));
}
void loop() {
static unsigned long sensortStamp = 0;
//设置每100ms读取一次18b20传感器数据
if(millis() - sensortStamp > 100){
sensortStamp = millis();
sensors.requestTemperatures();
temp=sensors.getTempCByIndex(0);
Serial.print(F("Real Time Temp: "));
Serial.println(temp);
}
}
DH11温湿度传感器
#include <dht11.h> //引用dht11库文件
#define DHT11PIN 9 //定义温湿度针脚号为9号引脚
dht11 DHT11;
float tem;
float hum;
void setup() {
Serial.begin(9600); //设置波特率参数
pinMode(DHT11PIN,INPUT);
Serial.println(F("reading Dh11 begin. \n"));
}
void loop() {
static unsigned long sensortStamp = 0;
if(millis()-sensortStamp>1000){
sensortStamp=millis();
int chk = DHT11.read(DHT11PIN); //将读取到的值赋给chk
tem=(float)DHT11.temperature; //将温度值赋值给tem
hum=(float)DHT11.humidity; //将湿度值赋给hum
Serial.print(F("Real Time tem: "));
Serial.println(tem);
Serial.print(F("Real Time hum: "));
Serial.println(hum);
}
}