2015年01月18日

スイッチでLED制御 -Hレベル/Lレベルと不定

前回まででLEDを点滅させることができました。今回からはスイッチを使ってLEDを光らせます。

やりたいことを絵にしてみました。
スイッチを押すとArduinoがLEDを光らせて、スイッチを離すとLEDと消します。

15_スイッチLED制御概要2.jpg


15_スイッチLED制御概要1.jpg

今回、新しくやることはArduinoがスイッチに従って動くようにするということです。ただし、Arduinoの場合はただスイッチを繋ぐだけでは駄目です。


例えば、電球をスイッチで光らせたり消したりする場合は、電球とスイッチを直接繋ぎます。
スイッチを押すと電気が流れLEDが光り、スイッチを離すと電気が切れLEDが消えます。
18_電球回路1.jpg

18_電球回路2.jpg

電球の場合は電気が流れているかいないかで動作が決まるので、スイッチを直接繋ぐことができます。

しかし、Arduinoの場合は電気が流れているかいないかではなく、電圧が高いか低いかで動作が決まります。
Arduinoが高いと判断する電圧をHighレベル、低いと判断する電圧をLowレベルといいます。その中間の電圧は不定状態といい、HighレベルなのかLowレベルなのかが判断できません。
18_H-Lレベル.jpg

スケッチではHighレベルかLowレベルに従ってArduinoの動作を決めることができますので、「HighレベルならLEDを光らせ、LowレベルならばLEDを消す」というスケッチを書けばスイッチの状態に従ってLEDを動かすことができます。

さて、Arduinoがスイッチを直接つなぐだけではだめというは、その回路ではHighレベルかLowレベルか分からないからです。
スイッチを離すとその線はどこにも繋がっていません。どこにも繋がっていないということは、その線の電圧は0[V]ではなく、どうなっているのか分からない状態です。どうなっているか分からないので、Arduinoは不定状態となってしまいます。

ですので、スイッチでHighレベルかLowレベルかを切り替えるには「スイッチを押したときはHighレベルとなり、離したときはLowレベルとなる」回路を作る必要があります。
これを行うための回路をプルダウン回路、もしくはプルアップ回路と言います。

次回はプルアップ回路とプルダウン回路の説明をします。


みんなのArduino入門 [ 高本孝頼 ]

価格:2,376円
(2015/6/15 10:40時点)



posted by ました at 19:39| Comment(0) | TrackBack(0) | 電子工作の実践 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。