霍爾傳感器 3144E

非常簡單 接上電源 DO 接D1
const int IO_Pin[] = { 16, 5, 4, 0, 2, 14, 12, 13, 15, 3, 1, 9, 10 };//照板子 D0-D12 的GPIO
int Led=2; //設定Test LED 為 D4
int buttonpin=5; //設定線性霍爾磁力感測器接腳為 D1
int val;//設定變量val
void setup()
{
  Serial.begin(9600);
   pinMode(Led,OUTPUT);//設定LED為輸出
   pinMode(buttonpin,INPUT);//設定感測器為輸入
    Serial.println("Ready\n\n");
}

void loop()
{
 val=digitalRead(buttonpin);//將感測器的值讀给val
 if(val==HIGH)//當感測器檢测有信号時,LED 閃爍
 {
  digitalWrite(Led,HIGH);
  }
  else
  {
    digitalWrite(Led,LOW);
    }
}
----------------------
用磁鐵 接近 感應器平面約 1~2cm  感應器LED亮 DO 也會送訊號
磁鐵要強 我用有磁性螺絲起子接近沒用 拿一顆真的磁鐵接近才亮
我買的這個模組 是沒有可變電阻 可以調距離的
https://world.taobao.com/item/520875433844.htm?spm=a312a.7700714.0.0.Ibh9Gr#detail
另一種可調的(線性霍爾磁力感應)是長這樣
https://world.taobao.com/item/537605880039.htm?spm=a312a.7700714.0.0.Ibh9Gr#detail

要強力磁鐵才有用 白板小磁鐵 要貼近才有反應
************************************

int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 2;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
 pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  digitalWrite(ledPin, HIGH);
 delay(sensorValue);      
  digitalWrite(ledPin, LOW);
 delay(sensorValue);
 Serial.println(sensorValue, DEC);
}
***********************************
這是讀取 數值 但也沒啥用
一般是 1024 當接近到燈亮 已經掉到 10左右,要量距離看來沒那麼準

霍爾元件 49E 3144E 不同
49E是線性 3144E是開關
所以要測距離 還是要用 49E
參考 http://i-makers.info/blog/1304.html
還有一堆 503 S41 ......
http://www.twword.com/wiki/%E9%9C%8D%E7%88%BE%E5%85%83%E4%BB%B6#5






留言

熱門文章