傾斜ボールスイッチをArduinoで動かす①チュートリアル通りに動かす

2022/03/22

Arduino Tilt Ball Switch

t f B! P L

傾斜ボールスイッチをArduinoで動かします。

 目次:

今回の目的

ELEGOOのチュートリアル「傾斜ボールスイッチ」(英語版の「Tilt Ball Switch」)を見ていきます。

※チュートリアルの文章(PDF日本語版含む)もスケッチもELEGOOのサイトから無料でダウンロードできました。

Download ⇒「Arduino Kits & ~」⇒「UNO R3 Starter Kits」⇒ 「ELEGOO UNO R3 The Most Complete Starter Kit」 からダウンロードリンクに辿り着けます。


「傾斜ボールスイッチ」(チルトボールスイッチ)

チルトボールスイッチとは、Tilt(傾斜) Ball(球) Switch(スイッチ)です。
傾斜を検知してくれます。

図1 傾斜ボールスイッチ

外観は電解コンデンサのようですが2本のリード端子に長さの違いは見られず、極性表記もありません。
表面には「AETHDX」と印字されておりますが、ここからデータシートなどの情報を見つけることはできませんでした。

振ってみるとカチカチと音が聞こえます。

2本のリード端子間の抵抗を測ると、直立(リード端子を重力方向に向けた)状態で短絡、そこから一定以上傾ける(かなり寝かせる)と開放状態になります。

この名称とチュートリアルの記述から、内部に導体のボールが入っているものと考えます。
直立状態ではボールがリード端子間を内部で導通させ、一定以上傾けるとボールが転げて電極間は開放される、といった構造でしょうか。
微妙な傾斜や傾斜の程度をアナログ的に検知することは出来なさそうです。


器材接続

Arduino直結です。結線はチュートリアル通りですので省略します。

(写真は図2。後述)


スケッチ

言葉にすると、傾斜ボールスイッチのリード端子片方にGND、もう片方にHigh電圧をかけ、High電圧をかけた側がLow電圧を検知する(傾斜ボールスイッチ直立状態)場合にLEDを光らせます(基板実装のLED。アノード(+)にHigh電圧印加)。


スケッチです。

const int ledPin = 13;  //Pin#13を"LedPin"とする


void setup()

  pinMode(ledPin,OUTPUT);//"LedPin"(Pin#13)を出力に設定

  pinMode(2,INPUT);  //Pin#2を入力に設定

  digitalWrite(2, HIGH);  //Pin#2にHigh出力

 

void loop() 

{  

  int state = digitalRead(2);

  if(state == HIGH)

  {

    digitalWrite(ledPin,LOW);  //LEDを消灯する

  }

  else

  {

    digitalWrite(ledPin,HIGH);  //LEDを点灯する

  }

}


動作

動作させました。傾斜ボールスイッチの角度を変えるとLEDの点灯・消灯が変化します。


(1)傾斜スイッチを寝かした状態(赤丸の基板LED消灯)

(2)傾斜スイッチを起こした状態(赤丸の基板LED点灯)

(3)傾斜スイッチをさらに起こした状態(赤丸の基板LED点灯)

図2 機器の接続と状態変化


所感

傾斜を検知するセンサ、と聞くとなんとなく苦手意識を感じておりました。

ですが、今回の「傾斜ボールスイッチ」はまさに「傾斜」でON⇔OFF切り替える「スイッチ」。意外と簡単なものもあるのだと体感しました。

簡単だからこそあなどらず触れて慣れていきたいものです。

このブログを検索

ブログ アーカイブ

自己紹介

にほんブログ村

QooQ