Arduino筆記(82):SW-520D 傾斜感測模組

最近有個想法是有沒有辦法在腳踏車安裝一個方向燈,如果使用切換開關,讓左或右的燈亮,那就很簡單的。如果是想要用身體的傾斜來控制,就需要運用傾斜感測器,而我理想中的傾斜感測器是可以偵測傾斜角度的,但買了SW520D的角度感測器模組 ,才發現他就跟開關一樣,能偵測是否傾斜,而無法知道傾斜角度。以下就實作一下測試的結果,看看是否可以運用在自行車的方向燈。

什麼是傾斜傳感器?

傾斜傳感器(也稱為傾斜開關、滾球傳感器或水銀開關),是檢測物體的水平和垂直方向或其傾斜度。這種類型模組的工作原理是,當傳感器是直立的,它會充當短路,讓電流流過整個電路,這是開關會在On的狀態。如果傳感器向側面傾斜,則開關會OFF,這時不會有電流通過電路。

傾斜開關通常有兩種:一是水銀開關,在管中使用一滴水銀,利用水銀導電的特性,當傳感器的方向發生變化,它將導致水銀在管中滾動,直到水銀到達某個角度時,使其接觸兩個觸點,這樣電流就可以通過它了。另一種類型是籠中球開關,內部導電是使用小金屬球而不是水銀,但原理是一樣的,直立時通電,傾倒時斷電。

圖片來源:steemit.com

SW-520D傾斜感測模組特性如下:
  • 比較器輸出,信號乾淨,波形好,驅動能力強,超過15mA。
  • 工作電壓3.3V-5V
  • 輸出形式 :數位開關量輸出(0和1)
  • 設有固定螺栓孔,方便安裝
  • 使用寬電壓LM393比較器
模組輸出的開關量取決於角度開關的導通與斷開,當角度開關斷開時,DO輸出高電位,角度開關導通時,DO輸出低電位。

[材料]

  • Arduino Uno 開發板
  • SW520D傾斜傳感器
  • LED x1
  • 220歐姆電阻 x1
  • 蜂鳴器 x1
  • 麵包板 x1
  • 排線 N 條

[接線圖]

Arduino接腳SW520D傾斜感測器其他
+5VVCC-
GNDGND-
D2D0-
D5-蜂鳴器正極,另一端接地。
D7-紅色LED正極,負極接220歐姆電阻,電阻另一端接地。

因為找不到 SW-520D 的 Fritzing 圖檔,下圖以水銀開關模組來替代。



[程式]

int switchTilt = 2;     //SW-520D 接Pin2
int led = 7;
int buzz = 5;
int val = 0;

void setup(){
   pinMode (switchTilt,INPUT);
   pinMode (led,OUTPUT);
   pinMode (buzz,OUTPUT);     
}
void loop(){
   val = digitalRead(switchTilt);
   Serial.println(val);     
   if (val == HIGH){               //SW-520D偵測到傾斜時
      digitalWrite(led,HIGH);
      digitalWrite(buzz,HIGH);        
   }
   else {
      digitalWrite(led,LOW);
      digitalWrite(buzz,LOW);      
   }
   delay(100); 
}

[實作結果]

原以為傾斜測試可以測得傾斜的角度,結果只得到跟物理特性一樣的結果,只有開或關兩種情況。當傾斜時,速度放慢,要幾乎水平時才會觸動開關。如果傾斜速度變快,稍微動作就會觸動感應。以下是實作的結果影片:


[參考資料]

Post a Comment

較新的 較舊