반응형

자석의 N, S극을 확인하는 방법

 

리니어 홀 제네레이터는 자석의 가우스 값을 아날로그로 출력해준다.

단순 극 확인은 홀스위치를 사용해도 된다.

 

 

홀 IC 종류

 

WSH135-XPAN2

http://www.icbanq.com/P000819674/S

5V 입력시 1000 Gauss 측정 가능

 

A1324LUA-T

http://www.icbanq.com/P005535808/S

5V 입력시 500 Gauss 측정 가능

 

mV/G 값이 높을 수록 정밀함

 

 

 

 

 

/*
Magnet Polar Detect
Simulz
k10206@naver.com
http://Simulz.kr
*/
int LED_R = 10;
int LED_G = 11;

int Sensor = A0;
int SensorValue = 0;
int NPole = 0;
int SPole = 0;

int ZeroPin = 13;
int ZeroButtonState = 0;
int Offset = 0;
int Lean = 0;

int DeadZone = 1;

void setup() {
  pinMode(ZeroPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  SensorValue = analogRead(Sensor) - Offset;

  // Offset
  ZeroButtonState = digitalRead(ZeroPin);
  if (ZeroButtonState == HIGH) {
      Offset = 0;
      
      for (int i = 0; i < 500; i++) {
          SensorValue = analogRead(Sensor) - Offset;
          Lean = SensorValue - 511;
          
          if (Lean == 0) break;
          else Offset =  Lean;
          delay(10);
     }
  }

  if (SensorValue - 511 > DeadZone) {
    NPole = (SensorValue - 511) / 2;
  } else {
    NPole = 0;
  }

  if (511 - SensorValue > DeadZone) {
    SPole = (511 - SensorValue) / 2;
  } else {
    SPole = 0;
  }

  //Serial.print("N: ");
  //Serial.println(NPole);
  //Serial.print("S: ");
  //Serial.println(SPole);

  analogWrite(LED_R, NPole); // 0 ~ 255
  analogWrite(LED_G, SPole); // 0 ~ 255

}
 

 

 

이날 납땜 작업

 

 

 

 

 

 

추가 작업

 

블루투스 데이터 전송 기능

노트북에서 수신 프로그램으로 가우스 변화를 그래프로 볼 수 있음

 

9V 충전지 사용

 

적외선 리모컨 수신기 장착 예정

리모컨으로 기능 등 환경 설정을 할 수 있음

 

9V 충전지

 

블루투스 모듈 달았음

반응형

관련글