2012年2月15日水曜日

LEDを点滅してみました。(Blink使用)

どうも晴彦です。

今日はArduinoを使ってLEDの点滅を試してみました。

とりあえずスケッチは
ファイル→ スケッチ例→1.basics→Blinkを使用しました。

~Blinkスケッチここから~
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}
~Blinkスケッチここまで~
 
スケッチを上からみていくと
void setup()の中のpinModeで入力出力の設定をしています。
pinMode(13,OUTPUT)は13番のピンを出力になります。
 
void loop()の中のdigitalWriteが実際のON/OFF(HIGH/LOW)を制御しています。
digitalWrite(13,HIGH)で13番ピンに5Vが流れ
digitalWrite(13,LOW)で13番ピンは0Vになるみたいです。

間にあるdelay(1000)は括弧内のミリ秒分待ってから次の処理に進む命令みたいです。

ループの流れとしては
13番ピンON→1秒待機→13番ピンOFF→1秒待機
を1サイクルとしてループし続けるスケッチになっています。
 
Blinkを実際にArduinoに書き込んで試してみました。
回路は13番ピンからLED→抵抗→GNDに繋ぎます。
 ちゃんと1秒毎に光ったり消えたりしました。
delayの数字を変えれば点滅が早くなったり遅くなったり
1秒光らせて3秒消したりも簡単に出来ます。
 
余談ですが13番ピンは特別?でGNDピンのすぐ下にあるLって書いてあるLEDと
繋がっているので何も繋げなくてもON/OFFの動きがわかります。
 
今日の実験はあっさりと成功!

次回は複数のLEDを繋げて順番に光らせたりランダムで光らせたりしてみたいと思います。

0 件のコメント:

コメントを投稿