2012年1月19日木曜日

LED点滅を理解してみる

前回、実験に成功したLEDの点滅のスケッチと配線図を理解してみることにしました。間違った理解でも怖くない。なぜって素人だから。もう一度言います。素人に怖いものは無い。(笑)

まずは、スケッチの内容について




void setup()                    // run once, when the sketch starts
{
pinMode(11, OUTPUT);      // sets the digital pin as output
}
void loop()                     // run over and over again
{
digitalWrite(11, HIGH);   // sets the LED on
delay(1000);                  // waits for a second
digitalWrite(11, LOW);    // sets the LED off
delay(1000);                  // waits for a second
}


void setup() ・・・・英語でコメントされているように、はじめに一度だけ実行するときに
                         使うもの。
                          { } で挟まれた命令を見ると、pinMode命令により11番pinをデジタルの
出力用として宣言している。
                          何度も宣言する必要は無いので、ここに書いたと理解しました。

void loop() ・・・・ループというぐらいなので、繰り返したいときに使うもの。
                          { }で挟まれた命令を見ると、digitalWrite命令とdelay命令がそれぞれ
                          2回書かれています。

digitalWrite ・・・11がピン番号を示していて、HIGHが電気を流すこと、LOWが電気を
                        流さないこと。
                         ちゃんとした説明では、LEDに対して電位差をつくることで点灯させると
                         ありました。

delay         ・・・1000は時間ですが、調べたら単位ms(ミリ秒)でした。1秒=1000ミリ秒な
                      ので、1000はちょうど1秒だけ次の命令を実行するのを待つっていう
                      ことになります。
                      100にして実験したら、人の目には早すぎて、ずっと点灯しているように
                       見えました。

void setup() や void loop() は、関数と言うそうです。いまいちピンとこないので、とりあえず、こういう形式で書くことを理解しOKとしました。



次に配線図について


Arduinoの11番pinからブレッドボードへ接続し、抵抗220Ω、赤いLEDをつなぎ、ArduinoのGNDへ配線します。

Arduinoの11番pinがプラスで、ぐるっと回ってきて、ArduinoのGND(グランド)へ戻ってくる感じです。

LEDには+-があり、逆につなぐと点灯しないので注意です。実際に逆につないでみました。たしかに点灯しなかった。足の長いほうが+です。右の絵で言うと右側が+です。

なぜ220Ωの抵抗を入れるのか、大きい電気が流れてLEDが壊れてしまうとのことでした。

なぜ、220Ωなのかは、計算式が記載されたWEBサイトを見ましたが、よくわからないからパスしました(笑)



【今日の格言】
素人に怖いものは無い。分かる所まで理解したら次に行こう。

ランキングに参加しています。ぼちっとお願います→

0 件のコメント:

コメントを投稿