arduino スイッチでLEDを光らせてみる

とりあえずははじめようキットに入っていたもので簡単な回路を組んでみましょう.
今回はスイッチを押すとledが光るという単純なものを作ります.


回路の方から解説します.(写真判りづらっ!)

aruduinoの5Vのピンとブレッドボードの+のラインをジャンパワイヤで繋ぎ,GNDのピンと−のラインも同様に繋ぎます.

次に2ピンとledをジャンパで繋げます.
ledの+側(端子が長いほう)をジャンパ側に差込み,−側は抵抗を介して−のラインに差込みます.(抵抗もキットに付属しています)

次にスイッチを作ります.
まずスイッチをブレッドボードに差込む.(スイッチの向きに注意!! 端子が出ているほうが下です!)
スイッチの左下の端子と+のラインを繋ぎ,右下の端子は抵抗を介して−のラインに繋ぎます.(この時抵抗を介しないとarduinoが起動しなくなります)
そして右上の端子はジャンパで3ピンに繋げます.
これで回路は完成です.




次にスイッチを押すとLEDが光るプログラムを作ります.

int LED=2;
int BUTTON=3;

void setup(){
  pinMode(LED,OUTPUT);
  pinMode(BUTTON,INPUT);
}

void loop(){
  if(digitalRead(BUTTON)==HIGH){
    digitalWrite(LED,HIGH);
    }else{
      digitalWrite(LED,LOW);
    }
}

1,2行目ではプログラムを分かりやすくするためにLED,BUTTONという変数にピンの値を代入しています.


4行目からの void setup() という関数では初期化処理を行います.
今回は使用するピンのoutput,inputの定義を行っています.
ここは先程の変数を使用せずに,

void setup(){
  pinMode(2,OUTPUT);
  pinMode(3,INPUT);
}

と直接ピンの位置を指定することも可能です.
void setup()関数はarduinoを起動した時に一回だけ行われます.


9行目からの void loop() という関数では繰り返し処理を行います.
まず10行目のif文でスイッチからの入力が HIGH であればLEDへの出力を HIGH にします.
それ以外の状態ではLEDの出力を LOW にしています.
この処理によってスイッチを押すとLEDが光り,押されていないとLEDが消えている状態を実現できます.
スイッチのHIGHとLOWの定義は以下のようになっています.

スイッチを押す:通電して5Vが流れるので HIGH
スイッチを押さない:電圧は流れていない(0V)ので LOW

void loop()関数はarduinoを起動している間ずっとループして行われます.


これで回路,プログラム共に完成したので次にプログラムをarduinoに書き込む作業を行います.

まずarduino softwareの左上にある再生ボタンのようなものをクリックしてコンパイルをします.
エラーが出なかったら,右から2番目のUploadをクリックするとarduinoへの書き込み作業が行われます.
ここでもエラーが出なかったら書き込みは成功!
あとはスイッチを押すと...

光った! やったね!