ElecLab
公開中電気回路を、配線パズルとして遊ぶ
- パズルゲーム
- 電気回路
- React
短縮パス takushio2525.com/eleclab

どんなもの
電池・LED・抵抗・スイッチなどを盤面に置き、端子どうしを線でつないで目標を満たす回路のパズルだ。「実行!」で回路を実際に計算し、LED が光ったか、焼けていないか、ショートしていないかで結果が決まる。数式は見せず、遊びながら閉回路や電流の制限を覚えられる。
第 1 章「はじめての回路」から第 11 章「電源をつくる」まで 62 ステージあり、並列と直列・スイッチ・電圧の測り方・コンデンサ・モーター・トランジスタと FET・PWM・ロジック IC・アナログ IC・電源を順に扱う。PC でもスマホでも、インストールもログインもなしで遊べ、Google でログインすれば別の端末で続きから遊べる。
回路のしくみ(章ごとの解説)
このページには ElecLab を作り直した経緯と判断を書いた。各章で扱う電気の話は、ElecLab の中の「回路のしくみ」に図と計算つきでまとめてある(いまは第 1〜5 章)。ステージの答えは書いていない。
- LED が光る回路のしくみ
閉回路と LED の向き、LED に抵抗が要る理由と、オームの法則での抵抗の値の決め方(第 1 章)。
- 直列と並列の違い
直列と並列で電流と電圧がどう変わるか、合成抵抗と電力の計算(第 2 章)。
- スイッチの回路
スイッチを直列にすると AND、並列にすると OR になる理由と、プッシュボタン・3 路スイッチ(第 3 章)。
- 分圧回路とプルアップ・プルダウン
分圧の式と電圧計のつなぎ方、マイコンの入力ピンが不定になる理由とプルアップ・プルダウン抵抗の選び方(第 4 章)。
- コンデンサの充電と放電
充電の曲線と時定数 τ = RC、LED を遅れて点ける回路、電解コンデンサの向き(第 5 章)。
なぜ作ったか
回路はなかなか覚えにくいので、ゲームの形で簡単に覚えられるようにして、組み込みや電子工作へのハードルを下げたかった。遊んでほしいのは初心者だ。
構想の一行は「電気回路を、配線パズルとして遊ぶ」。教えるより遊ぶことを先に置き、数式は画面に出さず、裏では本物の回路の計算を解く。もとは Unity で作っていたパズルで、その企画と、紙に鉛筆で描いたような見た目を引き継いでいる。
遊び方とクリアの条件、回路を解く計算(修正節点解析と LED の区分線形のモデル)の作りは紹介の記事に書いた。このページでは、作り直してからの判断の順番を書く。
作り方の判断と経緯
止まっていた設計から、1 日で第 1 章まで
リポジトリの最初のコミットは 2026 年 5 月 15 日で、Web 版として出し直すための設計を置いたところで止まっていた。9 月 24 日に、企画はそのままに一から作り直すと決め、Vite・React・TypeScript の静的なサイトとして書き、その日のうちに第 1 章を公開した。最初に置いていた Next.js のひな形は残していない。
公開してすぐ、操作と判定を変えた
公開した 9 月 24 日から翌日にかけて、操作と判定について 3 つの注文を Issue にした。
1 つ目は配線のしかたで、始点と終点を決めると自動で直角に曲がる作りをやめ、KiCad のように曲がる場所を自分で置き、直角の見込みを見ながら引き、線の途中から T 字に分かれられるようにした。2 つ目はクリアの判定で、「実行!」でスイッチの全通りを自動で解いて即座に判定するのをやめ、まず電気を流し、自分でスイッチを操作して見た状態からチェックリストを埋め、すべてそろったらクリアにした。操作する部品が無いステージは、流した直後の状態で目標を満たしていればすぐクリアになる。3 つ目は、順にクリアしないと次へ進めないロックを外し、どのステージからでも遊べるようにしたことだ。クリア済みの印は残している。
章を足すたびに版を上げる
その後は、章を足すたびに版を上げている。第 2 章「並列と直列」と第 3 章「スイッチと条件」が 9 月 25 日、第 5 章「コンデンサ」が 27 日、第 6 章「モーター」が 28 日で、10 月 10 日の第 11 章「電源をつくる」で v1.14.0 になった。章ごとに、ステージの設計書へテストで確かめる期待値まで先に書いてから実装する。
章が進むと、素子のモデルも広がる。LED は「消えている / 点いている」の 2 つの状態を入れ替えて解いていたが、モーターの章からは 3 つ以上の状態を探す形に広げ、電源の章のレギュレーターは 4 つの状態を持つ。
検索から来た人の入口を作る
9 月 29 日に、検索から来た人の入口として、章ごとの電気の話を図と計算で説明する「回路のしくみ」を足し、構造化データも付けた。
数字で見る今
ElecLab のリポジトリは公開していないので、2026 年 10 月 13 日に数えた数字だけを載せる。
| 項目 | 値 |
|---|---|
| 開発した期間 | 2026 年 5 月 15 日〜10 月 12 日(作り直してからは 9 月 24 日から) |
| コミット(main) | 80。うち作り直す前が 6、Claude との共著が 78 |
| Issue | 44 件。閉じたものは 33 件 |
| プルリクエスト | 69 件。マージしたものは 62 件 |
| 版 | v1.0.0 から v1.14.1 まで 20 回 |
| 章とステージ | 11 章・62 ステージ(日本語と英語) |
| 回路のしくみ | 第 1〜5 章の 5 本 |
これから
次は第 12 章「電池を充電する」で、リチウムイオン電池の定電流・定電圧の充電と保護の回路を扱う。第 11 章のレギュレーターの状態の持ち方を広げて作っている。「回路のしくみ」には第 6 章「モーター」を足す。
ステージのページは 1 ステージ 1 ページで、検索から見ると、中身がほとんど操作の画面だけのページが 124 本並ぶ形になっていた。そこで 10 月 12 日の v1.14.1 で、ステージのページは検索に出さず sitemap からも外し、検索に出すのはトップとステージの一覧と「回路のしくみ」などに絞った。盤面の操作の残り(範囲選択・コピー・反転など)、ステージを作って共有する機能と音、遊んでいる途中の保存は開いたままだ。
関連リンク
- ステージ一覧 … 11 章・62 ステージ
- ElecLab のプライバシーポリシー … 進み具合をどこに保存するか
使った技術
- 言語
- TypeScript
- UI・描画
- React
- SVG
- ビルド
- Vite
- ビルド時の事前描画
- 回路の計算
- 修正節点解析(MNA)
- LU 分解
- LED の区分線形モデル
- テスト
- Vitest
- Playwright(PC / スマホ)
- 進み具合の保存
- localStorage
- Cloudflare D1(Google でログインしたとき)
- 配信
- Cloudflare Pages
開発の記録
リポジトリのコミット履歴から出した数字です(2026 年 10 月 13 日時点)。
- 開発期間
- 2026 年 5 月 〜 2026 年 10 月
- コミット数
- 80
※ リポジトリは非公開。5〜6 月の 6 コミットは、作り直す前に設計だけ置いた頃のもの
ElecLab について書いた記事
- ElecLab の紹介:LED を光らせる配線パズルと、本物の回路計算で判定する作り
電池・LED・抵抗・スイッチを線でつなぎ、「実行!」で本物の回路計算にかけて LED が光るかを確かめるブラウザの回路パズル「ElecLab」の紹介。遊び方と 11 の章の中身、修正節点解析(MNA)で回路を解いている作りをまとめた。
ほかのもの
ミニゲ!
4 桁のコードで集まって、その場でみんなで遊ぶ
GitHubをはじめよう
スクロールするだけで、GitHub の手順が動いて見える