為防止災害的發生,家中、辦公室都設有煙霧偵測裝置,遇到煙霧時即自動灑水,但若人們出門在外,單靠灑水裝置真的能夠預防火災產生嗎?煙霧警報器運用物聯網的雲端概念,即便人們出門在外,也能透過手機接收到第一時間的煙霧警報,同時也能運用裝置在家中灑水,不僅如此,還能監看煙霧的濃度值,判斷目前的嚴重性。
在公寓大廈及商辦大樓中,往往最忌諱的就是發生火災,造成重大人員傷亡,因此許多大樓都會在大樓之中禁止點火,但總是會有人貪圖一時方便而違反使用,這時透過CPF類比訊號來避免火災發生,以維護大樓安全,讓大家都能提早預防災害的發生。
煙霧警報器的原理非常簡單,將煙霧感測器插上我們的A0位置之後,利用CPF讀取Analog的值,而隨時判斷煙霧濃度值若超過700表示達到危險的程度,此時執行蜂鳴器發出警報聲,最後利用迴圈將程式碼不斷地執行。
使雲教授連結所需的設備, 將煙霧感測器插入A0插槽,蜂鳴器則接在D5插槽。
配對好雲教授,開啟CPF Arduino,進入Lesson 8 插槽模式。
進入後,按下編輯程式的按鈕,將預設程式碼全部刪除,重新命名主題並先定義變數。
//煙霧警報//
var smokeSensor;
var i;
程式解析:
撰寫煙霧感測的副程式sensorSet()
,讀取煙霧感測器的濃度數值,並將數值回傳給主程式進行判斷。
function sensorSet(){
smokeSensor = cpf.get("socket a0");
ui.set("socket a0", smokeSensor);
return smokeSensor;
}
程式解析:
撰寫蜂鳴器的副程式,目的為設定當煙霧濃度大於700時播出的警報聲音。
function buzzerControl(){
for(i=0;i<25;i++ ) {
cpf.set("socket d5", 1000, 50);
cpf.set("socket d5", 500, 50);
}
}
程式解析:
開始撰寫主程式,當回傳回來的煙霧數值大於700時代表濃度過高太危險,因此發出警告,若小於等於700則不發出警告,最後加上cpf.repeat() 重複執行。
if(sensorSet()>700){
buzzerControl();
}else{
cpf.set("socket d5",0);
}
cpf.repeat();
//煙霧警報//
var smokeSensor;
var i;
if(sensorSet()>700){
buzzerControl();
}else{
cpf.set("socket d5",0);
}
function sensorSet(){
smokeSensor = cpf.get("socket a0");
ui.set("socket a0", smokeSensor);
return smokeSensor;
}
function buzzerControl(){
for(i=0;i<25;i++ ) {
cpf.set("socket d5", 1000, 50);
cpf.set("socket d5", 500, 50);
}
}
cpf.repeat();
就如開頭所說的,運用物聯網的概念,通知出門在外的住戶,預防其災害發生的不確定性,因此,你可以注重在有煙霧時的即時解決策略,例如使用手機遙控將家中原本關閉的窗戶打開,或是透過使用火焰傳感器,偵測目前是否有起火的狀況,確認灑水器是否有達到驅散煙霧及滅火的效果,若有想到其他預防災害發生的功能,就將它們一起加入到煙霧警報器中吧!