霍爾傳感器應(yīng)用非常廣泛,本文以A3144開(kāi)關(guān)型霍爾傳感器為例,介紹霍爾效應(yīng)傳感器以及A3144與Arduino UNO的連接,通過(guò)紅色LED閃爍檢測(cè)其附近是否有磁場(chǎng)存在。項(xiàng)目BOM如下:
A3144霍爾傳感器 x1
Arduino UNO開(kāi)發(fā)板 x1
紅色LED x1
220歐姆電阻 x1
面包板 x1
跳線 若干
A3144霍爾傳感器
霍爾傳感器(Hall Effect Sensor)是根據(jù)霍爾效應(yīng)制作的一種磁場(chǎng)傳感器,每一側(cè)都可以檢測(cè)到一個(gè)特定的極點(diǎn),具有無(wú)觸點(diǎn),在開(kāi)關(guān)狀態(tài)時(shí)無(wú)火花,不產(chǎn)生干擾,使用壽命長(zhǎng),靈敏度高等特點(diǎn)。由于它適用于晶體管邏輯,因此可以輕松地與微控制器接口,應(yīng)用非常廣泛。
霍爾效應(yīng)傳感器有兩種主要類(lèi)型,一種提供模擬輸出,另一種提供數(shù)字輸出。A3144霍爾傳感器是Aleg MicroSystems生產(chǎn)的寬溫?cái)?shù)字輸出傳感器,由電壓調(diào)整電路、反相電源保護(hù)電路、霍爾元件、溫度補(bǔ)償電路、微信號(hào)放大器、施密特觸發(fā)器和OC門(mén)輸出級(jí)構(gòu)成,通過(guò)使用上拉電路可以將其輸出接人CMOS邏輯電路。該芯片具有尺寸小、穩(wěn)定性好、靈敏度高等特點(diǎn):
- 汽車(chē)級(jí)或工業(yè)應(yīng)用極的穩(wěn)定性和溫度特性
- 4.5V至24V工作電壓,僅需穩(wěn)壓電源
- 集電極開(kāi)路25mA輸出,與數(shù)字邏輯兼容
- 電池反接保護(hù)
- 可以檢測(cè)市面上絕大多數(shù)的小型永磁體
- 體積小
- 耐物理壓力
- 工作溫度范圍可達(dá)-40℃~150℃。
連接A3144與Arduino
A3144有+5VCC、GND、Signal三個(gè)引腳,如果檢測(cè)到磁體輸出將變低電平,否則輸出將保持高電平。
?
A3144與Arduino UNO開(kāi)發(fā)板的連接非常簡(jiǎn)單,只要將其信號(hào)引腳與Arduino任意數(shù)字引腳連接,就可以讀取傳感器的狀態(tài)了。
本項(xiàng)目的代碼如下:
const int hallPin = 2 ; // initializing a pin for the sensor output
const int ledPin = 13 ; // initializing a pin for the led. Arduino has built in led attached to pin 13
// variables will change
int hallState = 0 ; // initializing a variable for storing the status of the hall sensor.
void setup ( ) {
pinMode ( ledPin , OUTPUT ) ; // This will initialize the LED pin as an output pin :
pinMode ( hallPin , INPUT ) ; // This will initialize the hall effect sensor pin as an input pin to the Arduino :
Serial.begin( 9600 ) ;
Serial.println ("HALL SESNOR WITH ARDUINO") ;
Serial.println ("Testing the analog hall sensor module:");
}
void loop ( ) {
hallState = digitalRead ( hallPin ) ; // reading from the sensor and storing the state of the hall effect sensor :
if ( hallState == LOW ) { // Checking whether the state of the module is high or low
Serial.println ("The state of the analog hall module is high");
digitalWrite ( ledPin , HIGH ) ; // turn on the LED if he state of the module is high
}
else {
digitalWrite ( ledPin , LOW ) ; // otherwise turn off the LED :
Serial.println ("The state of the analog hall module is low ") ;
}
?
將這些代碼上傳到Arduino IDE后,就可以讀取傳感器的狀態(tài)數(shù)據(jù)了。磁體靠近A3144霍爾傳感器,LED將點(diǎn)亮,離開(kāi)后將熄滅。也可將LED換成蜂鳴器,磁體靠近A3144霍爾傳感器,蜂鳴器將鳴響,離開(kāi)后將靜默。
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8620瀏覽量
151321 -
霍爾傳感器
+關(guān)注
關(guān)注
27文章
724瀏覽量
63234 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187249
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論