중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

홀 자기 센서

2014-09-30 13:35:15

개요 및 부품목록


출처 : 홀 센서 소자 - solarbotics.com

일반적으로 홀 센서란,
자기장의 세기에 따라 전압이 변하는 소자입니다.
홀 센서의 원리는 홀 효과(hall effect)라고도 하는데요,

출처 : 홀 효과 - 한국브리태니커사전

도체에 전류가 흐르는 상태에서 전류의 방향과 수직으로 자기장이 형성될 때,
전류가 흐르는 도체 내에서 전류와 수직방향으로 전위차(전기장 형성)가 발생 하는 현상을 말합니다.

우리가 흔히 알고 있는 '나침반'도 일종의 자기센서라고 할 수 있는데요,
모터를 포함한 기계장치의 회전수 및 위치측정에도 활용되고 있습니다.
 

이번 예제에서는 홀 자기 센서와 자석을 이용하여 
자기장이 검측되면, LED를 켜는 실습을 해보겠습니다.


미리보기 동영상

 

 

부품목록
NO 부품명 수량 상세설명
1 오렌지 보드 1 아두이노 호환보드 
2 브레드 보드 1 브레드 보드
3 홀 자기 센서 1 홀 자기 센서
4 점퍼 케이블 5 점퍼 케이블
5 LED 1 LED
6 220 ohm 저항 1 저항 
부품명 오렌지 보드 브레드 보드 LED 220ohm 저항 점퍼 케이블
사진 X1 X1 X1 X1 X5
부품명 홀 자기 센서
사진 x1

하드웨어 Making

회로도

브레드보드 레이아웃

소프트웨어 Coding

아래의 코드를 아두이노에 업로드 합니다.

/* www.kocoafab.cc */
int LED = 10;//LED를 디지털 10번 핀에 연결합니다.
int Sensor = 3;//홀자기센서를 디지털 3번 핀에 연결합니다.
int val;// val이라는 상수를 선언합니다. 센서값을 받아올때 사용됩니다.
void setup()
{
  pinMode(LED,OUTPUT);//LED를 출력핀으로 설정합니다.
  pinMode(Sensor,INPUT);//홀 자기센서를 입력핀으로 설정합니다.
}
void loop()
{
  val=digitalRead(Sensor);//val이라는 상수는 센서값을 받아옵니다.
  if(val==LOW)//만약 val(센서값)이 LOW일때,
  {
    digitalWrite(LED,HIGH);//LED를 켭니다.
  }
  else//아닐경우,
  {
    digitalWrite(LED,LOW);//LED를 끕니다.
  }
}


스케치 설명

 

 

val=digitalRead(Sensor);//val이라는 상수는 센서값을 받아옵니다.
  if(val==LOW)//만약 val(센서값)이 LOW일때,
  {
    digitalWrite(LED,HIGH);//LED를 켭니다.
  }
  else//아닐경우,
  {
    digitalWrite(LED,LOW);//LED를 끕니다.
  }
}


홀 자기 센서의 경우 자기장이 검측되지 않을때가 HIGH이며,
자기장이 검측될 경우  LOW의 상태로 나타납니다.
따라서 자기장이 검측되는 LOW일 경우 
LED를 켜고, 그렇지 않은 경우  LED를 끕니다.

 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

홀자기센서, 아두이노, 오렌지보드