傾斜傳感器子產品簡介
傾斜傳感器子產品如下圖所示。
傾斜傳感器可以檢測方向或傾斜度。它檢測傳感器是否完全直立或是否傾斜。
這使得它非常有用,例如在玩具、機器人和其他工作方法取決于傾向的器具中使用。
工作原理
傾斜傳感器是圓柱形的,内部包含一個自由導電滾動球,下面有兩個導電元件(杆)。
它的工作原理如下:
- 當傳感器完全直立時,球落到傳感器底部并連接配接兩極,進而允許電流流動。
- 當傳感器傾斜時,球不接觸兩極,電路開路,電流不流動。
這樣,傾斜傳感器就像一個開關,根據其傾斜度打開或關閉。是以,它将向 Arduino 提供數字資訊,即高電平或低電平信号。
引腳接線
将傾斜傳感器連接配接到 Arduino 上非常簡單。隻需将一個引腳連接配接到 Arduino 數字引腳,并将 GND 連接配接到 GND。
注意:引腳上需要使用 10k歐姆 的上拉電阻。
示例
在此示例中,如果傳感器直立,則 LED 将關閉;如果傳感器傾斜,則 LED 将打開。
。
int ledPin = 12;
int sensorPin = 4;
int sensorValue;
int lastTiltState = HIGH; // sh上傳從傾斜傳感器讀取的資料
long lastDebounceTime = 0; // 最後一次切換輸出引腳的時間
long debounceDelay = 50; //延時
void setup(){
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
sensorValue = digitalRead(sensorPin);
// 如果開關因噪音或按壓而改變
if (sensorValue == lastTiltState) {
// 時間複位
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
lastTiltState = sensorValue;
}
digitalWrite(ledPin, lastTiltState);
Serial.println(sensorValue);
delay(500);
}