大好きArduino

Arduino総合情報サイト

Arduinoプログラミング基礎

5.Lチカで電気を知る(LEDの接続とプログラミング)

2016/08/18

LEDの極性を知る

手元にLEDを取り光にかざしてみてください。
中に金属板が見えると思いますが、この金属板の広いほうをマイナス側、狭いほうがプラス側に接続し、電圧を与えることでLEDは光ります。
おおよそのLEDは5Vでの制御となりますから、ArduinoのピンからのHIGH/LOWでコントロールできます。
LEDの極性

Arduinoに接続する

最も簡単な方法はこのままArduinoのピンヘッダーに刺してしまう方法です。
実際には電流を取りすぎてしまうため、本当の回路では抵抗を付けて電流制限を行いますが、今はとりあえずそのまま刺してしまいましょう。
下の図では、左側のマイナス側をGNDピンへ、右側のプラス側を10番ピンへ刺しています。

arduinoLED

早速プログラミング

この絵から、原理的に考えると、10番ピンにプラス側を指していますから、ここに5V(HIGH)を出力してあげればこのLEDは点灯することになります。
また逆に消す場合には、ここに(10番ピン)0V(LOW)を出力すれば消灯(点かない)ことになります。
早速プログラミングをしてみます。

 
#define pin  10  //LEDの接続ピン番号
void setup(){
    pinMode(pin,OUTPUT) ;  //10番ピンを出力にセット
}
void loop(){
    digitalWrite(pin,HIGH) ;  //5Vが出力されて点灯
    delay(500) ;              //500m秒まつ
    digitalWrite(pin,LOW) ;   //0Vが出力されて消灯
    delay(500) ;              //500m秒まつ</pre>
<pre>} 

とたったのこれだけで、LEDは500m秒ごとに点滅を繰り返します。
繰り返すのは、loop関数がずっとループするからですね。

ちょっとだけ専門的なお話を....

今回は実験のためにプラス側を10番ピンに接続してHIGHを出力することで点灯させました。
これは、業界では、HIGHを出力したときにアクティブとなるため、”アクティブHIGH”と呼びます。
また、この反対、LOWを出力したときにアクティブとなる”アクティブLOW”ということも当然あります。

その場合の接続は、10番ピンにマイナス側を刺し、LEDのプラス側を10番ピンと反対側にある5Vのピンに刺します。
※この場合足が短くて届かないと思いますが、こういったときにブレッドボードを利用します。

この接続をした場合、digitalWrite(pin,LOW) を行ったときに10番ピンが0Vになるためにプラス側からマイナス側へ電気が流れて点灯することになります。
※電子回路の世界では、このアクティブLOWで制御することが一般的ですので実際にはこれを利用します。
arduinoLEDブレッドボード

 

電気的な流れを少し図解してみました。

 

hikaru gyaku

hikaru

-Arduinoプログラミング基礎