下手の横好きのスクラップブック!!

下手の横好きの、いろいろな記録です。
電子工作・PIC・Arduino・太陽光発電・写真などetc

Arduino スイッチでLEDを点滅

2010-11-22 | Arduino

初体験はボードのチェックを兼ねたLEDが点滅するスケッチでしたが、
さらに一歩進めてスイッチの入り切りでLEDを点滅する配線とスケッチに進みます。
配線は別図の通りで、スイッチ回路が増設になりピン7に接続されます。
スイッチがONの時ピン7はHIGHに、スイッチがOFFの時はLOWになります。
これをdigitalRead()の命令で読み取ります。
digitalRead()はカッコの中で指定したピンに電圧がかかっているかどうかをチェックし
結果をHIGHかLOWで返します。
その値を if文で判断しdigitalWrite()でLEDをオン/オフします。

接続図

スケッチは次のようになります。

//スイッチによりLEDを点滅させる

#define LED 13 //ピン13にLED
#define SW 7  //ピン7にスイッチ

int val = 0; //SWの状態を記録する変数

void setup() {               
 
  pinMode(LED, OUTPUT); //ピン7を出力に設定
  pinMode(SW, INPUT); //ピン7を入力に 
}

void loop() {
  val = digitalRead(SW);//スイッチの状態をvalに読み込む
 
  if (val == HIGH) {  //スイッチの状態がONならば
   
  digitalWrite(LED, HIGH);   //LEDを点灯する
  }else {                   //スイッチがOFFならば
  digitalWrite(LED, LOW);    //LEDを消灯する
  }
}

スイッチの代わりに光センサ(cdsセル)を入れて、スケッチの
LEDがON/OFFする部分を次の通り書き換えると、暗くなるとLEDが
点灯し明るくなると消灯します。
csdセルは周囲が暗いと抵抗値は高くなりスイッチとしてはOFFの状態、
周囲が明るくなると抵抗値は下がりスイッチとしてはONの状態になります。

digitalWrite(LED, LOW);   //LEDを消灯する
  }else {                   //スイッチがOFFならば
  digitalWrite(LED, HIGH);    //LEDを点灯する

明るい状態(LED消灯)           暗い状態(LED点灯)黒いテープでcdsを覆っている

 

 

コメント (4)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Arduino(アルドゥイーノ)の... | トップ | Arduino 14個のLEDを連... »
最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
Unknown (こんにちは)
2014-10-24 22:11:55
こんにちは。
ブログ楽しく拝見させていただいています。

上記のつなぎ方を試してみたのですが、どうしてもCDSセンサではうまくいきません。
通常、CDSセンサはanalogピンに接続して使用するものだと思っていたのですが、どうやったらdigitalピンに接続して使えるでしょうか?
返信する
Unknown (こんにちは)
2014-10-24 22:20:25
解決いたしました!
CDSにレーザーを照射してみたところ、LEDに変化がみられました!
おそらく抵抗値の変化が少なかったのが原因と思われます。
返信する
Unknown (Unknown)
2014-10-25 22:45:27
こちらの記事と近い内容で使えそうな内容がswitch-scienceにありましたので、カキコミさせていただきます。

★意外と知られていない?INPUT_PULLUP
URL:http://mag.switch-science.com/2013/05/23/input_pullup/
返信する
あえりがとうございます。 (下手の横好き)
2014-10-26 08:34:22
投稿いただきありがとうございます。
返信する

コメントを投稿

Arduino」カテゴリの最新記事