진동센서 실험

여기서는 진동센서를 사용하여 LED를 켜는 실험을 합니다.

진동센서는 틸트(TILT), 기울기, 비드(BEAD), 볼(BALL) 스위치 또는 센서라고도 하며 내부의 전도성 볼의 이동에 의해 접점이 붙거나 떨어지는 원리를 이용하여 진동이나 기울기를 감지합니다. 이 번에는 진동이나 기울기를 감지하여 LED를 점등하는 실험을 합니다. 필요한 부품은 다음과 같습니다.

진동 센서 : 1개
LED : 1개
220Ω 저항 : 1개
10kΩ 저항 : 1개

 

스위치를 수평 위치에 놓으면 스위치가 켜지고 아날로그 포트 전압은 약 5V (디지털 값으로 변환되면 1023으로 표시됨)이며 LED 램프가 켜지게 됩니다.
센서가 수직으로 세워지면 접점이 떨어지고 아날로그 포트 전압은 약 0V (디지털 값으로 0)이며 LED가 꺼집니다. 프로그램에서 아날로그 포트 전압이 2.5V (디지털 값으로 512)보다 큰지 여부에 따라 틸트 스위치가 켜져 있는지 여부를 판단합니다.

소스코드

아래는 소스코드입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드합니다.

// 진동센서 실험

int switchpin = 5;
int ledpin = 8;
int val = 0;
void setup() 
{ 
pinMode(ledpin,OUTPUT);//디지털IO핀을 출력으로 지정
Serial.begin(9600);//시리얼포트 속도를 9600bps로 지정
} 
void loop() 
{ 
  val = analogRead(switchpin);
  
  if(val>512)//아날로그 값이 512이면 전압은 2.5V
    digitalWrite(ledpin,HIGH);//2.5V보다 크면,LED ON
  else//작거나 같으면
    digitalWrite(ledpin,LOW);//LED OFF 
        Serial.println(val);
}