Lチカ — LED を点滅させる電子工作の「Hello, World」。配線とコードを ESP32-S3・Raspberry Pi 5 それぞれで
L チカ(LED チカチカ)は、マイコンで LED を点滅させる最初の一歩。配線・抵抗の計算・GPIO 出力・プログラムのループが一度に登場するので、ここが動けば基礎はつながっています。
- ESP32-S3
- Raspberry Pi 5 8GB
CONTENTSこの記事の目次+
01 — PARTS
用意するもの
- ESP32-S3 か Raspberry Pi 5(どちらでも同じ配線)
- LED 1 個(赤がいちばん扱いやすい)
- 抵抗 220Ω 1 本(赤 赤 茶 金)
- ブレッドボードとジャンパワイヤ
02 — WIRING
配線
Lチカの基本配線。GPIOピン → 電流制限抵抗(220Ω) → LEDのアノード(長い足) → カソード(短い足) → GNDの順に接続します。
| ボード | 使うピン | GND |
|---|---|---|
| ESP32-S3 DevKit | GPIO4 | GND ピン |
| Raspberry Pi 5 | GPIO17(物理 11 番) | 物理 9 番 |
ブレッドボードでは、抵抗と LED が「同じ 5 穴の組」に挿さらないように、それぞれ別の行に足を置きます。
03 — ESP32-S3
ESP32-S3(Arduino IDE)
ESP32-S3 は Arduino IDE(C++)でも MicroPython でも動きます。Arduino IDE では「ボードマネージャ」で esp32 を追加し、ボードに「ESP32S3 Dev Module」を選びます。
const int LED_PIN = 4; // GPIO4
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}書き込めないときは、BOOT ボタンを押しながら RESET を押して書き込みモードにしてから再試行します。USB-C が 2 口あるボードは「UART」と書かれた方を使う方が確実です。
MicroPython を入れてある場合は、同じ配線でこう書きます。led.value(1) が HIGH、led.value(0) が LOW です。
from machine import Pin
import time
led = Pin(4, Pin.OUT) # GPIO4
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)04 — PI 5
Raspberry Pi 5(gpiozero)
from gpiozero import LED
from time import sleep
led = LED(17) # GPIO17 = 物理 11 番
while True:
led.toggle()
sleep(0.5)ターミナルで python3 blink.py。Ctrl+C で止めます。
05 — TROUBLESHOOT
光らないとき
- 01
LED の向きを逆にしてみる(いちばん多い原因)
- 02
抵抗と LED が同じ 5 穴の組に挿さっていないか確認する(ブレッドボードの内部配線)
- 03
GND がボードの GND ピンに本当につながっているか確認する
- 04
コードのピン番号と、実際に挿したピンが一致しているか(Pi 5 は BCM 番号と物理ピン番号が別)
- 05
テスターで GPIO ピンの電圧を測る。3.3V / 0V が交互に出ていればコードは正しく、配線側の問題
06 — WATCH OUT
注意点
「一瞬なら大丈夫」ではありません。LED か GPIO のどちらかが傷みます。
sleep を 0.01 秒以下にすると目には点滅として見えず、暗く光って見えます。これがそのまま PWM の原理です。
07 — CHECK YOURSELF
理解チェック
Q1点滅の間隔を 0.1 秒にするには?答えを見る
sleep(0.5) を sleep(0.1) に変える(2 か所)。
Q2LED が「常に点灯」で点滅しない。考えられる原因は?答えを見る
ループが回っていない(保存せず古いコードが動いている)、または sleep が短すぎて点滅が見えていない。
