實驗現象
溫溼度傳感器實時獲取環境溫度,當溫度高於30℃,蜂鳴器發出警報;低於30℃,蜂鳴器不發出警報。
理論學習
溫度傳感器是基於熱敏電阻(阻值隨外界環境溫度變化而變化)的工作原理,能夠實時感知周邊環境溫度的變化,我們把數據送到 Arduino 的 analog IO,接來下我們只要經過簡單的編程就能將傳感器輸出的數據轉換爲攝氏溫度值。與一般的溫度傳感器是一樣的,我們在使用時接好電源線後確定信號輸入端就行了,因爲模塊輸出的是模擬信號,我們要把信號輸出端接到Arduino 的模擬 IO上進行採樣,這樣才能正確讀出溫度值。
實驗準備
arduino主板-1
麪包板-1
數據線-1
溫溼度模塊-1
無源蜂鳴器-1
跳線若干
連接電路
引腳說明
接線說明
DHT11溫溼度模塊 | Arduino主板 |
---|---|
+ | +5V |
- | GND |
S | 8(自定義) |
無源蜂鳴器一腳接11,一腳接GND。
實驗代碼
#include <Arduino.h>
#include "dht11.h"
#define buzzer 11
// 設置 DHT 引腳 爲 Pin 8
DHT11 myDHT11(8);
void setup(){
pinMode(buzzer,OUTPUT);
Serial.begin(9600); //串口波特率設置
}
void warning(){
for(int i=0;i<=100;i++){
digitalWrite(buzzer,HIGH);
delay(2);
digitalWrite(buzzer,LOW);
delay(1);
}
}
void loop() {
warning();
myDHT11.DHT11_Read(); //讀取溫度值
// 獲取測量數據
float tempread=(float)myDHT11.TEM_Buffer_Int;
Serial.print("Temperature (C): ");
Serial.println(tempread);
if(tempread>30){
warning();
}
delay(2000);//延時2s,延時最好高於一秒一以上,因爲元件讀取溫溼度需要延時
}
根據這個原理,我們還可以做溼度報警器。