「Arduinoって面白そうだけど、電子工作って難しそう…」そんなイメージを持っている方、多いんじゃないでしょうか。😊
でも実は、Arduinoは初心者にとって最高の入り口なんです。LEDをピカピカ光らせるだけでも、「自分でプログラムしたものが現実の世界で動く!」という感動があります。その体験、一度味わったらやみつきになりますよ。
今回は、Arduinoの基本からLEDの点滅、そして光センサーを使った少し発展的な回路まで、ステップごとに丁寧に解説していきます。ぜひ一緒に手を動かしながら読んでみてください!
🔧 この記事の対象読者・難易度

- ✅ Arduinoを買ったけど何から始めればいいかわからない方
- ✅ プログラミングは少しかじったことがある初心者の方
- ✅ 電子工作に興味はあるけど回路が怖い方
難易度:★☆☆☆☆(入門)
必要なものは後ほど紹介しますが、Arduinoボードと数点の部品があればOKです。
🤔 そもそもArduinoってなに?
Arduinoとは、マイコン(小さなコンピュータ)が搭載された電子基板です。
イメージとしては「超小型のコンピュータ」で、センサーからデータを受け取ったり、LEDを光らせたり、モーターを動かしたりといった「現実世界との橋渡し役」をしてくれるものです。
特徴をざっくりまとめるとこんな感じです。
- 🟢 専用の開発環境(Arduino IDE)が無料で使える
- 🟢 C言語に近いシンプルな言語で書ける
- 🟢 部品が安く、入手しやすい
- 🟢 世界中に情報がたくさんある
「難しそう」を「できそう」に変えてくれる、そんな魔法のボードなんですよね。✨
📦 用意するもの
- Arduino Uno(またはArduino互換ボード)
- LED(赤・緑・青など好みで)
- 抵抗(220Ω〜330Ω程度)
- 光センサー(フォトレジスタ / CdSセル)
- 抵抗(10kΩ)
- ジャンパーワイヤー(数本)
- ブレッドボード
- USBケーブル(Type-B)
- PC(Arduino IDEをインストール済み)
初めての方は、これらがセットになった「Arduinoスターターキット」を探してみるのがおすすめです。バラバラで揃えるより手軽ですよ。
💡 STEP 1:LEDをチカチカさせてみよう(Lチカ)
電子工作の「Hello, World!」といえば、Lチカ(LEDを点滅させること)です。まずはここから始めましょう。
回路のつなぎ方
- LEDの長い足(アノード側)を220Ωの抵抗を通してArduinoのデジタルピン13番に接続
- LEDの短い足(カソード側)をArduinoのGND(グランド)に接続
⚠️ 抵抗を必ず入れてください。抵抗なしだと電流が流れすぎてLEDが壊れてしまいます。「電流の見張り役」だと思っておきましょう。
スケッチ(プログラム)を書こう
Arduino IDEを開いて、以下のコードを入力してみてください。
// Lチカ:LEDを1秒おきに点滅させるプログラム
void setup() {
// 13番ピンを「出力モード」に設定する
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // LEDを点灯
delay(1000); // 1000ミリ秒(1秒)待つ
digitalWrite(13, LOW); // LEDを消灯
delay(1000); // 1秒待つ
}
ポイントをまとめるとこんな感じです 👇
setup():電源が入ったとき最初に1回だけ実行される初期設定の場所loop():繰り返し実行されるメイン処理の場所digitalWrite(13, HIGH):13番ピンに電気を流す(LEDが光る)delay(1000):1000ミリ秒=1秒待機する
コードを書いたら、矢印ボタン(→)でArduinoに書き込みしてみましょう。LEDがチカチカ光れば大成功です!🎉
🌟 STEP 2:明るさを変えてみよう(PWM制御)
点滅するだけじゃ物足りなくなってきましたか?😄 次はLEDの明るさをなめらかに変化させる方法を試してみましょう。
これを実現するのがPWM(パルス幅変調)という仕組みです。難しい言葉ですが、イメージとしては「電気をものすごく速くON/OFFを繰り返すことで、明るさを調整している」感じです。
ArduinoのPWM対応ピンは「~(チルダ)マーク」がついているピンです(3、5、6、9、10、11番)。LEDを9番ピンに差し替えて試してみましょう。
// フェード:LEDをゆっくり明るくして、またゆっくり暗くするプログラム
int ledPin = 9; // PWM対応のピン9番を使用
int brightness = 0; // 明るさの初期値(0〜255)
int fadeAmount = 5; // 1ステップで変化させる量
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// 現在の明るさでLEDを点灯
analogWrite(ledPin, brightness);
// 明るさを変化させる
brightness = brightness + fadeAmount;
// 最大値(255)か最小値(0)に達したら方向を反転
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(30); // 30ミリ秒待って次のステップへ
}
ここが重要です ✅
analogWrite(ピン番号, 値)の値は0〜255で指定する- 0が消灯、255が最大輝度
fadeAmountの符号を反転することで「増減の方向を切り替え」ている
実行すると、LEDがじわっと光って、じわっと消える……その繰り返しになります。なんかちょっと幻想的でいいですよね。😊
🔆 STEP 3:光センサーでLEDを自動制御しよう
いよいよセンサーとの組み合わせです!光センサー(フォトレジスタ)を使って、「暗くなったら自動でLEDが光る」回路を作ってみましょう。
光センサーの仕組み
フォトレジスタは、光の量によって電気抵抗が変化する部品です。明るいと抵抗が小さくなり、暗いと抵抗が大きくなります。つまり「光の量を電気信号に変えてくれる」センサーです。
回路のつなぎ方
- フォトレジスタの片方の足を5Vピンに接続
- もう一方の足をアナログピンA0と、10kΩ抵抗を通してGNDに接続(分圧回路)
- LEDは先ほどと同様、220Ω抵抗を通してデジタルピン9番に接続
// 光センサー連動:暗くなったらLEDが自動で光るプログラム
int sensorPin = A0; // 光センサーを接続するアナログピン
int ledPin = 9; // LEDを接続するデジタルピン
int sensorValue = 0; // センサーの読み取り値を入れる変数
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // シリアルモニタでセンサーの値を確認する
}
void loop() {
// センサーの値を読み取る(0〜1023の範囲)
sensorValue = analogRead(sensorPin);
// シリアルモニタに値を出力(動作確認に便利!)
Serial.print("センサー値: ");
Serial.println(sensorValue);
// 暗い(センサー値が低い)ときにLEDを点灯
if (sensorValue < 400) {
digitalWrite(ledPin, HIGH); // 暗い → LED点灯
} else {
digitalWrite(ledPin, LOW); // 明るい → LED消灯
}
delay(100); // 0.1秒おきに値を更新
}
ポイントをまとめるとこんな感じです 👇
analogRead(A0)はセンサーの値を0〜1023の整数で読み取る- しきい値(ここでは400)はセンサーや環境によって調整が必要です
- シリアルモニタ(Arduino IDEの右上の虫眼鏡アイコン)を開くと、センサー値をリアルタイムで確認できます
- センサー値を見ながら「400」の数値を自分の環境に合わせて調整してみましょう
センサーの前に手をかざすと……LEDが光りましたか?これ、地味にめちゃくちゃ感動しますよ。🎉
🛠️ うまく動かないときのチェックリスト
「動かない!」となっても焦らないでください。電子工作でのトラブルはよくあることです。以下を確認してみましょう。
- ☑️ LEDの向き(アノード・カソード)は正しいか
- ☑️ 抵抗は正しい値のものを使っているか
- ☑️ ジャンパーワイヤーはしっかり差さっているか
- ☑️ Arduino IDEでポートの選択は正しいか(ツール → シリアルポート)
- ☑️ 書き込みは成功しているか(「書き込みが完了しました」と表示されているか)
シリアルモニタで値を出力する習慣をつけておくと、センサー系のトラブルはぐっと見つけやすくなります。ぜひ活用してみてください。
📝 まとめ
今回は、Arduinoを使った電子工作の入門としてLチカ・PWMフェード・光センサー制御の3つを紹介しました。
「センサーの値を読んでLEDを制御する」という流れがざっくりつかめたはずです。この基本パターン、実はArduino電子工作のほぼすべての応用に使えるとても大事な考え方です。
まずは手を動かして、LEDをひとつ光らせてみることから始めてみてください。その小さな一歩が、IoTや自作ガジェット制作への大きな扉を開いてくれますよ。💪
次回は温度センサーや距離センサーを使った応用編にも挑戦していきましょう!引き続き一緒に学んでいきましょう。😊
📡 Arduinoをもっと深く学ぼう!
Arduino・ラズパイ・ロボットプログラミングを体系的に学びたい方へ。おすすめのUdemyコースや電子部品もまとめています。





