Altair ActivateとArduinoで電子工作(その3)照度センサーの値を取得

Kosuke_IKEDA
Kosuke_IKEDA
Altair Employee

今回は、照度センサーからの信号をArduinoデバイス経由でAltair Activateに取り込んでグラフを描画します。

また、取り込んだ信号を元に、暗くなったらLEDを点灯させる制御を実装します。

配線

フォトレジスタという部品を使います。光の当たり方によって抵抗値が変わるので、これによって流れる電流量が変化します。フォトレジスタと通常の抵抗を直列につなぎ、間の電圧をArduinoのアナログ電圧ポートA0に接続しました。

image 

アナログ信号の取得

Arduinoデバイスからアナログ信号を取得するにはArduinoAnalogInputブロックを使用します。pin='A0'としました。

Activate上で可視化するためにScopeに接続しています。

Activateのモデルはこちらです。

image

実行してみました。照度センサを手で隠すと値が小さくなる様子が確認できます。


今の部屋では650くらいの値で、手で隠すと400以下くらいの値に変化するようです。

ちなみにArduinoのアナログポートは5Vに対し、0~1024の値を出力するようです。

image

照度に応じてLEDを点灯させる

続いて、(その2)で実施したLEDの点灯と組み合わせてみます。

暗くなったらLEDを点灯させるという制御をしてみましょう。

配線はこんな感じです。LEDと抵抗をpin=2とGNDに接続しました。(その2)と同じです。

image

Activateのモデルは以下のように変更しました。

Arduinoからの照度センサー信号に対し、500を閾値として、500以下だと1、500以上だと0を返すようブロックを接続します。

0/1化した信号はArduinoDigitalOutputブロックでpin=2番に入力します。

修正したActivateのモデルはこちらです。

image

 部屋の明るさの関係か、つなぎ方が悪いのかLEDが暗いですが、照度センサーを隠すとLEDが点灯する様子が確認できます。


 簡単な例ですが、デバイスの信号を読み取り、デバイスを制御することができました。