【電子回路とプログラム】LEDをLOWで点灯、HIGHで消灯する回路は?

Arduinoを使った最初のハード制御と言えば、もちろんLED点灯と消灯!

Arduino初心者・初級者向けにブログには、必ず LED点灯・消灯、通称 Lチカの記事がある。こんな写真を載せながら。

かくいうこのブログでも、LED記事はある。

しかし、Lチカは実は、初心者・初級者向けであると同時に非常に奥が深い

例えば、ニコ動「【ゆっくり解説】 Lチカ 【電子工作】」を観てもらうと、その奥深さが分かると思う。最初は初心者向けの内容だが、2分15秒を過ぎたあたりから脱・初心者で、最後は?!?!?!レベル。

このように、Lチカだけでも回路設計・プログラミングのスキルを磨くことができる。

このブログでも、Lチカを題材にし、あなたの電子回路の脱・初級者のお手伝いができればと思う。

スポンサーリンク

LEDを点滅する回路

まず、あなたに質問。「12番PIN を使って LEDをチカチカしてください」と言われたら、どんな回路をブレッドボードに組み、どんなプログラミングを書く?

本気で脱・初級者を目指すのならば、ここでいったん読むのを止め、メモに回路を書いてほしい。

HIGHで点灯、LOWで消灯

多くの人は、こんな感じで回路を組み、次のようなプログラムを書いたのではないだろうか?

  1. 12番PIN を出力PIN に設定
  2. 出力を HIGH、つまり電圧が高いときにLEDを点灯
  3. LOW出力のときにLED消灯

この動作は非常に想像しやすい。

ほとんどのブログや書籍でもこのタイプの回路が紹介されている。

LOWで点灯、HIGHで消灯する回路は?

では、次の質問。先ほどとは逆で、

LOWで点灯、HIGHで消灯する回路+プログラムは?」

と問われたら、あなたはどんな回路を組む?

回路の例を見る前に、実際に手を動かし、ノートやメモ用紙に回路図を書いてみて欲しい。

回路例

これが回路例。

動作はどうなるかというと…

LEDのアノードは 5V (or 3.3V) に直接つながっている。この状態で、PIN12に LOW(=0V)を出力するとどうなるか?

LEDのアノードよりカソードのほうが電位が低くなる。そして、アノードとカソード間の電位差=電圧が LEDの順方向降下電圧 Vf より大きければ、LEDに電流が流れ、点灯する。ちなみに赤色LEDの Vf はだいたい 2V。

反対に、PIN12 に HIGH を出力すると、アノードとカソード間で電位差がなくなるため、電流は流れず、消灯する。

脱・初心者初級者を目指すなら

Lチカでは、どちらの回路で組んでも違いはなく、どちらの回路で組むかは設計者の趣味の域だと思う。

しかし、モーター駆動などでは、HIGH出力で ON させるか、LOW出力で ON させるかの2通りを知っておく、回路を組めるようになっておくと後々役立つ。

脱・初心者初級者を目指すならば、両方の設計に慣れておいて欲しい。

スポンサーリンク

コメント

タイトルとURLをコピーしました