日期:2020/11/25
元件基本資料
KY-024 是一種常見的線性霍爾磁力感測器,售價大約90元。測量原理是利用外加磁場使晶片中的載子偏轉,使晶片於電流、磁場同時垂直的方向上產生電壓。但是 KY-024 只能測量磁場強度的相對值,無法精確地測量磁場強度的絕對值,因此在使用上比較適合作為開關,或是利用磁場量值隨時間的變化測量時間間隔。從下方的照片中可以看到由上至下的接腳功能分別為類比訊號、接地、電源、數位訊號,分別將它們接到 Arduino 開發板上的類比輸入、GND、5V、數位輸入。
KY-024 照片
KY-024 電路圖
KY-024 裝置照片
測試用程式碼
#define ANALOG A0
#define DIGITAL 3
int analog, digital;
void setup() {
pinMode(ANALOG, INPUT);
pinMode(DIGITAL, INPUT);
Serial.begin(9600);
Serial.println("t (ms), analog, digital");
}
void loop() {
analog = analogRead(ANALOG);
digital = digitalRead(DIGITAL);
Serial.print(millis());
Serial.print(", ");
Serial.print(analog);
Serial.print(", ");
Serial.println(digital);
delay(100);
}
測試結果如下:
- 沒有磁鐵靠近時,類比輸入讀取數值約為530,數位輸入讀取值為0。
- 磁鐵N極靠近晶片正面或S極靠近晶片背面,類比輸入讀取數值約為870,數位輸入讀取值為0。
- 磁鐵N極靠近晶片背面或S極靠近晶片正面,類比輸入讀取數值約為435,數位輸入讀取值為1。
磁鐵 N 極靠近 KY-024 晶片正面
磁鐵 N 極靠近 KY-024 晶片背面
測量複擺週期
將強力磁鐵吸附在鐵尺的下方,再將鐵尺懸掛起來,將鐵尺向右拉到某個角度後由靜止釋放。當鐵尺擺動到最低點時,下方磁鐵的 N 極會接近磁力感測器晶片的背面,使類比輸入讀取到的數值降低到 430 左右,從數值 - 時間的資料及關係圖中可以看出鐵尺擺動到最低點的時間間隔,這應該是鐵尺擺動的半個週期,大約為 374 ms。為了盡量縮短測量的時間間隔,實驗時會將程式碼中最後一行的 delay(100) 註解掉,但理論上磁場變化影響到感測器輸出數值需要一些時間,這部分還需要再研究看看。
測量複擺週期裝置照片
測量複擺週期實驗結果
參考資料
KY-024 線性霍爾磁力感測器資料表:https://arduinomodules.info/ky-024-linear-magnetic-hall-module
HackMD 版本連結:https://hackmd.io/@yizhewang/BJU9Tcq9v
这个可以蓝牙吗?esp32倒可以,也不贵,再结合手机软件phyphox可以有巨大的应用潜力
回覆刪除我這裡使用的 Arduino Uno 沒有內建藍芽功能,可以另外連接藍芽模組。
刪除