電子工作初心者のArduino

ずぶの素人が電子工作にチャレンジします。

Arduinoで傾きスイッチを使う

今回は初めてセンサの記事。

 

チルトスイッチ(tilt switch)という傾きを検知してON-OFFを切り替えるスイッチを使ってみた。

一定以上の傾きを与えるとスイッチ内の導通がOFFになる仕組み。

動作原理は大きく分けて水銀式と非水銀式があり、安全性の観点から現在は水銀式はあまり用いられない。

ja.wikipedia.org

 

非水銀式は内部に金属製のボールが仕込まれており、傾きに応じて内部でボールの位置が変わることをスイッチに利用している。

以下は秋月電子通商よりチルトスイッチAT407の動作原理の説明図を拝借。

https://akizukidenshi.com/download/ds/switronic/AT407_j.pdf

 

今回使ったのはAuduino MEGA2560スターターキット付属のチルトボールスイッチ。

ふむ、確かに傾けるとカチッと音が鳴る。

 

 

スケッチは超単純。

```

const int ledPin = 13;

void setup()
{
  pinMode(ledPin,OUTPUT);
  pinMode(2,INPUT);
  digitalWrite(2, HIGH);
}
 
void loop()
{  
  int digitalVal = digitalRead(2);
  if(HIGH == digitalVal)
  {
    digitalWrite(ledPin,LOW);
  }
  else
  {
    digitalWrite(ledPin,HIGH);
  }
}
/**********************************************/
```
チルトスイッチを2番ピンとGNDに接続し、2番ピンのINPUTがHIGHの場合に内蔵LEDを光らせる。
 

スイッチON

スイッチOFF

 

スイッチONのときだけ内蔵LEDが光っている。