回路図の読み方:記号、接続点、ブレッドボードへの配線
回路図の読み方を解説します。抵抗、ダイオード、トランジスタ、VCC、GNDの記号、接続と交差の見分け方、ネット名、モジュールの回路図、ブレッドボードへの配線まで。
回路図はどう読めばいいのでしょうか?短く答えると、回路図は部品の見た目ではなく、どのピンがどのピンと電気的につながっているかを標準の記号で示した地図です。読むときは、まず記号を見分け、次に各線を接続としてたどり、接続点の黒丸と単なる交差を区別し、R1や220といったラベルと値を読み、最後にVCCとGNDの記号が回路のどこに電源を供給しているかを確かめます。この5つのスキルがあれば、LED1個の回路からArduino自体の回路図まで、どんな図面も理解できます。
このガイドでは、よく見かける記号を1つの表にまとめ、ダイオードとトランジスタの記号の向きの読み方、交差する線と接続された線の違い、ネット名による見えない接続、市販モジュールの回路図で確認すべき点を説明します。そのうえで、実際のボタン、LED、ブザーの回路図を接続リスト(ネットリスト)に変換し、ステップごとにブレッドボードへ移し、完成した回路をArduino、ESP32、Raspberry Pi Picoでテストするコードを紹介します。最後のセクションでは、Fritzingのブレッドボード表示と本物の回路図の違い、そしてよくある読み間違いを取り上げます。

回路図とは?何のために使うのか
回路図(スケマティック)は、電子回路の電気的な構造を示す図です。部品は実際の大きさや位置ではなく記号で描かれ、部品どうしを結ぶ線も実際の配線経路ではなく、両端が電気的に同じ点であることだけを表します。そのため、回路図で隣どうしに描かれた2本の抵抗が基板上では離れていることもあれば、回路図の長い線がブレッドボードではたった1列の穴になることもあります。ここに回路図の強みがあります。回路の動作、電流の流れる経路、故障したときにどこを見ればよいかが一目でわかるのです。
きれいに描かれた回路図には、いくつか共通の習慣があります。信号はふつう左から右へ流れ(入力が左、出力が右)、高い電圧が上、GNDが下に置かれます。各部品の横にはラベル(R1、C2、Q1)と値(220、100n、BC547)が書かれます。ICやモジュールは、ピン番号とピン名を書いた四角形で描かれます。回路図で目にする基本要素を次の表にまとめました。
| 回路図の要素 | 見た目 | 意味 |
|---|---|---|
| 記号 | 部品ごとの図形(四角形、三角形、平行線) | 部品の種類とピンの向き |
| 配線(線) | 直線 | 両端が電気的に同じ点であること。実際の配線経路ではない |
| 接続点 | 塗りつぶした黒丸 | 3本以上の線が合流する点 |
| ラベル(部品番号) | R1、C2、D1、Q1、U1 | 部品の種類と通し番号。基板にも同じ文字が印刷されている |
| 値 | 220、4k7、100n、BC547 | 抵抗値、容量、または部品の型番 |
| ネット名 | 線に書かれた名前:SDA、LED、BTN | 同じ名前のついた線はすべて互いにつながっている |
| 電源記号 | VCC、+5V、3V3、GND | 電源とグラウンド。同じ名前の記号は線がなくてもつながっている |
| ピン番号 | ピンの横の小さな数字 | ICやコネクターの何番の物理ピンか |
よく使われる回路図記号
記号の描き方には大きく2つの流儀があります。ヨーロッパをはじめ世界の多くの地域で使われるIEC 60617と、アメリカのANSI/IEEE 315です。いちばん有名な違いは抵抗で、IECの回路図では中が空の四角形、ANSIの回路図ではギザギザの線で描かれます。どちらも同じ部品を意味し、ネット上のArduinoの回路図には両方が出てくるので、両方を見分けられる必要があります(日本のJIS C 0617はIEC方式ですが、ギザギザの抵抗記号も今なおよく見かけます)。最初のプロジェクトで出会う記号は、次の表でほぼすべてカバーできます。
| 部品 | 文字記号 | 回路図記号 | 読むときの注意点 |
|---|---|---|---|
| 抵抗 | R | 四角形(IEC)またはギザギザの線(ANSI) | 極性なし。値の単位はオーム(220、4k7) |
| ポテンショメーター/半固定抵抗(トリマー) | RV、VR、またはP | 抵抗記号の中央に矢印が触れている | 矢印が中央のピン(ワイパー)で、両側のピンは固定端 |
| コンデンサ(無極性) | C | 同じ長さの2本の平行線 | セラミックコンデンサやフィルムコンデンサ。極性なし |
| 電解コンデンサ | C | 片方が直線、もう片方が曲線か塗りつぶしの2枚の極板と+記号 | +側の極板をプラスにつなぐ。逆にすると発熱して膨らむ |
| ダイオード | D | 先端に棒がついた三角形 | 棒がカソード。本体の帯と対応する |
| LED | LEDまたはD | 外向きの矢印が2本ついたダイオード記号 | 三角形はアノード(長い足)からカソードの方向を指す |
| ツェナーダイオード | DまたはZD | カソードの棒の両端が折れ曲がったダイオード記号 | 逆向きに接続し、決まった電圧で導通する |
| NPNトランジスタ | Q | 円の中にベースの線、エミッタに外向きの矢印 | 矢印がエミッタの目印。エミッタはふつうGNDへ |
| PNPトランジスタ | Q | 同じ記号で、矢印が内向き | エミッタはふつうプラス電源へ |
| NチャネルMOSFET | Q | ゲート(G)の線がチャネルから離れ、本体に内向きの矢印 | G、D、Sのピン。矢印の向きでチャネルの種類がわかる |
| 押しボタン(モーメンタリスイッチ) | SWまたはS | 2つの接点の上に浮いた橋 | 押している間だけ両端をつなぐ |
| スイッチ(オン・オフ) | SWまたはS | 片側を支点に開いた斜めの線 | 切り替えた状態を保つ。SPDTタイプは端子が3つ |
| 電池/直流電源 | BTまたはB | 長い線と短い線の平行線 | 長い線がプラス(+)端子 |
| リレー | K | コイルの四角形と、破線で結ばれた接点 | コイルと接点が回路図上の別々の場所に描かれることがある |
| ブザー | BZ | +端子のついた半円形またはベル形の記号 | アクティブブザーには極性がある |
| IC/モジュール | UまたはIC | 番号つきのピンを持つ四角形 | ピン番号は物理ピン、文字はその機能 |
ダイオード、LED、トランジスタの記号の向きを読む
ダイオードやLEDの記号の三角形は矢印だと考えてください。電流は三角形が指す方向に、アノードからカソードへ流れます。三角形の先端の棒がカソードで、実物のダイオードの本体にある帯に対応します。LEDでは、三角形から外向きに出ている2本の小さな矢印が光を表します。矢印が内向きなら、それはLEDではなく、フォトダイオードやフォトトランジスタのような光を感じる部品です。LEDの向きが正しいのに光がとても弱い、またはすぐに壊れる場合は、「LED用抵抗」ツールで直列抵抗を確認しましょう。
トランジスタの記号では、矢印は必ずエミッタについていて、電流の向き(慣例の電流方向)を示します。NPNでは矢印が外向きで、電流はコレクタからエミッタへ流れ、エミッタはふつうGNDにつなぎます。PNPでは矢印が内向きで、エミッタはプラス電源につなぎます。矢印のない斜めのリードがコレクタ、短く太い線に直角に接するリードがベースです。ここに重要な落とし穴があります。回路図のB、C、Eの文字は、実物のパッケージのピンの並びを教えてくれません。平らな面を手前に向けると、BC547の足は左からC、B、Eですが、2N2222AとS8050はE、B、Cです。そのため、回路図からブレッドボードへ移すときは、すべてのトランジスタのピン配置をデータシートか「トランジスタ」ツールで確認してください。詳しくは「トランジスタとは?」をご覧ください。
VCC、GNDと電源記号
すべての部品に電源線を1本ずつ描くと回路図がごちゃごちゃになるため、代わりに電源記号を使います。上向きの矢印や短い横棒の横にVCC、+5V、3V3と書いてあれば電源の供給点、下に行くほど短くなる3本の横線(下向きの三角形で描く図もあります)はGND、つまりグラウンドで基準点を表します。ルールを忘れないでください。同じ名前の電源記号はすべてつながっています。間に線がなくても同じです。回路図の右下にあるGNDは、左上のGNDと同じ点です。だからこそ、電源が別々のモジュールでも、GNDはすべてつなぐ必要があります。理由は「GNDと共通グラウンド」で詳しく説明しています。
電源の名前はトランジスタの端子から来ています。VCCはバイポーラトランジスタのコレクタ側の電源、VDDとVSSはCMOS回路のMOSFETのドレインとソースから来た名前です。実際には、VCCとVDDはプラス電源、VSSとVEEはGNDまたはマイナス電源を意味します。AGND(アナロググラウンド)とDGND(デジタルグラウンド)があれば、ノイズを分けるために別々に描かれたグラウンドですが、最終的にはふつう1点でつながります。モジュールのVCCピンに何ボルトを与えるかは、ラベルではなく、そのモジュールの回路図やデータシートに書かれています。
| 回路図のラベル | 意味 | Arduino Uno | ESP32 DevKit | Raspberry Pi Pico |
|---|---|---|---|---|
| VCC、+5V | 5 V電源 | 5Vピン | VIN/5Vピン(USBから) | VBUS(40番ピン、USBから) |
| 3V3、+3.3V、VDD | 3.3 V電源 | 3.3Vピン(最大50 mA) | 3V3ピン | 3V3(OUT)(36番ピン) |
| VIN、VSYS、VBAT | レギュレーターの手前の入力 | VIN(推奨7〜12 V) | VIN | VSYS(39番ピン、1.8〜5.5 V) |
| GND、VSS、0V | グラウンド、共通の基準 | GNDピン | GNDピン | GND(3、8、13、18、23、28、33、38番ピン) |
| ロジックレベル | ピンのHIGHの電圧 | 5 V | 3.3 V(5 V非対応) | 3.3 V(5 V非対応) |
交差する線と接続された線:黒丸のルール
回路図を読むとき、初心者がいちばん迷うのは2本の線が重なる場所です。ルールは単純ですが厳格です。交点に塗りつぶした黒丸があれば線はつながっていて、黒丸がなければ単に交差しているだけです。古い回路図では、つながっていない交差を、一方の線が小さな半円でもう一方を飛び越える形で描いていて、今でも一部の教科書で見かけます。KiCadやEasyEDAのような最近の作図ソフトは、ある線の端が別の線の途中に触れると、自動で黒丸を置きます。
- 黒丸のあるT字の接続:3本の線が1点で合流し、すべて同じネットにあります。いちばん安全で、いちばんよく使われる描き方です。
- 黒丸のない十字の交差:2本の線は触れずに重なっているだけで、互いの間に接続はありません。
- 黒丸のある十字の交差:4本の線すべてがつながっていますが、コピーや小さな画面では黒丸が見えなくなることがあるため、上手な設計者は位置をずらした2つのT字として描きます。
- 半円の飛び越し:古い描き方です。一方の線がもう一方を飛び越えていて、接続はありません。
- 線の端の×印:接続しないピン(NC、ノーコネクト)です。そのピンを空けておくのは意図的な選択です。
ラベル、値、ネット名
各部品の横にある部品番号(リファレンス記号)は、文字記号と通し番号でできています。R1、R2、C1、D1、Q1、U1のようにです。文字が種類を表し、Rは抵抗、Cはコンデンサ、Lはインダクタ、Dはダイオード、Qはトランジスタ、UはIC、Kはリレー、Fはヒューズ、SWはスイッチ、JまたはPはコネクター、Yは水晶振動子、BZはブザー、Mはモーターです。市販のボードではシルク印刷に同じラベルが印刷されているので、回路図のC5を基板上で見つけられます。値は略記で書かれます。4k7は4.7 kΩ、100nは100 nF、10uは10 µFで、文字が小数点の代わりになっています。カラーコードの帯から値を読む必要があるときは「抵抗のカラーコード」ツールを使いましょう。部品の種類ごとの詳しい説明は「基本的な電子部品」にあります。
回路図を読むときの本当のコツはネット名です。ネットとは、互いにつながったすべての端子が作る電気的な1つの点のことです。大きな回路図ではすべての接続を線で描くのは無理なので、設計者は線の端に名前を書きます。SDA、SCL、LED、TXなどです。同じ名前のついた2本の線は、間に線がなくてもつながっています。たとえばArduino Unoの公式の回路図では、USBシリアル変換チップのTXとRXの線が、この方法で名前によってメインプロセッサーにつながっています。ある名前がページの片隅にあり、その相手が反対の隅にあることもあります。それらを対応づけるまでは、回路図を本当に読めたとは言えません。
| 表記 | 意味 | 例 |
|---|---|---|
| 文字+数字 | 部品番号(リファレンス記号) | R3=3番目の抵抗、U2=2番目のIC |
| 4k7、2R2、1M | 抵抗値。文字が小数点の代わり | 4.7 kΩ、2.2 Ω、1 MΩ |
| 100n、104、10u/16V | コンデンサの容量と耐圧 | 100 nF。10 µF、最大16 V |
| 線に書かれた名前 | ネットラベル | すべてのSDAは互いにつながっている |
| 上線つきの名前、/RESET、RESET#、nRESET | アクティブLOWの信号 | ピンがLOWのときに機能が働く |
| D[0..7]、A0〜A3 | バス | 8本の線を1本の太い線で表す |
| ×印 | 接続しないピン(NC) | 空けておくICのピン |
| 破線の枠 | 機能ブロック、または市販モジュールの外形 | 「電源部」「センサーモジュール」 |
回路図をステップごとに読む方法
- 電源を見つける:電池、USB、VIN、ACアダプターの入力と、すべてのVCC、3V3、GNDの記号に印をつけます。回路が何ボルトで動くのかを最初に把握しておきましょう。
- 中心となる部品を特定する:Arduino、ESP32、Pico、ICは、ふつう回路図の中央にある大きな四角形です。ほかのすべてはその周りに組まれています。
- 部品リストを作る:すべてのラベルと値(R1 220 Ω、C1 100 nF、Q1 BC547)を書き出します。このリストは買い物リストにもチェックリストにもなります。
- 回路をブロックに分ける:電源、入力(ボタン、センサー)、処理(ボード)、出力(LED、ブザー、モーター)の各部分を枠で囲みます。
- ネットを1つずつたどる:あるピンから始めて線を黒丸までたどり、そのネットにあるすべてのピンを書き出します。同じ名前のネットラベルも忘れないでください。
- 極性のある部品に印をつける:回路図上で、ダイオードのカソード、LEDのアノード、電解コンデンサのプラス、トランジスタのエミッタを目立たせます。
- 信号の流れを1文で説明する:「ボタンを押すとD2がLOWになり、コードがD8をHIGHにし、Q1がオンになってブザーが鳴る」と言えれば、回路図を本当に読めています。
例:ボタン、LED、ブザーの回路図を読む
では、学んだことを実際の回路図に当てはめてみましょう。この回路の部品は7個です。ArduinoのD9ピンから出るLEDネットは、抵抗R1(220 Ω)を通ってLED1のアノードへ向かい、LEDのカソードはGNDにつながっています。D2ピンのBTNネットは、押しボタンSW1と、それに並列のコンデンサC1(100 nF)を通ってGNDへ下ります。D8ピンから出るBZネットは、R2(1 kΩ)を通ってトランジスタQ1(BC547)のベースに届きます。Q1のエミッタはGNDに、コレクタはアクティブブザーBZ1のマイナス端子につながり、ブザーのプラス端子は+5Vにあります。回路図を読むいちばん確実な方法は、次のような接続リスト(ネットリスト)に変換することです。各行が1つのネットで、その行のすべての端子はブレッドボード上の1点で合流しなければなりません。
| ネット名 | 接続される端子 | ブレッドボードでは |
|---|---|---|
| +5V | Arduinoの5V、BZ1(+) | 赤(+)の電源ライン |
| GND | ArduinoのGND、LED1のカソード、SW1の片端、C1の片端、Q1のエミッタ | 青(−)の電源ライン |
| LED | D9、R1の片端 | D9からR1の列へジャンパーワイヤー |
| N1 | R1のもう片端、LED1のアノード | R1とLED1の長い足を5穴の同じ列に |
| BTN | D2、SW1のもう片端、C1のもう片端 | ボタンの足とC1を同じ列に挿し、そこからD2へジャンパー |
| BZ | D8、R2の片端 | D8からR2の列へジャンパーワイヤー |
| N2 | R2のもう片端、Q1のベース | R2とBC547の中央の足(B)を同じ列に |
| N3 | Q1のコレクタ、BZ1(−) | BC547のCの足とブザーのマイナスの足を同じ列に |
表の2つの点に注目してください。1つ目に、回路図のボタンにはプルアップ抵抗がありません。コードでINPUT_PULLUPを使い、プロセッサー内部の抵抗(Unoでは約20〜50 kΩ)がその役目を果たすからです。よい回路図では、ピンの横に小さなコメントでこのことを書き添えます。2つ目に、C1はボタンの接点のチャタリングをならすハードウェアのチャタリング対策用コンデンサで、内部プルアップと組み合わさって約2〜5 msのRC時定数を作ります。名前のないネットにはN1、N2、N3と自分で名前をつけました。KiCadのようなソフトは自動で名前をつけます。ボタンの配線について詳しくは「Arduinoに押しボタンをつなぐ方法」をご覧ください。
回路図をブレッドボードに移す
- 回路図を印刷するか、画面に表示して手元に置き、蛍光ペンを用意します。組み立てながら、回路図上の接続を1つずつ塗っていきます。
- 電源ラインを準備する:ボードの5Vを赤(+)のラインに、GNDを青(−)のラインにつなぎます。長いブレッドボードでは、ラインが中央で分かれていないか確認してください。
- 大きな部品を配置する:ICは中央の溝をまたぐように挿し、モジュールとトランジスタは足が別々の列に入るように挿します。
- 各ネットを列に割り当てる:ブレッドボードの縦5穴はもともとつながっています。同じネットの足は同じ列に挿すか、列どうしをジャンパーワイヤーでつなぎます。
- 極性のある部品は回路図の目印と照らし合わせて取り付ける:LEDの長い足はN1へ。BC547は平らな面を手前に向け、C、B、Eの順が正しい列に入るようにします。
- 線の色にルールを決める:電源は赤、GNDは黒か青、信号はそれ以外の色にします。色は電気的には何も変えませんが、デバッグが速くなります。
- 電源を入れる前に測る:テスターを導通(ブザー)モードにして、まず5VとGNDの間がショートしていないことを確かめ、次にネットリストの各行の端子どうしでブザーが鳴ることを確認します。
組んだ回路をテストする:ArduinoとESP32のコード
回路図を正しく移せたかを知るいちばん速い方法は、ネットを1つずつ確認する小さなテストプログラムです。次のコードは、起動時にまずLEDを1秒間点灯し、続いてブザーを短く鳴らして、現在のステップをシリアルモニタに表示します。その後はボタンを監視します。コード内の定数名は回路図のネット名と同じにしたので、回路図のBZネットはコードではBZ_PINです。同じコードはESP32ではピン番号を自動で切り替えます。次の表のとおりに配線してください。
| 回路図のネット | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| LED(R1経由でLED1へ) | D9 | GPIO 18 | GP15 |
| BTN(SW1とC1、もう片端はGNDへ) | D2 | GPIO 4 | GP14 |
| BZ(R2経由でQ1のベースへ) | D8 | GPIO 19 | GP16 |
| +5V(BZ1のプラス端子) | 5V | VIN/5V | VBUS |
| GND | GND | GND | GND |
1// Şemadan kurulan devreyi net net test eder / Tests the circuit built from the schematic, net by net
2// Sabit isimleri şemadaki net isimleriyle aynı / Constant names match the net names on the schematic
3#if defined(ESP32)
4const int LED_PIN = 18; // LED neti: R1 üzerinden LED1 anoduna / LED net: to LED1 anode via R1
5const int BTN_PIN = 4; // BTN neti: SW1 ve C1, diğer uçları GND / BTN net: SW1 and C1, other ends to GND
6const int BZ_PIN = 19; // BZ neti: R2 üzerinden Q1 beyzine / BZ net: to Q1 base via R2
7#else
8const int LED_PIN = 9;
9const int BTN_PIN = 2;
10const int BZ_PIN = 8;
11#endif
12
13bool lastPressed = false;
14
15void setup() {
16 Serial.begin(115200);
17 pinMode(LED_PIN, OUTPUT);
18 pinMode(BZ_PIN, OUTPUT);
19 pinMode(BTN_PIN, INPUT_PULLUP); // dahili pull-up, şemada ayrı direnç yok / internal pull-up, no separate resistor on the schematic
20
21 Serial.println(F("1) LED testi / LED test"));
22 digitalWrite(LED_PIN, HIGH); // N1 netine akım gider, LED1 yanar / current flows into N1, LED1 lights
23 delay(1000);
24 digitalWrite(LED_PIN, LOW);
25
26 Serial.println(F("2) Buzzer testi / Buzzer test"));
27 digitalWrite(BZ_PIN, HIGH); // Q1 iletime geçer, N3 GND'ye çekilir / Q1 turns on, N3 is pulled to GND
28 delay(300);
29 digitalWrite(BZ_PIN, LOW);
30
31 Serial.println(F("3) Butona bas / Press the button"));
32}
33
34void loop() {
35 bool pressed = (digitalRead(BTN_PIN) == LOW); // SW1 basılıyken BTN neti GND olur / BTN net goes to GND while SW1 is pressed
36 digitalWrite(LED_PIN, pressed ? HIGH : LOW);
37 digitalWrite(BZ_PIN, pressed ? HIGH : LOW);
38
39 if (pressed != lastPressed) { // yalnızca değişince yaz / print only on change
40 if (pressed) {
41 Serial.println(F("Basildi / Pressed"));
42 } else {
43 Serial.println(F("Birakildi / Released"));
44 }
45 lastPressed = pressed;
46 }
47 delay(10);
48}プログラムのうち3行が回路図に直接関係しています。INPUT_PULLUPは回路図に描かれていない内部プルアップ抵抗を有効にします。SW1がネットをGNDにつなぐので、ボタンを押していないときピンはHIGH、押すとLOWと読み取られます。digitalWrite(BZ_PIN, HIGH)はR2を通してQ1のベースに電流を流します。5 VのUnoでは、この電流は(5 − 0.7) / 1000 ≈ 4.3 mAです。BC547の電流増幅率は少なくとも110あるので、ブザーが消費する約30 mAを余裕でスイッチングできます。ESP32ではピンが3.3 Vを出すので、ベース電流は2.6 mAに下がりますが、それでも十分です。UnoでのLEDの電流は、赤色LEDなら(5 − 2) / 220 ≈ 14 mAです。これらの計算は「オームの法則」ツールで確かめられます。
Raspberry Pi PicoとMicroPythonで同じ回路図を使う
回路図のよいところは、ボードに依存しないことです。同じネットリストをPicoで組むには、ネット名の横に別のピン番号を書くだけです。Picoでは、ブザーのプラス端子をUSBの5 Vを供給するVBUSピン(40番ピン)につなぎます。GP16はR2を通してトランジスタのベースにつながっているだけです。5 V側はコレクタにあり、Picoのピンに直接触れることはないので、3.3 Vのピンは安全です。ThonnyでコードをPicoにmain.pyとして保存してください。
1# Pico: şemadan kurulan devreyi net net test eder / tests the circuit built from the schematic, net by net
2from machine import Pin
3import time
4
5led = Pin(15, Pin.OUT) # LED neti: GP15 -> R1 -> LED1 / LED net
6btn = Pin(14, Pin.IN, Pin.PULL_UP) # BTN neti: GP14 -> SW1 + C1 -> GND / BTN net
7bz = Pin(16, Pin.OUT) # BZ neti: GP16 -> R2 -> Q1 beyz / BZ net to Q1 base
8
9print("1) LED testi / LED test")
10led.on()
11time.sleep(1)
12led.off()
13
14print("2) Buzzer testi / Buzzer test")
15bz.on() # Q1 iletime geçer / Q1 turns on
16time.sleep(0.3)
17bz.off()
18
19print("3) Butona bas / Press the button")
20last = False
21while True:
22 pressed = btn.value() == 0 # basılıyken 0 okunur / reads 0 while pressed
23 led.value(pressed)
24 bz.value(pressed)
25 if pressed != last: # yalnızca değişince yaz / print only on change
26 print("Basildi / Pressed" if pressed else "Birakildi / Released")
27 last = pressed
28 time.sleep_ms(10)モジュールの回路図を読む
市販のモジュール(リレーボード、I2C LCDアダプター、OLEDディスプレイ、センサーボード)も実は小さな回路で、回路図のほとんどは販売ページやメーカーのデータシートで見つかります。モジュールの回路図を読むときの目的は、抵抗を1本残らず理解することではなく、モジュールのつなぎ方を教えてくれる5つの情報を見つけることです。電源電圧とレギュレーター、ロジックレベル、プルアップ抵抗、アクティブLOWの入力、そしてアドレスやモードを選ぶジャンパーです。Arduino Uno自体の回路図もよい練習になります。Uno R3のL LEDがD13に直接ではなく、オペアンプのバッファLMV358を介してつながっていることは、回路図を見て初めてわかります。
| モジュール | 回路図で見る場所 | わかること |
|---|---|---|
| リレーモジュール | トランジスタまたはフォトカプラ、1N4148または1N4007のダイオード、JD-VCCジャンパー | 入力がアクティブLOWかHIGHか、コイルを別電源で駆動できるか |
| I2C LCDアダプター(PCF8574) | A0、A1、A2のはんだジャンパーとプルアップ抵抗 | アドレス:PCF8574は0x27、PCF8574Aは0x3F。ジャンパーをブリッジするとアドレスが下がる |
| 0.96インチOLED(SSD1306) | 3.3 VレギュレーターとSDA、SCLのプルアップ抵抗 | VCCに3.3〜5 Vを入れられ、プルアップを追加する必要がないこと |
| DHT11モジュール(3ピン) | データ線上の4.7〜10 kΩの抵抗 | プルアップ抵抗を別に追加する必要がないこと |
| HC-SR04 | 5 V電源とECHO出力 | ECHOが5 Vを出力し、ESP32とPicoでは分圧回路が必要なこと |
Fritzingのブレッドボード表示と回路図:何が違う?
ネット上の多くのArduinoプロジェクトで見かけるカラフルな図は、実は回路図ではなく、Fritzingというソフトのブレッドボード表示です。Fritzingは同じ回路を3つの表示で管理します。実物の部品を写真のように描いたブレッドボード表示、標準の記号を使う回路図表示、基板設計用のPCB表示です。ある表示で作った接続は、ほかの表示では破線のラッツネスト(未配線の接続線)として現れます。ソフトは接続があることを知っていますが、その表示できれいに描くのは利用者に任せています。Tinkercad Circuitsが自動で描く回路図表示も、同じような橋渡しの役割を果たします。詳しくは「TinkercadでArduinoをシミュレーション」をご覧ください。
ブレッドボード表示は初心者にとってとても便利で、どの線がどの穴に入るかが正確にわかります。しかし回路が大きくなると、線どうしが重なり、線がどの行に入っているかが見えにくくなり、回路がなぜそう組まれているのかもわかりません。回路図は物理的な配置を完全に省いて機能だけを示します。だからこそ、デバッグするとき、回路を別のボードに移すとき、基板を設計するときは、いつも回路図に戻るのです。よい習慣をつけましょう。プロジェクトを組むときはブレッドボードの図を、理解しようとするときは回路図を見ます。
| 特徴 | ブレッドボード表示 | 回路図 | PCB表示 |
|---|---|---|---|
| 示すもの | 部品のリアルな絵と、各線が入る穴 | 記号と電気的な接続 | 銅箔パターン、パッド、基板の寸法 |
| 向いている用途 | 初めて組む、そのとおりに再現する | 理解する、デバッグする、改造する | 基板を製造する |
| 大きな回路では | 線が絡まって読みにくくなる | ブロックとネット名で整理された状態を保てる | 層とパターンで複雑になる |
| 線の色と経路 | 見えるが電気的な意味はない | 線の経路はなく、接続だけを示す | パターンの幅と長さが重要 |
| 別のボードへの移行 | 図を描き直す必要がある | ピン番号が変わるだけ | 基板を設計し直す |
よくある間違いと直し方
| 間違い | 症状 | 直し方 |
|---|---|---|
| 黒丸のない交差を接続とみなす | 余分な配線、ときにはショート | 塗りつぶした黒丸がある場所だけをつなぐ |
| ネットラベルを見落とす | I2Cやシリアル通信がまったく動かない | 同じ名前のラベルをすべて見つけて対応づける |
| GNDをつながない | センサーがでたらめな値を読む、モジュールが応答しない | すべてのGND記号を1点にまとめる |
| トランジスタのピンの並びを回路図から判断する | トランジスタが発熱する、または負荷がまったく動かない | データシートでパッケージのピン配置を確認する |
| ダイオードやLEDを逆向きに取り付ける | LEDが点灯しない、保護ダイオードが電源をショートする | カソードの棒を本体の帯と照らし合わせる |
| アクティブLOWの入力を見落とす | 起動時にリレーがカチッとオンになる、動作の論理が逆になる | 上線、/、#のついたピン名に注意する |
| ピン番号とGPIO番号を取り違える | 違うピンが反応する | Picoでは物理ピン番号20がGP15。コードではGP番号を使う |
| 中央で分かれた電源ライン | 回路の半分に電源が来ない | ラインを測り、必要ならジャンパーで両半分をつなぐ |
回路図の読み方を練習するプロジェクトのアイデア
- LED1個と抵抗:記号2つ、ネット3つから始めます。「LEDとは?」の回路をまず回路図にし、次にブレッドボードに組みます。
- 自動で点く常夜灯:LDRと10 kΩの抵抗で作る分圧回路で、回路図上の直列接続と共有された中点の読み方を学べます。
- 信号機:LED3個と抵抗3本を使う「Arduinoで信号機」は、繰り返されるブロックを見分ける練習に最適です。
- リレーでランプを制御:リレーモジュールの回路図には、トランジスタ、ダイオード、アクティブLOWの入力がそろっています。
- 555の点滅回路:「555タイマーIC」は、番号つきのピンを持つ四角形の記号を読む定番の練習です。
- 7セグメントのカウンター:7セグメントディスプレイの回路図では、8つのセグメントがネット名を使ってすっきり描かれている様子がわかります。
回路図を読むのは最初は外国の文字のように見えますが、記号、黒丸のルール、ネット名を覚えてしまえば、新しいプロジェクトを写すのではなく理解しながら組めるようになります。次のステップとして、この記事の回路例を自分の作図ソフトで一から描き直し、各ネットの電流と電圧を「キルヒホッフの法則」で計算してみましょう。BlueGraysアプリでは、LEDの点滅、ボタン、常夜灯、ブザー、信号機といったプロジェクトの回路図を、コードと一緒にステップごとに学び、覚えたことをすぐに実物の部品で試せます。
よくある質問
回路図の記号はそれぞれ何を意味しますか?
各記号は部品の種類を表します。四角形かギザギザの線は抵抗、2本の平行線はコンデンサ、棒のついた三角形はダイオード、円の中に矢印がある記号はトランジスタです。記号の横のR1、C1、D1、Q1といったラベルは部品の種類と番号を、220や100nのような文字は値を示します。VCCとGNDの記号は電源とグラウンドの点を表します。
回路図の黒丸は何を意味しますか?
2本以上の線が交わる場所の塗りつぶした黒丸は、それらの線が電気的につながっていることを示します。黒丸のない十字の交差では、線は重なっているだけでつながっていません。古い回路図では、つながっていない交差を小さな半円の飛び越しで描くこともあります。
回路図のVCCとGNDは何を意味しますか?
VCCは回路のプラスの電源ラインで、Arduino Unoではふつう5 V、ESP32とPicoでは3.3 Vです。GNDはグラウンドで、すべての電圧を測る基準となる0 Vの点です。回路図上の同じ名前のVCCとGNDの記号は、間に線がなくてもすべてつながっています。
回路図とブレッドボード図の違いは何ですか?
ブレッドボード図は、部品の実際の見た目と、各線がどの穴に入るかを示します。まねしやすい反面、大きな回路では読めなくなります。回路図は標準の記号で電気的な接続だけを示し、回路がどう動くかを説明します。FritzingやTinkercadのようなソフトでは、同じ回路を両方の表示で見られます。
回路図を描くにはどのソフトを使いますか?
無料でプロ仕様のKiCadは、回路図と基板設計にもっとも広く使われているソフトです。EasyEDAはブラウザで動き、基板の発注に直接つながります。ブレッドボード表示のあるFritzingは初心者向きです。Tinkercad Circuitsでも、組んだ回路の回路図を自動で表示できます。
配線図と回路図は同じものですか?
まったく同じではありません。配線図はふつう、建物のヒューズ、コンセント、スイッチ、照明のように、物理的な配置と部品間の実際の電線を示し、単線図で描かれることがよくあります。電子回路の回路図は、抵抗、トランジスタ、ICといった部品のピンごとの接続を、置き場所には関係なく示します。黒丸のルール、記号の考え方、ラベルはどちらでも同じように使われます。
この記事を読んだ後に作れるプロジェクト
全プロジェクトを見る
LEDの点滅
電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

ボタンでLEDを点灯(押している間のみ)
呼び鈴のように、押している間は点灯し、離すと消灯します。Arduinoはボタンの状態を常に読み取り、押されている間はLEDを点灯させ、指を離した瞬間に消灯させます。このシンプルな回路で、ボードが外部からの操作を検知する仕組みを学べます。

信号機
毎日道路で見かける信号機の小さな模型です。赤が2秒点灯し、黄が一瞬点灯した後、緑が2秒点灯します。その後、再び黄を経て赤に戻り、この動作を繰り返します。3個のLEDを順番に点けたり消したりしながら、タイミングの組み立て方を学びます。

LDRで作る常夜灯
暗くなると自動で点灯し、朝になると消灯する小さな常夜灯です。光センサーが部屋の明るさを測定し、Arduinoが十分に暗くなったらLEDを点灯させ、明るくなったら消灯させます。街灯が夕方になると自動で点灯する仕組みも理解できます。

ブザーの使い方
呼び鈴やアラームがどうやって音を出すのか、気になったことはありませんか?Arduinoが小さなブザーを短い間隔で鳴らし、音を出す、止める、を繰り返します。電気で音が生まれる仕組みを学び、メロディーを演奏するプロジェクトへの第一歩を踏み出せます。

Raspberry Pi Picoで外付けLEDを点灯(ブレッドボード)
Picoの内蔵LEDの次は、ブレッドボードに外付けLEDを接続し、GP14ピンで制御します。このプロジェクトでは、Picoの汎用GPIOピンを出力として使う方法、LEDの極性(長い足=アノード/+、短い足=カソード/−)、電流制限抵抗(220Ω)が必要な理由を学びます。抵抗を入れないと、LEDに過大な電流が流れて壊れることがあります。回路はとても簡単です。Pico GP14 → 220Ω抵抗 → LED(+)→ LED(−)→ Pico GND。Wokwiでシミュレーションできます。

ESP32でボタンによるLED制御(押している間だけ点灯)
ボタンを押している間はLEDが点灯し、離すと消灯します。ESP32のデジタル入力ピンと内蔵プルアップ抵抗の使い方を学びます。INPUT_PULLUPモードを使うため、外付け抵抗は不要です。

Raspberry Pi Picoでボタンを押してLEDを点灯
Picoで初めての入力プロジェクト、ボタンの読み取りです!ボタンを押している間はLEDが点灯し、離すと消灯します。LEDアニメーションから一歩進んで、外部からPicoに信号を入力する方法を学びます。Pin.IN(入力モード)、Pin.PULL_UP(ボタンで一般的に使う内蔵プルアップ抵抗)、button.value()による読み取りを扱います。LEDはGP14、ボタンはGP2(内蔵PULL_UP)に接続します。押すとLOW(0)、離すとHIGH(1)になります。この逆の論理は最初は戸惑いますが、業界で標準的に使われています。
ほかの記事
BlueGraysアプリ
この回路をスマホでステップごとに作る
回路図、コード、部品リストを1つの画面で確認できます。Arduino、ESP32、Picoのプロジェクトを200件以上用意しています。

