基礎 · 読了まで18分

回路図の読み方:記号、接続点、ブレッドボードへの配線

回路図の読み方を解説します。抵抗、ダイオード、トランジスタ、VCC、GNDの記号、接続と交差の見分け方、ネット名、モジュールの回路図、ブレッドボードへの配線まで。

回路図はどう読めばいいのでしょうか?短く答えると、回路図は部品の見た目ではなく、どのピンがどのピンと電気的につながっているかを標準の記号で示した地図です。読むときは、まず記号を見分け、次に各線を接続としてたどり、接続点の黒丸と単なる交差を区別し、R1や220といったラベルと値を読み、最後にVCCとGNDの記号が回路のどこに電源を供給しているかを確かめます。この5つのスキルがあれば、LED1個の回路からArduino自体の回路図まで、どんな図面も理解できます。

このガイドでは、よく見かける記号を1つの表にまとめ、ダイオードとトランジスタの記号の向きの読み方、交差する線と接続された線の違い、ネット名による見えない接続、市販モジュールの回路図で確認すべき点を説明します。そのうえで、実際のボタン、LED、ブザーの回路図を接続リスト(ネットリスト)に変換し、ステップごとにブレッドボードへ移し、完成した回路をArduino、ESP32、Raspberry Pi Picoでテストするコードを紹介します。最後のセクションでは、Fritzingのブレッドボード表示と本物の回路図の違い、そしてよくある読み間違いを取り上げます。

ブレッドボード(はんだ付け不要の試作用ボード)
回路図上の接続は、ブレッドボードでは、5穴の同じ列に足を挿すか、ジャンパーワイヤーでつなぐかのどちらかで作ります。

回路図とは?何のために使うのか

回路図(スケマティック)は、電子回路の電気的な構造を示す図です。部品は実際の大きさや位置ではなく記号で描かれ、部品どうしを結ぶ線も実際の配線経路ではなく、両端が電気的に同じ点であることだけを表します。そのため、回路図で隣どうしに描かれた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先端に棒がついた三角形棒がカソード。本体の帯と対応する
LEDLEDまたはD外向きの矢印が2本ついたダイオード記号三角形はアノード(長い足)からカソードの方向を指す
ツェナーダイオードDまたはZDカソードの棒の両端が折れ曲がったダイオード記号逆向きに接続し、決まった電圧で導通する
NPNトランジスタQ円の中にベースの線、エミッタに外向きの矢印矢印がエミッタの目印。エミッタはふつうGNDへ
PNPトランジスタQ同じ記号で、矢印が内向きエミッタはふつうプラス電源へ
NチャネルMOSFETQゲート(G)の線がチャネルから離れ、本体に内向きの矢印G、D、Sのピン。矢印の向きでチャネルの種類がわかる
押しボタン(モーメンタリスイッチ)SWまたはS2つの接点の上に浮いた橋押している間だけ両端をつなぐ
スイッチ(オン・オフ)SWまたはS片側を支点に開いた斜めの線切り替えた状態を保つ。SPDTタイプは端子が3つ
電池/直流電源BTまたはB長い線と短い線の平行線長い線がプラス(+)端子
リレーKコイルの四角形と、破線で結ばれた接点コイルと接点が回路図上の別々の場所に描かれることがある
ブザーBZ+端子のついた半円形またはベル形の記号アクティブブザーには極性がある
IC/モジュールUまたはIC番号つきのピンを持つ四角形ピン番号は物理ピン、文字はその機能
回路図では、極性のある4つの部品、電解コンデンサ、ダイオード、LED、トランジスタに特に注意してください。回路図の+記号、カソードの棒、エミッタの矢印は、実物の対応する目印と照らし合わせる必要があります。電解コンデンサならマイナスの帯、ダイオードなら灰色の帯、LEDなら短い足とドームの平らな縁です。この確認をせずに取り付けた部品は、回路図を正しく読めていても、回路が動かない原因になったり、焼損したりします。

ダイオード、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 UnoESP32 DevKitRaspberry Pi Pico
VCC、+5V5 V電源5VピンVIN/5Vピン(USBから)VBUS(40番ピン、USBから)
3V3、+3.3V、VDD3.3 V電源3.3Vピン(最大50 mA)3V3ピン3V3(OUT)(36番ピン)
VIN、VSYS、VBATレギュレーターの手前の入力VIN(推奨7〜12 V)VINVSYS(39番ピン、1.8〜5.5 V)
GND、VSS、0Vグラウンド、共通の基準GNDピンGNDピンGND(3、8、13、18、23、28、33、38番ピン)
ロジックレベルピンのHIGHの電圧5 V3.3 V(5 V非対応)3.3 V(5 V非対応)
モジュールの回路図にVCCと書いてあっても、どのボードでも5 Vから給電してよいとは限りません。ESP32とPicoのピンは3.3 Vで動作します。5 Vで給電したモジュールが5 Vを出力する場合、その信号を直接つなぐとピンが壊れることがあります。そのようなときは分圧回路かレベル変換モジュールを入れてください。HC-SR04のECHOピンがいちばん有名な例です。

交差する線と接続された線:黒丸のルール

回路図を読むとき、初心者がいちばん迷うのは2本の線が重なる場所です。ルールは単純ですが厳格です。交点に塗りつぶした黒丸があれば線はつながっていて、黒丸がなければ単に交差しているだけです。古い回路図では、つながっていない交差を、一方の線が小さな半円でもう一方を飛び越える形で描いていて、今でも一部の教科書で見かけます。KiCadやEasyEDAのような最近の作図ソフトは、ある線の端が別の線の途中に触れると、自動で黒丸を置きます。

  • 黒丸のあるT字の接続:3本の線が1点で合流し、すべて同じネットにあります。いちばん安全で、いちばんよく使われる描き方です。
  • 黒丸のない十字の交差:2本の線は触れずに重なっているだけで、互いの間に接続はありません。
  • 黒丸のある十字の交差:4本の線すべてがつながっていますが、コピーや小さな画面では黒丸が見えなくなることがあるため、上手な設計者は位置をずらした2つのT字として描きます。
  • 半円の飛び越し:古い描き方です。一方の線がもう一方を飛び越えていて、接続はありません。
  • 線の端の×印:接続しないピン(NC、ノーコネクト)です。そのピンを空けておくのは意図的な選択です。
判断に迷う交差を見つけたら、回路図のほかの部分を見てください。設計者がほかの接続点で黒丸を使っているなら、黒丸のない交差は間違いなく接続されていません。それでも迷うなら、回路の理屈を考えてみましょう。もしこの接続があったら、電源がGNDとショートしないでしょうか?あいまいな箇所の大半は、この問いで解決します。

ラベル、値、ネット名

各部品の横にある部品番号(リファレンス記号)は、文字記号と通し番号でできています。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のピン
破線の枠機能ブロック、または市販モジュールの外形「電源部」「センサーモジュール」
ピン名の上に線がある、前にスラッシュ(/)がある、または末尾に#や_Nがある場合、その信号はアクティブLOWです。ピンを0 Vに引き下げたときに機能が働きます。ArduinoのRESETピンや、多くのリレーモジュールのIN入力はこの方式です。この点を見落とすことが、「リレーの動作が逆になる」という悩みのいちばん多い原因です。

回路図をステップごとに読む方法

  1. 電源を見つける:電池、USB、VIN、ACアダプターの入力と、すべてのVCC、3V3、GNDの記号に印をつけます。回路が何ボルトで動くのかを最初に把握しておきましょう。
  2. 中心となる部品を特定する:Arduino、ESP32、Pico、ICは、ふつう回路図の中央にある大きな四角形です。ほかのすべてはその周りに組まれています。
  3. 部品リストを作る:すべてのラベルと値(R1 220 Ω、C1 100 nF、Q1 BC547)を書き出します。このリストは買い物リストにもチェックリストにもなります。
  4. 回路をブロックに分ける:電源、入力(ボタン、センサー)、処理(ボード)、出力(LED、ブザー、モーター)の各部分を枠で囲みます。
  5. ネットを1つずつたどる:あるピンから始めて線を黒丸までたどり、そのネットにあるすべてのピンを書き出します。同じ名前のネットラベルも忘れないでください。
  6. 極性のある部品に印をつける:回路図上で、ダイオードのカソード、LEDのアノード、電解コンデンサのプラス、トランジスタのエミッタを目立たせます。
  7. 信号の流れを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点で合流しなければなりません。

ネット名接続される端子ブレッドボードでは
+5VArduinoの5V、BZ1(+)赤(+)の電源ライン
GNDArduinoのGND、LED1のカソード、SW1の片端、C1の片端、Q1のエミッタ青(−)の電源ライン
LEDD9、R1の片端D9からR1の列へジャンパーワイヤー
N1R1のもう片端、LED1のアノードR1とLED1の長い足を5穴の同じ列に
BTND2、SW1のもう片端、C1のもう片端ボタンの足とC1を同じ列に挿し、そこからD2へジャンパー
BZD8、R2の片端D8からR2の列へジャンパーワイヤー
N2R2のもう片端、Q1のベースR2とBC547の中央の足(B)を同じ列に
N3Q1のコレクタ、BZ1(−)BC547のCの足とブザーのマイナスの足を同じ列に

表の2つの点に注目してください。1つ目に、回路図のボタンにはプルアップ抵抗がありません。コードでINPUT_PULLUPを使い、プロセッサー内部の抵抗(Unoでは約20〜50 kΩ)がその役目を果たすからです。よい回路図では、ピンの横に小さなコメントでこのことを書き添えます。2つ目に、C1はボタンの接点のチャタリングをならすハードウェアのチャタリング対策用コンデンサで、内部プルアップと組み合わさって約2〜5 msのRC時定数を作ります。名前のないネットにはN1、N2、N3と自分で名前をつけました。KiCadのようなソフトは自動で名前をつけます。ボタンの配線について詳しくは「Arduinoに押しボタンをつなぐ方法」をご覧ください。

回路図をブレッドボードに移す

  1. 回路図を印刷するか、画面に表示して手元に置き、蛍光ペンを用意します。組み立てながら、回路図上の接続を1つずつ塗っていきます。
  2. 電源ラインを準備する:ボードの5Vを赤(+)のラインに、GNDを青(−)のラインにつなぎます。長いブレッドボードでは、ラインが中央で分かれていないか確認してください。
  3. 大きな部品を配置する:ICは中央の溝をまたぐように挿し、モジュールとトランジスタは足が別々の列に入るように挿します。
  4. 各ネットを列に割り当てる:ブレッドボードの縦5穴はもともとつながっています。同じネットの足は同じ列に挿すか、列どうしをジャンパーワイヤーでつなぎます。
  5. 極性のある部品は回路図の目印と照らし合わせて取り付ける:LEDの長い足はN1へ。BC547は平らな面を手前に向け、C、B、Eの順が正しい列に入るようにします。
  6. 線の色にルールを決める:電源は赤、GNDは黒か青、信号はそれ以外の色にします。色は電気的には何も変えませんが、デバッグが速くなります。
  7. 電源を入れる前に測る:テスターを導通(ブザー)モードにして、まず5VとGNDの間がショートしていないことを確かめ、次にネットリストの各行の端子どうしでブザーが鳴ることを確認します。
ブレッドボードへ移すときにいちばん多い間違いは、部品の両方の足を5穴の同じ列に挿してしまうことです。すると部品はショートされ、存在しないかのような動作になります。1列に挿した抵抗は電流を制限せず、ボタンは押しっぱなしと読み取られます。ブレッドボードの内部の接続に自信がなければ、まず「ブレッドボードとは?」を読んでください。測定については「テスターの使い方」のガイドが役立ちます。

組んだ回路をテストする:ArduinoとESP32のコード

回路図を正しく移せたかを知るいちばん速い方法は、ネットを1つずつ確認する小さなテストプログラムです。次のコードは、起動時にまずLEDを1秒間点灯し、続いてブザーを短く鳴らして、現在のステップをシリアルモニタに表示します。その後はボタンを監視します。コード内の定数名は回路図のネット名と同じにしたので、回路図のBZネットはコードではBZ_PINです。同じコードはESP32ではピン番号を自動で切り替えます。次の表のとおりに配線してください。

回路図のネットArduino UnoESP32Raspberry Pi Pico
LED(R1経由でLED1へ)D9GPIO 18GP15
BTN(SW1とC1、もう片端はGNDへ)D2GPIO 4GP14
BZ(R2経由でQ1のベースへ)D8GPIO 19GP16
+5V(BZ1のプラス端子)5VVIN/5VVBUS
GNDGNDGNDGND
C++ (Arduino IDE)
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として保存してください。

MicroPython
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-SR045 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番号を使う
中央で分かれた電源ライン回路の半分に電源が来ないラインを測り、必要ならジャンパーで両半分をつなぐ
複雑な回路図を初めて読むときは、一度にすべてを理解しようとしないでください。まず電源とGNDを塗り、次にメインのボード、最後に入力と出力のブロックを塗ります。ブロックごとにブレッドボードで組んでテストするほうが、回路全体を一度に組んでから動かない部分を探すよりずっと速く進みます。ボードの正確なピンの並びを見られるように、「ピン配置」ツールを手元に用意しておきましょう。

回路図の読み方を練習するプロジェクトのアイデア

  • 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の点滅

電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

4.6(188)
1127
ボタンでLEDを点灯(押している間のみ)
#9初級

ボタンでLEDを点灯(押している間のみ)

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

4.8(113)
229
信号機
#3初級

信号機

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

4.8(131)
397
LDRで作る常夜灯
#12初級

LDRで作る常夜灯

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

4.8(102)
205
ブザーの使い方
#13初級

ブザーの使い方

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

4.7(89)
161
Raspberry Pi Picoで外付けLEDを点灯(ブレッドボード)
#148初級

Raspberry Pi Picoで外付けLEDを点灯(ブレッドボード)

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

4.5(2)
7
ESP32でボタンによるLED制御(押している間だけ点灯)
#104初級

ESP32でボタンによるLED制御(押している間だけ点灯)

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

4.6(36)
55
Raspberry Pi Picoでボタンを押してLEDを点灯
#155初級
プレミアム

Raspberry Pi Picoでボタンを押してLEDを点灯

Picoで初めての入力プロジェクト、ボタンの読み取りです!ボタンを押している間はLEDが点灯し、離すと消灯します。LEDアニメーションから一歩進んで、外部からPicoに信号を入力する方法を学びます。Pin.IN(入力モード)、Pin.PULL_UP(ボタンで一般的に使う内蔵プルアップ抵抗)、button.value()による読み取りを扱います。LEDはGP14、ボタンはGP2(内蔵PULL_UP)に接続します。押すとLOW(0)、離すとHIGH(1)になります。この逆の論理は最初は戸惑いますが、業界で標準的に使われています。

0.0(0)
11