Arduino專題 : 偵測水位並透過GPRS遠端傳回資料庫

 一、目的與應用

在防災工程中,如何利用感測器測量橋梁下河面的高度以及江河面高度即時傳回端監控站作為災害評估。

 

二、所需零件

  • SSO0002 (eTape液面高度檢測器), 數量 : 3
  • MCR0016 (Arduino Uno Rev3),數量 : 1
  • DTI0027 (RS232 to TTL 介面轉換接頭),數量 : 2
  • GPRS 行動通訊模組, 數量 : 1 (洽詢本公司)
  • 耗材:
    • 麵包板,杜邦線,排針數個

 

三、動作說明

利用etape 液面壓力感測器的特性,我們將Arduino的analog read腳位接上三個etape感測器,將讀出的數值用RS232串列輸出,此時,橋接一台GPRS 行動通訊模組並事先安裝一張SIM卡(具有門號),以及在遠端機房架設一台可以上網的電腦,該電腦架設http server便可以透過網頁方式即時監看與讀取橋梁etape感測器所量得的水深高度值。

 

四、製作說明

將三個Etape(液面高度檢測器) 讀取到的數據搭配Arduino與TTL轉RS232模組,傳送給GPRS,再經由GPRS將該數據傳到網路上。

ea1

接到RS232轉接器的實體細部照片

ea2

接著,將etape sensor連接至載板,etape sensor本身的接頭沒有極性,因此,只要注意順序要對就好

再來,將GSM設備上的RXD的線(黃色線)和GND線(黑色線)連結至轉載板(如下圖)

ea3

分別將Arduino與GSM設備接上電源 如下圖

ea4

系統架設完成圖

ea5

在遠端網頁(google 瀏覽器)上看到的成果

ea6

 

 

五、程式說明

程式碼:
//Read etape value
int etape1=14; //分別將3個etape設定到A0,A1,A2
int etape2=15;
int etape3=16;
void setup(){ //初始設定
Serial.begin(9600); //設定串列阜傳輸的鮑率
pinMode(etape1,INPUT); //將A0,A1,A2腳位設定為輸入
pinMode(etape2,INPUT);
pinMode(etape3,INPUT);
}
void loop(){ //不斷重複執行
int a;
a=analogRead(etape1); //讀取etape1的值並將其透過Serial輸出
Serial.print(“A");
Serial.print(a,DEC);
a=analogRead(etape2);//讀取etape2的值並將其透過Serial輸出
Serial.print(“B");
Serial.print(a,DEC);
a=analogRead(etape3);//讀取etape3的值並將其透過Serial輸出
Serial.print(“C");
Serial.print(a,DEC);
delay(1000);
}