#2初級

2個のLEDを点灯

4.6(104)
338 完了
2個のLEDを点灯
2個のLEDが素早く交互に点滅します。一方が点くともう一方が消え、まるでボールを投げ合っているようです。ArduinoがそれぞれのLEDを5分の1秒ずつ点灯させ、次のLEDに切り替えます。1個のLEDの次に、複数の光をまとめて制御する方法を学ぶのに最適なステップです。

動画

回路図

2個のLEDを点灯 - Circuit

ソースコード

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Two LEDs Blinking Alternately
4// ─────────────────────────────────────────
5// Lights two LEDs in turn every 200 ms (flip-flop effect). Shows how to
6// control more than one output pin.
7//
8// Pins:
9//   D8 -> LED 1 (with a 220 ohm resistor)
10//   D9 -> LED 2 (with a 220 ohm resistor)
11
12void setup() {
13  pinMode(8,OUTPUT);     // LED 1 output
14  pinMode(9,OUTPUT);     // LED 2 output
15}
16
17void loop() {
18  // LED 1 on, LED 2 off
19  digitalWrite(8,HIGH);
20  digitalWrite(9,LOW);
21  delay(200);
22  // Swap: LED 1 off, LED 2 on
23  digitalWrite(8,LOW);
24  digitalWrite(9,HIGH);
25  delay(200);
26}
27

よくある質問

2個のLEDに1個の抵抗を共用できますか?▾

いいえ、LEDごとに抵抗が必要です。1個の抵抗を共用すると電流が均等に分かれず、一方が明るくなったり、まったく点灯しなかったりします。このプロジェクトでは、各LEDに220 Ωの抵抗を1個ずつ使います。

フリップフロップのような動きはどう作りますか?▾

一方のLEDをHIGHにするとき、もう一方をLOWにします。少し待ってから状態を入れ替えることで、2個のLEDが交互に点灯します。2本のピンに同時に反対の値を書き込むことが、この動きの基本です。

どのピンが使えますか?▾

Unoでは、2〜13のデジタルピンすべてでLEDを駆動できます。ピン0と1はUSBシリアル通信に使うため、空けておくことをおすすめします。ピンを変えたら、コード内のピン番号も更新してください。

LEDがとても暗いのはなぜですか?▾

よくある原因は、`pinMode(pin, OUTPUT)`の行の書き忘れです。ピンを出力に設定していないと、LEDは薄暗く点灯します。また、抵抗値が大きすぎる場合(例:10 kΩ)も暗くなるので、220–330 Ωを使ってください。