引言
近年來無線傳感器和傳感網(wǎng)絡(luò)發(fā)展迅速,廣泛應(yīng)用于環(huán)境監(jiān)控、制造業(yè)現(xiàn)場檢測和控制、智能家居、智能交通、建筑健康檢測以及健康護理等領(lǐng)域。隨著電子、嵌入式單片機、智能無線傳感器、網(wǎng)絡(luò)以及通信技術(shù)的迅速發(fā)展,無線傳感器節(jié)點才有實現(xiàn)低成本和低功耗的可能。
1 傳感器簡介
傳感器就是用來測量物理、化學(xué)、生物或者其他參數(shù)的元器件、或者是測量系統(tǒng)的一部分。通常傳感器能夠提供一個等價的電壓或者電流形式的信號,這個信號可以用以檢測、處理、存儲和轉(zhuǎn)發(fā)。傳感器技術(shù)對于現(xiàn)代產(chǎn)業(yè)產(chǎn)生了巨大的影響,在市場上有很多傳感器。傳感器的測量對象和物理轉(zhuǎn)換原理。
2 智能家居概述
智能家居(Smart home)是以住宅為平臺,利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、 安全防范技術(shù)、自動控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實現(xiàn)環(huán)保節(jié)能的居住環(huán)境。
智能家居
所謂的智能家居,就是一種智能化的家居環(huán)境,即以住宅為平臺,綜合利用計算機技術(shù)、傳感器技術(shù)、嵌入式技術(shù)及其物聯(lián)網(wǎng)技術(shù)將家庭生活中相關(guān)的設(shè)施進行智能化,實現(xiàn)對家居環(huán)境的監(jiān)測,管理、遠近程控制,讓家居生活更加舒適,同時提高家居環(huán)境的了安全性,也兼顧了節(jié)能環(huán)保的低碳理念。
3 智能家居基礎(chǔ)傳感器
1)煙霧傳感器
MQ-2煙霧傳感器,MQ-2應(yīng)用: 可用于家庭和工廠的氣體泄漏監(jiān)測裝置, 適宜于液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等的探測。
MQ-2煙霧傳感器
Arduino程序:
int LED=2;
void setup() {
Serial.begin(9600);
pinMode(LED,OUTPUT);
digitalWrite(LED, HIGH);
}
void loop() {
float vol;
float value;
int sensorValue = analogRead(A0);
vol = (float)sensorValue/1024*5.0;
value = 10000-((5-vol)*9700/5);
Serial.print(“gas = ”);
Serial.println(value);
Serial.println(“ ppm”);
if( value 》 2000){
digitalWrite(LED, LOW);
} else {
digitalWrite(LED, HIGH);
}
delay(5000);
}
2)粉塵傳感器
夏普光學(xué)灰塵傳感器(GP2Y1010AU0F)在檢測非常細的顆粒,如香煙煙霧,是特別有效的,并且是常用的空氣凈化器系統(tǒng)。該裝置中,一個紅外發(fā)光二極管和光電晶體管,對角布置成允許其檢測到在空氣中的灰塵反射光。該傳感器具有極低的電流消耗(最大20mA,11毫安典型的),可以搭載高達7VDC的傳感器。輸出的是一個模擬電壓正比于所測得的粉塵濃度,敏感性為0.5V/0.1mg/m3。可以檢測AQI的值。
Arduino程序:
int dustPin=0;
float dustVal=0;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;
void setup(){
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
pinMode(dustPin, INPUT);
}
void loop(){
// ledPower is any digital pin on the arduino connected to Pin 3 on the sensor
digitalWrite(ledPower,LOW);
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin);
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH);
delayMicroseconds(offTime);
delay(1000);
if (dustVal 》 36.455){
Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
}
}
測試得到的數(shù)據(jù)和空氣質(zhì)量對照:
3000 + = 很差
1050-3000 = 差
300-1050 = 一般
150-300 = 好
75-150 = 很好
0-75 = 非常好
3)紅外發(fā)射和接收模塊
這次要介紹的是紅外發(fā)射和接收模塊,其實他們現(xiàn)在在我們的日常生活中扮演者重要的角色,現(xiàn)在很多的家用電器上都用到了這種裝置,比如空調(diào)、電視、DVD 等等,就是基于它是無線遙感,而且還可以較遠距離控制,使用起來非常的方便。
紅外發(fā)射和接收模塊
Arduino程序:
主發(fā)射部分代碼:
默認在3引腳
#include 《IRremote.h》
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
for (int i = 0; i 《 50; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
} }
從接收部分代碼
#include 《IRremote.h》
int RECV_PIN = 11; //define input pin on Arduino
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}}
4)溫濕度傳感器
DHT11是一款有已校準數(shù)字信號輸出的溫濕度傳感器。 其精度濕度+-5%RH,溫度+-2℃,量程濕度20-90%RH, 溫度0~50℃。
DHT11
Arduino程序:
#include 《dht.h》
dht DHT;
#define DHT11_PIN 7//put the sensor in the digital pin 7
void setup(){
Serial.begin(9600);
}
void dht11()
{
int chk = DHT.read11(DHT11_PIN);
switch (chk)
{
case 0:
Serial.println(“Ok”);
delay(1000);
break;
case -1:
Serial.println(“Checksum error”);
delay(1000);
break;
case -2:
Serial.println(“Time out error”);
delay(1000);
break;
default:
Serial.println(“Unknown error”);
delay(1000);
break;
}
Serial.print(“Humidity:”);
Serial.print((float)DHT.humidity,1);
Serial.print(“%”);
delay(1000);
Serial.print(“Temp:”);
Serial.print((float)DHT.temperature,1);
Serial.print(“C”);
delay(1000);
}
void loop(){
dht11();
}
5)霍爾磁力傳感器模塊(可以做門窗戶防盜)
霍爾磁力傳感器
Arduino程序:
int Led=13;//定義LED 接口
int SENSOR=3;//定義霍爾磁力傳感器接口
int val;//定義數(shù)字變量val
void setup()
{
Serial.begin(9600);
pinMode(Led,OUTPUT);//定義LED 為輸出接口
pinMode(SENSOR,INPUT);//定義霍爾磁力傳感器為輸出接口
}
void loop()
{
val=digitalRead(SENSOR);//將數(shù)字接口3 的值讀取賦給val
if(val==HIGH) //當震動傳感器檢測有信號時,LED 亮
{
digitalWrite(Led, HIGH);
Serial.println(“open the door”);
delay(5000);
}
else
{
digitalWrite(Led, LOW);
Serial.println(“close the door”);
delay(5000);
}
}
4 結(jié)論
智能家居中傳感器還有很多,展示就做以上幾個例子。大體上無外乎就是開關(guān)量和模擬量兩類。歡迎大家討論,關(guān)注。
-
傳感器
+關(guān)注
關(guān)注
2548文章
50673瀏覽量
751989 -
元器件
+關(guān)注
關(guān)注
112文章
4692瀏覽量
92004 -
智能家居
+關(guān)注
關(guān)注
1926文章
9513瀏覽量
184304
發(fā)布評論請先 登錄
相關(guān)推薦
評論