TsukuLab
מאמר זה הוא גרסת 日本語. גרסת עברית בהכנה.
Arduino

Arduino入門|初心者向けの使い方と最初のプロジェクト

עודכן: 2026-03-19 20:02:50中村 拓也

Arduinoを今日から始めたい人向けに、購入前の準備からArduino IDEの導入までを30〜60分で一直線にたどれる形にまとめました。
最初のLチカ(内蔵LEDの点滅)や外部LEDの点滅まで、配線図とコードをそのまま再現できる手順に絞って解説します。
筆者のワークショップ経験(年間約30回の実施を通じて得た感覚)では、最初の離脱要因は配線よりむしろ「ボード選択」「ポート選択」の見落としや、充電専用ケーブルなどのUSBまわりの問題であることが多く観察されます。
授業や部活では、まずD13の内蔵LEDで書き込みの成否を切り分けてから外部LEDへ進む運用にすると、そこで止まる人が目に見えて減ります。
この記事では、初心者がつまずきやすいポート選択、LEDの極性、330Ωや1kΩをどう考えるかまで先回りして潰していきます。
読み終える頃には、Arduino IDEでスケッチを書き込み、抵抗入りの外部LED点滅回路を自力で組める状態まで進めます。

arduinoとは初心者が最初に知っておきたいこと">Arduinoとは?初心者が最初に知っておきたいこと

Arduinoプラットフォームの全体像

Arduinoは、プログラムを実行するマイコンボード本体と、コードを書いて書き込むためのArduino IDEを合わせたプラットフォームです。
センサーから値を読み取り、LEDやモーターのような出力を制御するところまでを、同じ流れで試せるのが入口の強さです。
教育や試作の文脈で広まってきた背景もあり、はじめて触る人でも段階的に理解できる作りになっています。

学び始めのハードルが低い理由は、ハードウェアもソフトウェアもオープンで、サンプルと教材が揃っているからです。
とくに導入で効くのが、PCとUSBでつなげばそのまま書き込みまで進められることです。
筆者が昔触っていたマイコンは、専用の書き込み器を別に用意して配線も間違えないよう気を張る必要がありました。ArduinoはUSBケーブル1本でそこを飛び越えられるので、最初の一歩がぐっと軽くなります。

ソフト側の初期設定も流れを押さえれば難しくありません。Arduino IDE 2.xは公式ドキュメントのArduino IDE配布ページから入手でき、Windows、macOS、Linux向けのパッケージが用意されています。
インストール後はボードをPCに接続し、IDE上で使うボードを選び、続いてシリアルポートを選択します。
Getting Started with Arduino productsGetting Started with Arduino productsでも、この「ボード選択」と「ポート選択」が書き込み前の基本として案内されています)。

ここで初心者が詰まりやすいのが、USBで給電はされているのにポートが見えない場面です。
Windowsではデバイスマネージャーの「ポート(COMとLPT)」を見ると、接続されたArduino UNOに対応するCOM番号を把握できます。
抜き差しして表示が増減するCOMポートを見れば、どれが対象か切り分けやすくなります。
IDEではそのCOM番号に対応するポートを選べばよく、ボード名だけ合っていてもポート未選択では書き込めません。

WARNING

ArduinoをUSB接続したのにIDEにポートが出ないときは、まずケーブルを疑ってください。
見分け方の実例: パッケージに「Charge only」「充電専用」等の表記がないか確認する、別のデータ通信実績のあるUSBケーブルに差し替えて試す、PCに接続して外部ストレージやシリアルデバイスが認識されるかを確認する、手元にあれば USB ケーブルチェッカーで D+/D− の導通を確認する、の順で切り分けると早く原因が見つかります。

現行製品の位置づけを見ると、入門の中心は依然としてUNO系です。
参考例(公式ストア Boards & Modules、確認日: 2026-03-18)として掲載されていた参考価格はUNO R4 WiFiが約27.60ドル、UNO Q 4GBが約61.04ドルでした。
価格は変動するため、購入時は販売ページや現地の販売店で最新価格を確認してください。

UNOを基準にした基本スペック

最初の基準として覚えたいのはArduino UNOのピン構成です。
デジタルI/Oは14本で、番号はD0からD13まで振られています。
センサーのON/OFF入力を読んだり、LEDを点灯したり、リレーを駆動したりと、電子工作の基本操作はこの範囲でひと通り試せます。
アナログ入力は6本で、A0からA5を使います。
可変抵抗や光センサーのように、連続的に変化する電圧を読むときはこちらを使います。

PWMを使えるピンも、最初のうちに位置だけ覚えておくと混乱が減ります。
UNOではD3、D5、D6、D9、D10、D11の6本がPWM対応です。
LEDの明るさを段階的に変えたり、小型モーターの回転を制御したりするときに登場します。
見た目はただのデジタルピンでも、PWM対応ピンだけは役割が一段広い、と理解しておくと配線図を読むときに迷いません。

動作の基準になるクロックは16 MHzです。
入門段階ではこの数値を細かく意識する場面は多くありませんが、タイミング制御やサンプルコードの前提条件を理解する足場になります。
Blinkのような単純な点滅が素直に動くのも、この標準的な動作環境が広く共有されているからです。

アナログ入力の見え方もUNO基準で押さえると理解が早まります。
0Vから5Vの入力電圧を、0から1023の整数として扱います。
たとえば半分付近の電圧なら、読み取り値もおおむね中間の数になります。
数値の意味がわかると、センサー値をシリアルモニタに表示したとき「壊れている」のか「ちゃんと変化している」のかを判断しやすくなります。

入門でUNOが選ばれ続ける理由は、教材と作例の多さにもあります。
Arduinoの完全ガイドArduinoの完全ガイドでも、UNOは初心者の標準機として扱われています。
検索した配線例、サンプルコード、部品キットの説明がUNO前提で揃っているので、最初の数回は「記事の通りにつないだのに自分だけ違う」というズレが起きにくくなります)。

jp.rs-online.com

最初に書き込むスケッチとして定番なのがBlinkです。
内容はシンプルで、LEDを1,000 msごとに点灯と消灯へ切り替えるだけですが、この1回で「IDEが入った」「ボード選択が合っている」「ポート選択が合っている」「コンパイルと書き込みが通った」という複数の確認が同時に済みます。
BlinkBlinkでも、これが最初のプロジェクトとして紹介されています)。

Arduino IDEでは、サンプルはメニューのFileからExamplesへ進み、その中の01.BasicsにあるBlinkから開けます。
自分でゼロからコードを書くより先に、公式サンプルをそのまま開いて通すほうが切り分けが明快です。
まずコンパイルを実行し、エラーが出なければそのまま書き込みます。
IDE上のUploadを押すと、通常はコンパイルから書き込みまで続けて進みます。

この段階で内蔵LEDがあることの安心感は大きいです。
UNOではD13に対応するLEDが載っているので、外部配線をまだ組んでいない状態でも動作確認ができます。
ワークショップでも、最初にこのLEDが点滅した瞬間に表情が変わる人は多いです。
配線ミスの可能性をいったん脇に置いて、「まずボードとPCの往復はできている」と確認できるからです。
筆者も現場では、外部LEDに進む前に内蔵LEDで成功体験を作る順番をよく使います。

書き込みが通らないときは、コードの内容より設定の確認が先です。
コンパイルだけ成功してアップロードで止まるなら、ボード選択かシリアルポート選択の食い違いがよくある原因です。
WindowsでCOMポートを見るときは、接続前後で番号がどう変わるかを見れば候補を絞れます。
この考え方を持っておくと、COM3なのかCOM5なのかで迷っても機械的に切り分けられます。

Blinkが動いたら、次の外部LED点滅へ進む準備が整った状態です。
ここで得られるのは単なるLEDの点滅ではなく、ソフト側の初期設定が一通り完了したという手応えです。
IDEの入手、ボード選択、シリアルポート選択、サンプルの呼び出し、コンパイル、書き込みまでが一本につながると、その後のセンサーやモーターの学習でも同じ流れをそのまま使えます。

関連記事Arduinoプログラミング基礎|変数・関数・制御構文入門Lチカまでは動いたのに、サンプルコードを開くと急に意味がつながらなくなる——という初心者向けのガイドです。この記事ではまず setup() と loop() を軸に、変数・関数・if/for/while/switch を LED、ボタン、アナログ入力の動きと結びつけて整理します。

最初にそろえるもの

チェックリスト

最短で始めるなら、まずは「Lチカまで一直線で進める」構成に絞るのがコツです。
部品を増やしすぎると、配線ミスなのか設定ミスなのか切り分けが増えて、最初の1回目が重くなります。
この記事はUNO前提で進めるので、ここでもArduino UNO系ボードを軸にそろえます。

必要なものは次の7点です。

  • Arduino UNO系ボード

    最初の基準にするならここです。教材・作例・検索結果の多くがUNO前提なので、配線図と説明が一致しやすくなります。

  • USBケーブル

    ボードとPCをつなぐために使います。
    一般的に UNO R3 は USB‑B、UNO R4 は USB‑C が採用されることが多いです。
    ただし派生モデルや互換ボードで別の端子(Micro‑USB 等)を使う例もあるため、購入前に製品写真や型番で端子形状を必ず確認してください。
    さらに、データ通信対応のケーブルを用意すること(充電専用ではないこと)を確認してください。

  • ブレッドボード

    はんだ付けなしで回路を組むための板です。中央の溝をまたいで部品を置く構造に慣れると、後のセンサー接続でも迷いません。

  • LED

    5mmの赤色LEDが定番です。足の長いほうがアノード(+)、短いほうがカソード(-)です。

  • 330Ω前後の抵抗

    外部LEDには抵抗が必須です。
    5V系のUNOで赤色LEDを使うなら、330Ωでおよそ9mA程度になり、明るさと安全側のバランスが取りやすい組み合わせです。
    1kΩでも点灯は見えます。

  • ジャンパーワイヤ

    ブレッドボードとUNOをつなぐ配線です。最初はオス-オスを多めに持っておくと困りません。

  • PC

    Arduino IDE 2.xを入れるために必要です。Windows、macOS、Linuxのいずれでも進められます。

この構成なら、まず内蔵LEDで書き込み確認をして、そのあと外部LEDへ進む流れがきれいにつながります。
筆者のワークショップでも、最初からセンサーや液晶まで入れるより、この最小セットで1回光らせてから広げたほうが、つまずきの原因がはっきり分かれます。

外部LEDに抵抗を入れる理由も、ここで押さえておくと後が楽です。
LEDは電球のようにそのまま5Vへ直結する部品ではなく、電流を制限しないと流れすぎます。
330Ω前後を直列に入れておけば、最初の実験として無理のない範囲に収まります。
計算式の詳しい見方は後のセクションで扱いますが、最初の段階では「外部LEDには抵抗を1本入れる」がルールだと覚えておけば十分です。

ジャンパーワイヤは本数より運用が効きます。
実際の教室では、オス-オスが足りなくなって作業が止まる場面がよくあります。
赤を5V系、黒をGND、ほかの色を信号線と決めておくと、配線を追うときに頭の切り替えが減ります。
色を分けるだけで、GNDを信号ピンへ挿し間違える初歩ミスが目に見えて減るんですよね。

スターターキットはアリ?メリット/デメリット

結論から言うと、初回の購入としてスターターキットは十分アリです。
参考例(Yahoo!ショッピング掲載、確認日: 2026-03-18)では『Arduino Starter Kit 日本語版』が約15,980円という販売例がありましたが、店舗や時期によって変動します。
キットは中身の構成が製品ごとに異なるため、購入時は同梱リストを必ず確認してください。

キットの良いところは、部品の相性で悩む時間を減らせる点です。
初心者が単品で買うと、ボードはあるのにUSBケーブルの端子形状が違う、LEDはあるのに抵抗の本数が足りない、ジャンパーワイヤが少なくて配線変更のたびに抜き差しが増える、といった小さな不足が積み重なります。
キットなら、その“1個足りない”で止まりにくい構成になっています。
ケースや配線図が付属する製品も多く、部品名と実物を対応づけながら進められるのも入門向きです。

一方で、単品購入にも意味があります。
使うものを絞れるので、最初の目的が「Blinkだけ試したい」「UNOとブレッドボードで基礎だけ学びたい」と明確なら、余る部品を減らせます。
筆者の感覚では、すでにPC周辺でデータ通信できるUSBケーブルを持っている人や、センサー類をまだ使わない人なら、単品構成のほうが中身を把握しやすい場面もあります。

単品購入で見落としやすいのは、ボード本体より周辺部材です。
特に確認したいのは、USBケーブルの形状、330Ω前後の抵抗が複数本あるか、ジャンパーワイヤの本数が足りるかの3点です。
LEDも1個だけだと、向きを間違えて足を曲げたときに予備がなくなります。
赤色LEDを数個持っておくと、組み直しで詰まりません。

公式の導入情報はArduino Getting StartedやGetting Started with Arduino productsにも整理されています。
はじめての一式として迷うなら、キットで立ち上がりを優先する選び方には十分な根拠があります。

Arduino - Homearduino.cc

どのボードを選ぶ?UNO/Nano/Megaの違い

最初の1枚としてはArduino UNO系が基準です。
理由はシンプルで、情報量が多く、入門記事や教材がUNO前提で書かれているからです。
14本のデジタルI/O、6本のアナログ入力、6本のPWM対応ピンという基本構成が広く共有されていて、配線例をそのまま追いやすいのが強みです。

Arduino Nanoは、小型でブレッドボード上に直接載せやすいのが魅力です。
省スペースの工作では便利ですが、入門段階では「小さいぶん配線の見通しが少し落ちる」と感じることがあります。
机の上で1本ずつ追いながら覚える時期は、UNOのほうがピンの位置関係を把握しやすい場面が多いです。
配線図もUNO用のものが最も豊富なので、検索して同じ画面を見つけやすいのも差になります。

Arduino Mega 2560は、ピン数が多い拡張向けのボードです。
センサーや表示器、モーターをたくさん同時に使う構成では頼もしいのですが、最初のLチカやスイッチ入力の学習には持て余しやすいです。
ボードが大きく、扱うピンも増えるので、「どこへ何を挿したか」を把握する負担が先に来ます。
学習の最初期は、選択肢が多いこと自体がノイズになるんですよね。

判断基準をひとことで言うなら、学習の基準はUNO、小型化したいならNano、I/Oを大量に使うならMegaです。
本記事はUNO前提で解説するので、最短ルートを選ぶならUNO系でそろえるのが自然です。
ボード比較をもう少し掘り下げたい場合は、別の解説で扱う話題ですが、ここでは「最初の配線と教材の一致」を優先したほうが迷いが減ります。

なお、UNO系の中でもR3とR4でUSB端子が変わる点は、ボード選びというより接続準備の話として効いてきます。
この違いを見落とすと、ボードは届いたのにPCへつなげない、という止まり方になります。

USBケーブルの注意点

ここは部品選びの中でも、実際につまずく率が高いところです。
USBケーブルは「刺されば同じ」ではありません。
ArduinoとPCの接続では、給電だけでなくデータ通信が必要です。
充電専用ケーブルだとボードの電源ランプは点いても、IDEからポートが見えず、書き込みまで進めません。

筆者が教室で最初に見るのも、このケーブルです。
受講者が持参したUSB-Cケーブルの中に、スマートフォン充電用としては使えてもデータが通らないものが混ざっていることが珍しくありません。
見た目では判別できないので厄介で、ボードの初期不良に見えて、実際はケーブル交換で通るケースが何度もあります。
USB-Cへの移行期は特に型違いミスが増えやすく、UNO R4なのにUSB-Bケーブルを持ってきた、逆にUNO R3へUSB-Cを挿そうとして初めて気づく、という取り違えも本当によく出ます。

PC側での見え方にも目安があります。
Windowsならデバイスマネージャーの「ポート(COMとLPT)」に新しいCOM番号が現れるかを見ると、通信経路が通っているか判断しやすくなります。
macOSやLinuxでも、接続時にシリアルデバイスが増えるかで様子を見られます。
ボードのLEDが点灯していても、ポートが増えないなら、電源だけ入って通信は通っていない状態を疑う、という順番で切り分けると迷いません。

USBケーブルは主役の部品に見えませんが、最初の成功体験を左右する一本です。
ボード本体と同じくらい、ここで止まらない組み合わせを用意しておくと、以降の作業がきれいにつながります。

関連記事Arduinoスターターキット3選|R3/R4比較『Arduino』のスターターキット選びは、公式か互換か、R3かR4か、日本語ガイドは必要か、教材が順番に学べる構成か、この4つを先に揃えると迷いが減ります。筆者が初心者向けワークショップでよく見るのも、IDEでボードを取り違える、Wi‑Fiが要るのか分からない、教材が英語で止まる、という最初のつまずきです。

Arduino IDEをインストールして最初の書き込みをする

IDE 2.xの入手とインストール

ソフト側はArduino IDE 2.xを入れればスタートできます(ダウンロードページ: https://downloads.arduino.cc/、参照日: 2026-03-18 の公式配布ページを確認)。
入手は公式の案内ページを参照すると手順ごとに配布形式が示されています。
導入の全体像はArduino Getting Startedにも整理されているので、初回に何が起きるのかを把握するのに向いています。

Windowsはインストーラ版、macOSはアプリを配置する形、LinuxはAppImageなどが案内されています。
インストールそのものは一般的なアプリと同じ流れですが、初回起動後にボード用のツール類が裏で追加されることがあります。
ここで少し待たされても異常ではありません。
筆者の経験では、起動直後にすぐ書き込みへ進むより、画面が落ち着くまで数十秒見てから作業すると、途中で引っかかる回数が減ります。

ボード/ポートの選択

IDEが起動したら、まずボードと通信先を合わせます。
Arduino UNO系で始めるなら、メニューの Tools > Board からArduino UNOを選びます。
続いて Tools > Port で、接続したボードのポートを選択します。
ここが合っていないと、コードが正しくても書き込みまで進みません。

この段階で見ているのは、IDEが「どの基板向けにコンパイルするか」と「どの通信口へ送るか」の2点です。
前者がボード選択、後者がポート選択です。
初心者の方はこの2つを同じものと感じがちですが、役割は別です。
Arduino UNOを選んでも、ポートが未選択ならアップロード先が決まりませんし、逆にポートだけ見えていても、違うボード設定だと書き込み時に止まることがあります。

ワークショップでは、ここで「ポートが出ない」という場面が毎回数件あります。
そのときに最初に疑うのがUSBケーブルです。
ボードの電源LEDが点いていても、給電専用ケーブルだと通信が通らず、IDEにポートが現れません。
設定を掘る前にケーブルを一本替えると、その場で解決することが珍しくありません。
最初の切り分けとしては、別のデータ対応ケーブルへ差し替えるのが最短です。

Blinkサンプルを開く

最初の書き込みは、自分でゼロからコードを書くより、標準サンプルのBlinkを使うのが確実です。
場所は File > Examples > 01.Basics > Blink です。
Arduino公式のBlinkArduino公式のBlinkでも同じ内容が解説されています)。

Blinkは、ボード上の内蔵LEDを一定間隔で点滅させるサンプルです。
標準のスケッチでは1000 msごとに点灯と消灯を繰り返します。
ここで使われる LED_BUILTIN は基板に載っている内蔵LEDを指す定数です。
ただしこの定数はボード定義に依存します。
公式のUNO系では LED_BUILTIN が D13 に割り当てられていることが一般的ですが、互換ボードや別モデルでは別のピンに割り当てられている場合があります。
UNO以外のボードや互換機を使う場合は、実際のボード定義やピンマップを確認してから使用してください。
筆者はこの内蔵LEDの点滅を、最初の診断ポイントとして扱っています。LED_BUILTIN が点滅すれば、少なくともPCとの通信、コンパイル、書き込み、ボード上での実行まで最低限の流れは通っています。
外付けLEDの回路へ進んで点かないときも、「内蔵LEDは点滅した」という事実があれば、次は配線側を見るべきだと判断できます。

コンパイルと書き込み

サンプルを開いたら、まず 検証(コンパイル) を実行します。
これはコードの文法やボード設定に問題がないかを確認する工程です。
エラーがなければ、次に 書き込み を押してボードへ転送します。
IDE 2.x では、この順番で進めると、どこで止まっているのかが見分けやすくなります。

成功したかどうかは、画面下のステータス表示を見ると判断できます。
検証ではコンパイル完了の表示、書き込みではアップロード完了の表示が出ます。
ここでボード上の内蔵LEDが点滅を始めれば、最初の一歩は通過です。
Blinkの点滅は単純ですが、ソフトとハードがつながったことを目で確認できるので、入門段階では意味のあるテストです。

もし途中で止まったら、切り分けは短い順番で進めると迷いません。

  • USBケーブルを交換する
  • PCの別のUSBポートへ挿し替える
  • IDEを再起動する
  • ボードを抜き差ししてポート一覧を見直す

この4つで通るケースは多く、特に1つ目のケーブル交換は効きます。
講座の現場でも、ポート未表示や書き込み失敗が、ケーブルを替えただけで解消することが繰り返しあります。

WindowsのCOM確認と注意点

Windowsでは、ポート名が COM3COM5 のように見えます。
IDEの Tools > Port に候補が出ていればそこから選べますが、迷ったときはデバイスマネージャーを開き、ポート(COMとLPT) の項目を見ると整理できます。
そこにArduino相当のデバイスが出ていれば、そのCOM番号が接続先です。
ボードを抜いた瞬間に消え、挿し直すと戻る項目があれば、それが対象だと判断できます。

macOSでは /dev/cu.usbmodem*、Linuxでは /dev/ttyACM* が代表例です。
互換ボードやUSBシリアル変換チップの違いで名前は変わりますが、見るポイントは同じで、接続したタイミングで新しいシリアルデバイスが現れるかどうかです。

Windowsでつまずいたときは、「COM番号が見えているか」と「IDE側で同じ番号を選んでいるか」を分けて考えると、詰まり方が整理できます。
COM自体が出ていなければ通信経路の問題、COMはあるのに書き込めなければ選択違いかポート占有の可能性が高い、という順で見ていくと混乱しません。
ここで内蔵LEDのBlinkまで通れば、次の外部LED配線へ進む準備が整った状態です。

関連記事Arduino IDE セットアップ|インストールと初期設定Arduino IDE 2(現行 2.3.8)で最短に動作確認まで進みたい人向けに、この記事ではインストールから初期設定、Blinkの書き込み、シリアルモニター、つまずきやすいトラブルの切り分けまでを順番に案内します。

最初のプロジェクト:LEDを点滅させる

内蔵LED(D13)の点滅

最初の一歩は、外部部品をまだつながず、ボード上の内蔵LEDが点滅するかを見ます。
ここで反応が出れば、少なくともArduino UNOへスケッチを書き込んで実行する流れまでは通っています。
前のセクションで触れた切り分けの続きとしても、この順番が最短です。Arduino公式のBlink公式のBlinkも、まず内蔵LEDの点滅から始めています)。

UNOでは内蔵LEDが D13 に対応しているので、LED_BUILTIN を使えばピン番号を直接書かずに同じ動作を試せます。
筆者は講座でも、最初の確認に D13 をよく使います。
内蔵LEDと連動するので、外に配線したLEDが点かない場面でも「ボード側は動いている」と目で追えるからです。
ただ、外部LEDの説明に入るときは D8 のような素直なデジタルピンへ切り替えることが多いです。
D13 は便利な反面、内蔵LEDも一緒に反応するので、初学者には「どちらが点いているのか」が混ざることがあるためです。

まずは内蔵LED版のコードを載せます。これは配線不要で、そのままコピーして動かせます。

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

アップロード後に基板上のLEDが1秒おきに点灯・消灯を繰り返せば、最初の成功体験として十分です。
この確認が取れてから外部LEDへ進むと、つまずいた場所を配線側へ絞れます。

外部LEDの配線

内蔵LEDが点滅したら、次は外部LEDをブレッドボードにつないで同じ動きを作ります。ここでは D8 を使う例で進めます。接続は次の対応にそろえると迷いません。

  • Arduino UNOの D8 ピン → 330Ω抵抗 → LEDのアノード(長い足)
  • LEDのカソード(短い足) → GND

テキストの接続表にすると、配線先は以下のとおりです。

Arduino側接続先
D8330Ω抵抗の片側
330Ω抵抗の反対側LEDアノード(長い足)
LEDカソード(短い足)GND

この回路では、D8 が HIGH のときにLEDへ電流が流れて点灯し、LOW のときに消灯します。
LEDには向きがあります。
長い足がアノード、短い足がカソードです。
逆向きだと点きません。
足を切ったあとのLEDは長短で見分けられなくなるので、最初のうちは切らずに使うほうが混乱を減らせます。

ブレッドボードでは、LEDを中央の溝をまたぐ形で挿すと失敗が減ります。
筆者の経験でも、初心者の方は電源ラインと中央の列のつながり方で止まりがちです。
中央の部品エリアは、同じ列の5穴が内部でつながっているので、LEDの2本足を同じ側へ挿すと意図せず同じノードに入ってしまいます。
左右にまたぐように置いておくと、足同士が別の列に分かれ、回路の形が目で追いやすくなります。

GND 共通もここで押さえておきたいポイントです。
LEDの短い足を戻す先は、必ずArduinoの GND につながっている必要があります。
ブレッドボードのマイナス列を使う場合も、その列がUNOの GND ピンとジャンパーワイヤでつながっていなければ回路は閉じません。
見た目では配線がそれっぽくても、GND が共通になっていないだけで点灯しない場面はよくあります。

外部LED版のコード全文も、配線と同じ D8 にそろえて載せておきます。Arduino IDE 2.xとArduino UNO前提で、そのまま貼り付けて動く形です。

const int ledPin = 8;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

このコードで LED が1秒ごとに点灯・消灯すれば、外部回路まで含めた最初のプロジェクトは成功です。

抵抗値の考え方

LEDに抵抗を入れる理由は、流れる電流を制限するためです。
抵抗なしでデジタルピンへ直結すると、LEDにもピンにも無理がかかります。
ここでは赤色の 5mm LED を例にすると考えやすく、順方向電圧はおおむね 2V 前後です。
UNOの出力を 5V とみなすと、抵抗で受け持つ電圧は 5V − 2V = 3V です。

ここでオームの法則 R = V / I を使います。
目標電流を約10mA、つまり 0.01A とすると、必要な抵抗値は 3V / 0.01A = 300Ω です。
実際の部品は 300Ω ぴったりより入手しやすい 330Ω を選ぶのが定番で、電流は約9mAになります。
明るさを確保しつつ、最初の実験として扱いやすい落としどころです。

もう少し暗めでもよければ 1kΩ でも視認できます。
公式チュートリアルでも、このくらいの抵抗値でも点灯確認は可能という考え方が通ります。
330Ωは「点いたかどうかを見分けやすい」、1kΩは「控えめな明るさで試せる」という違いとして覚えておくと整理できます。

抵抗は向きがないので、D8 側に入れても LED 側に入れても直列になっていれば動作は同じです。
このセクションでは、配線図を追いやすいように D8 から先に抵抗を入れ、そこから LED の長い足へつなぐ形で統一しています。

NOTE

抵抗の位置よりも、「D8 から LED を通って GND へ戻る一本の道になっているか」を見るほうが、配線ミスの発見が速くなります。

動作確認のチェックリスト

内蔵LEDは点滅したのに外部LEDが点かないときは、コードより配線を順番に見直すと原因が見えてきます。講座の現場でも、止まる場所はだいたい決まっています。

  • コードのピン番号が 8 になっていて、実際の配線も D8 につながっている
  • LEDの長い足が抵抗側、短い足が GND 側になっている
  • 330Ω抵抗が D8 と LED の間に直列で入っている
  • LEDの短い足の行が、最終的にArduinoの GND へつながっている
  • ブレッドボード上で LED の2本足が同じ列に入っていない
  • GND 用に使った電源ラインが途中で分断されておらず、実際に GND ピンへつながっている
  • 内蔵LED版のスケッチでは点滅し、外部LED版でだけ反応がない

このチェックの中でも、ブレッドボードの列の見間違いと GND の取り忘れは頻出です。
筆者は、外部LEDが無反応だったときに配線を総入れ替えするより、まず「D8 から抵抗へ」「抵抗から長い足へ」「短い足から GND へ」と一本の流れで指を追わせます。
その順に見るだけで、どこで線が切れているかを見つけやすくなります。
内蔵LEDが動いているなら、ボードやIDEではなく、外部回路のどこか一か所に原因があると考えると整理しやすくなります。

コードの読み方をやさしく理解する

setup()/loop()の役割

Arduinoのスケッチは、まず setup() が1回だけ実行され、そのあと loop() が何度も繰り返し動く、という形で読むと整理できます。Arduino公式の『Blink』もこの構造で説明されています。
電源を入れた直後やリセット直後に準備をする場所が setup()、動かし続けたい本体の処理を書く場所が loop() です。

今回の LED 点滅コードでいうと、setup() では「このピンを出力として使う」と宣言し、loop() では「点ける、待つ、消す、待つ」を繰り返しています。
ここが見えてくると、ただの丸暗記ではなくなります。
たとえばボタンを読むなら setup() で入出力の向きを決め、loop() でボタン状態を読み続ける、という発想にそのまま広げられます。

筆者が講座でよく見るのは、setup() に点滅処理まで全部書いてしまい、「1回しか点かない」と戸惑うケースです。
これは動作として正しくて、setup() は最初の1回しか呼ばれないからです。
逆に loop() に書いた処理は止まらず回り続けるので、LED の点滅のような繰り返し動作に向いています。

pinMode/digitalWrite/delay

外部 LED 版のコードには、最初に覚えたい命令がまとまって入っています。1行ずつ意味を追うと、コードの見通しが一気によくなります。

pinMode(8, OUTPUT); は、デジタルピン 8 番を出力モードに設定するという意味です。
ここでは D8 から LED に電気を出したいので、OUTPUT を指定します。

digitalWrite(8, HIGH); は、8 番ピンを HIGH にするという意味です。HIGH は出力をオンにする側、LOW はオフにする側、とまずは覚えておけば十分です。
LED 回路では HIGH で点灯、LOW で消灯という読み方になります。

delay(1000); は、1000 ミリ秒待つという意味です。delay() の単位は秒ではなく ms(ミリ秒) です。1000 なら1秒、500 なら0.5秒、2000 なら2秒です。

ここはコードを読む練習に向いた部分でもあります。たとえば次の4行は、「1秒点けて、1秒消す」をそのまま文章にした形です。

digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);
delay(1000);

delay() を短くしていくと見え方が急に変わります。
1000ms では誰が見ても点滅ですが、100ms 前後になると「点滅している」というより「なんとなく点きっぱなしに見える」瞬間が出てきます。
さらに短くすると、目では切り替わりを追えず、連続点灯のように感じます。
この体感は、次に出てくる PWM の理解にもつながります。
高速でオンオフを繰り返すと、明るさの違いのように見える場面があるからです。

LED_BUILTINとは何か

LED_BUILTIN は、基板に最初から載っている内蔵 LED のピン番号を表す定数です。
数値を直接書く代わりに、この名前を使うと「どの LED を光らせたいコードなのか」が読み取りやすくなります。

内蔵 LED 版のコードでは、たとえばこう書けます。

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

外部 LED 版との違いは、どのピンを使うかを自分で決めるか、基板内蔵の LED に任せるかです。
外部 LED のコードでは 8ledPin を使って D8 を指定しました。
一方、LED_BUILTIN は基板上の LED 用なので、ブレッドボードの配線と連動していません。
つまり、内蔵 LED 版は「ボード単体の動作確認」、外部 LED 版は「配線込みの確認」という読み分けができます。

この違いを意識しておくと、トラブルの切り分けにも役立ちます。LED_BUILTIN では光るのに D8 の外部 LED が光らないなら、コード全体より配線側を見るべきだ、と判断できます。
前のセクションで扱った外部回路のチェックともつながる部分です。

演習:点滅間隔を変える

コードの意味がつかめてきたら、delay() の値だけを変える演習がぴったりです。書き換える場所がはっきりしていて、結果も目で確認できます。

まずは 1000200 に変えると、LED はテンポよく点滅します。
まだオンオフを目で追えますが、落ち着いた点滅というよりは素早い点滅に変わります。500 にすると、その中間で、変化を観察しやすい間隔です。2000 にすると、今度は1回ごとの待ち時間が長くなり、「いま点いている時間」と「消えている時間」をはっきり区別できます。

試すなら、次のように delay() の数値だけ差し替えれば十分です。

const int ledPin = 8;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(200);
  digitalWrite(ledPin, LOW);
  delay(200);
}

この演習で見てほしいのは、コードの1つの数字が、そのまま見た目の変化になる感覚です。
プログラムは抽象的な命令に見えますが、LED の点滅なら「待つ時間」がそのまま体験に直結します。
ここが腑に落ちると、次のステップで出てくる analogWrite() による PWM、analogRead() を使ったアナログ入力、ボタンでの入力判定も理解しやすくなります。
入力を読んで、条件で分岐し、出力を変えるという流れは、今回の loop() の延長線上にあります。

動かないときのチェックポイント

まず疑うべき3点

LED が光らないとき、筆者はまず LED の向き、ピン番号、GND の3点から見ます。
ここで引っかかるケースが最も多いからです。
コードを何度も書き直す前に、配線の基本だけを静かに見直すほうが早く解決します。

1つ目は LED の極性 です。
5mm LED は長い足がアノード、短い足がカソードです。
点灯回路では、アノード側が抵抗を経由してデジタルピンにつながり、カソード側が GND に落ちている形になっているかを見ます。
足をあらかじめ切っている LED だと長短で判別できず、向きを逆にしたまま組んでいることがあります。
教室でもここは定番のつまずきどころで、LED 本体の平らな面や内部電極の大きさまで見る場面がよくあります。

2つ目は ピン番号の取り違え です。
コードでは D8 に書き込んでいるのに、実際のジャンパーワイヤは D9 に刺さっていた、という食い違いは珍しくありません。
Arduino UNOはデジタル I/O が 14 本あるので、1 本ずれるだけでも動作は変わります。
前のセクションで使った接続表と、今ボードに刺さっている場所を1本ずつ照合すると、あっさり原因が見つかることがあります。

3つ目は GND 未接続 です。
LED と抵抗とピンだけを見ていると、GND の1本が抜けていることを見落としがちです。
回路は電流の戻り道がないと閉じないので、共通グラウンドが切れていると LED は光りません。
長時間の実習では、ジャンパーワイヤが見た目では刺さっていても少し浮いている“半抜け”も多く、押し込んだだけで直ることがあります。

TIP

[!NOTE] 筆者の教室では、ブレッドボードの列の向きを指で追いながら確認するようにしています。
抵抗と LED を同じ列に挿してしまい、意図しない短絡になっているミスが本当によく出るからです。
ブレッドボード中央部は同じ列の穴が内部でつながっているので、「別の穴に挿したから別配線」とは限りません。

ボード/ポート/ケーブルを見直す

配線に問題が見当たらないのに書き込みや実行がうまくいかないときは、ボード設定、ポート選択、USB ケーブル を順番に見ます。
ここは回路ではなく PC 側の接続条件の問題です。

まず見たいのは ボード選択 です。Arduino IDEでは、対象ボードがArduino UNOになっていないと書き込みエラーの原因になります。
とくに複数のボードを触ったあとや、別の教材を試した直後は設定が残っていることがあります。Arduino公式のArduino Getting Startedでも、ボードとポートを選んでからアップロードする流れが基本になっています。
IDE 上では「ボードは合っているか」「選んだポートがそのボードのものか」をセットで見たほうが判断がぶれません。

次に ポート未選択・誤選択 です。
Windows では COM 番号、macOS では /dev/cu.usbmodem*、Linux では /dev/ttyACM* といった名前で現れることが多く、違うデバイスをつかんでいると当然アップロードできません。
ありがちなのは、接続し直したあとに COM 番号が変わっていたのに、以前の番号のままになっている状態です。
ポート一覧に何も出ないときは、配線より先に USB 接続そのものを疑う場面です。

そこで外せないのが USB ケーブルの給電専用問題 です。
給電専用ケーブルだと、ボードの電源ランプは点いても PC からシリアル機器として見えません。
つまり「通電しているのにポートが出ない」という紛らわしい症状になります。
見た目だけでは判別できないので、別ケーブルに替える、PC の別 USB ポートへ差し替える、手元のデータ通信実績があるケーブルで試す、という切り分けがいちばん手堅いです。
ワークショップでも、最初からここを疑うと復旧が早い場面がよくあります。

書き込みエラー が出たときの定番対応も、試す順番を固定すると迷いません。
ボードをUNOに戻す、シリアルモニタを閉じる、IDE を再起動する、別の USB ポートへ差し替える、別 PC で同じボードをつないでみる、という順に進めると、原因がボード側か PC 側かが見えます。
シリアルモニタや他のシリアル通信ソフトがポートをつかんだままだと、アップロード時に失敗することがあります。
Blinkの公式ページにある最小サンプルで試すのも有効で、余計なコード要因を減らせます。

内蔵LEDでの切り分け

トラブル時に最も頼りになるのが、内蔵 LED の Blink が動くかどうか です。ここで見るのは「配線の問題か、書き込みの問題か」という切り分けです。

内蔵 LED が点滅するなら、ボードとの通信、書き込み、実行の流れは通っています。
その状態で外部 LED だけ光らないなら、原因は外部回路に寄っています。
具体的には、LED の極性、D8 と実配線の食い違い、GND の抜け、ブレッドボード上の列の読み違いあたりです。
コード全体を疑うより、配線の1本ずつを追うほうが解決に近づきます。

逆に、内蔵 LED の Blink すら動かないなら、外部 LED 回路の前に 書き込み環境 を見ます。
ポートが合っていない、ケーブルがデータ非対応、ボード選択が違う、シリアルモニタがポートを占有している、といった定番原因が候補に上がります。
ボード単体で動くかを先に見れば、ブレッドボード配線と PC 接続を同時に疑わずに済みます。

筆者の経験では、初心者ほど「全部が悪いのでは」と感じて手が止まりがちです。
ただ、内蔵 LED の Blink はその混乱を整理するための基準点になります。Arduino公式のBlinkは点滅間隔 1000 ms のシンプルなスケッチなので、今の状態を確認する物差しとしてちょうどよいです。
外部 LED が動かないときほど、いったん内蔵 LED に戻すと道筋が見えてきます。

次に作るならこれ:ボタン・PWM・センサー

ここからは、Lチカでつかんだ「デジタル出力」の感覚を、入力やセンサーへ広げていく段階です。
Arduino UNOにはデジタルI/Oが14本、アナログ入力が6本あり、最初の1個のLEDからでも題材を少しずつ増やせます。
筆者がワークショップで見てきた限り、次の一歩は一度に全部触るより、1テーマだけ選んで深掘りするほうが理解が定着します。
難易度の目安で言えば、ボタン入力は入門、PWMは入門から初級、可変抵抗とアナログ入力は初級、温度や距離センサーは初級から中級、その先のモーターやWi‑Fiは中級という並びで考えると道筋が見えます。

Arduino公式のArduino Getting Startedにも、基本の入出力を積み上げながら理解していく流れが示されています(参照例: docs.arduino.cc、確認日: 2026-03-18)。
Lチカの次は、LEDを「点ける」だけでなく、「押したら反応する」「明るさを変える」「値を読む」に広げるのが自然な学習順です。

ステップ1:ボタン入力でLED制御

いちばん自然な発展は、ボタンを押したらLEDが点く回路です。
ここで覚えたいのが、ボタンを入力ピンに直接つなぐだけでは状態が不安定になりやすいことと、INPUT_PULLUP を使うと配線を減らせることです。
プルアップを使う構成なら、ボタンの片側を入力ピン、もう片側をGNDへつなぐだけで済みます。
外付け抵抗なしで始められるので、初心者が配線図を見失いにくくなります。

コードの考え方もシンプルです。
ボタンを押していないときは HIGH、押したときは LOW と読まれるので、最初はこの反転だけ押さえれば進めます。
LED制御の題材としては、押している間だけ点灯させるより、押すたびに点灯と消灯を切り替える、あるいは点灯と点滅を切り替えるほうが「入力で状態が変わる」感覚をつかみやすいです。

ここで一度ぶつかるのが、ボタンのチャタリングです。
機械式スイッチは1回押したつもりでも接点が細かく揺れて、短時間に何回も押されたように見えることがあります。
筆者は最初、この現象をソフトだけでスマートに処理しようとしてかえって混乱しました。
むしろ入門段階では、押したあとに短い delay() を入れて様子を見る運用のほうが、「なぜ1回で2回切り替わるのか」を目で追えます。
あとで millis() を使った方法に進めばよく、最初は現象を体感することに意味があります。

難易度の目安は入門です。
まずは「押したら点灯」、次に「押すたびに点灯/消灯切替」、その次に「押すたびに点灯/点滅切替」という順番だと、入力と状態管理の両方が身につきます。

ステップ2:PWMで調光する

LEDをもっと“電子工作らしく”見せてくれるのが、PWMでの調光です。
Arduino UNOでは analogWrite() を使い、値を0〜255で指定して明るさを変えます。
ここでの注意点は明確で、PWM対応ピンのみで使うことです。
UNOなら D3、D5、D6、D9、D10、D11 の6本が該当します。
たとえば D9 にLEDをつなぎ、analogWrite(9, 128); と書けば、見た目としては中くらいの明るさになります。

PWMは本当のアナログ電圧を出しているのではなく、高速なオンオフで平均的な明るさを作っています。
以前の点滅で「速くすると点きっぱなしに見える」と感じた延長線上にある考え方です。analogWrite() はこの切り替えを自動で行ってくれるので、値を少しずつ増減させれば、LEDがふわっと明るくなったり暗くなったりする表現も作れます。

PWMは数値だけ見ていると単純でも、実際にLEDを見ると「思ったより均一ではない」と感じる場面があります。
周波数と人の目の残像の関係で、環境によってはわずかなちらつき感を拾うことがあるからです。
とくに視線を動かしたときや、スマートフォンのカメラ越しに見たときは違いが見えやすく、PWMが“高速点滅の応用”だと実感できます。

難易度の目安は入門〜初級です。
最初の題材としては、ボタンで analogWrite() の値を切り替え、暗い・中くらい・明るいの3段階にする方法がちょうどよいです。
連続的な変化に進む前に、段階制御でデューティ比の感覚をつかむと迷いません。

TIP

[!NOTE] PWMでLEDを制御するときは、最初に「ピンがPWM対応か」を見ておくと切り分けが早くなります。
コードが合っていても、非対応ピンでは期待した調光になりません。

ステップ3:可変抵抗とアナログ入力

入力側の理解を一段進めるなら、可変抵抗をA0につないで値を読む題材が定番です。
ボリュームを回すと電圧が変わり、その電圧をArduino UNOのアナログ入力が読み取ります。
UNOでは 0〜5V を 0〜1023 の値として扱うので、シリアルモニタに表示すると「つまみの位置が数字に変わる」感覚がつかめます。

この題材のよいところは、ボタンのような0か1かではなく、連続した値を扱えることです。
さらに、読んだ値をそのままPWMの値へ変換すれば、可変抵抗でLEDの明るさを連続的に変えられます。
つまり、A0で analogRead() した 0〜1023 の値を、PWM用の 0〜255 に合わせて使う流れです。
入力と出力が一本につながるので、センサー工作の基本形として完成度があります。

筆者はこの段階で、プログラムの見え方が一気に変わると感じます。
Lチカまでは「決めたタイミングで動かす」世界でしたが、可変抵抗に入ると「外から入ってくる値で動きが決まる」世界に変わるからです。
センサーを使う準備としてもここが分岐点で、数値を読み、必要な形に変換し、LEDやブザーへ返すという流れの土台になります。

難易度の目安は初級です。取り組む順番としては、まずA0の値をシリアルモニタに表示し、その次にLEDの明るさへ反映する二段構えが安定します。

さらに:温度/距離センサー

可変抵抗で「アナログ値を読む」感覚が入ったら、温度センサー距離センサーへ進む流れが自然です。
たとえばアナログ温度センサーなら、温度に応じた電圧を読み取って数値化する流れになります。
可変抵抗との違いは、つまみの代わりに現実世界の変化が値になる点です。
室温が上がると表示が変わるだけでも、電子工作が急に“計測”へ近づきます。

もう一つの定番が、超音波式の距離センサーです。
こちらは温度センサーより配線とコードの要素が少し増えますが、手を近づけた距離でLEDの点滅速度や明るさを変えると、反応が目で見えて楽しい題材になります。
ボタン、PWM、アナログ入力まで触れていれば、入力値に応じて出力を変える発想はすでに持てているので、急に別世界へ飛ぶ感じはありません。

難易度の目安は、アナログ温度センサーが初級、超音波距離センサーが初級〜中級です。
どちらを選ぶかで迷ったら、配線と数式の少なさでは温度、反応のわかりやすさでは距離が一歩先に出ます。
センサーの種類を増やすより、まず1個をつないで「読めた値をどう使うか」まで進めたほうが学習効率は高くなります。

関連記事Arduinoセンサーの使い方|温度・距離・光入門Arduino UNOでセンサーを始めるなら、まずは「値がちゃんと変わる感覚」をつかむのが近道です。この記事では温度ならLM35DS18B20、距離なら超音波・IR・VL53L0X、光ならLDRを横断しながら、A0・A4・A5・Dピンの配線、必要ライブラリ、

その先:モーターやWi‑Fiへ

LEDとセンサーの次に見えてくるのが、モーター制御Wi‑Fi接続です。
モーターは光ではなく“動き”を出せるので、サーボで角度を変える、DCモーターを回すといった題材に広がります。
ここでは電流の扱いがLEDより重くなり、ドライバ回路の考え方も入ってきます。
そのぶん、物理的に動く成果物へつながりやすく、工作としての満足感が大きい領域です。
難易度の目安は中級です。

(参照例: Arduino公式ストア Boards & Modules、確認日: 2026-03-18)UNO R4 WiFiはWi‑Fi搭載の入口として現実的な選択肢です。
Wi‑Fi機能を使う場合は、ボードのドライバや追加ライブラリの導入が必要になることがあるため、製品ページの「Getting Started」やドキュメントをあらかじめ確認してください。
学び方としては、ボタン、PWM、可変抵抗、温度/距離センサーのどれか1本を選び、そこで「入力→判定→出力」の形を作ってから次へ進むと、回路もコードも断片になりません。
Lチカを土台にしている限り、発展の方向は変わっても、見ている本質は同じです。

この記事でできるようになったこと

ここまで読めたら、Arduino UNOをPCへつなぎ、Arduino IDEでボードとポートを選び、まずは内蔵LEDのBlinkを書き込む流れがつかめています。
そこから外部LEDへ広げて、抵抗を入れた回路でLチカを作る入口まで到達できました。
最初の一歩としては十分で、もう「何をどう始めればよいか」で止まる段階は抜けています。

今すぐやる3ステップ

今の段階なら、やることは絞ったほうが前に進めます。

  1. Arduino IDEを入れて、内蔵LEDのBlinkを書き込む
  2. 外部LEDと抵抗をつないで、自分の回路でLチカを再現する
  3. delay() の値を変えて、見え方がどう変わるか観察する

この3つを終えるだけで、接続、書き込み、回路、コード変更の基本動作が一周します。

関心別の次の一歩

次の練習は、ボタン入力かPWM調光のどちらかを1つ選ぶのがおすすめです。
押したら反応する仕組みを作りたいならボタン、明るさを連続的に変える感覚をつかみたいならPWMが向いています。
その先は、計測に興味があればセンサー、動きを出したければモーター、通信まで広げたければESP32やUNO R4 WiFiという流れでつながります。
製品世代や価格は変動するので、たとえばArduino公式ストアのUNO R4 WiFi価格例やUNO Q 4GB価格例のような情報も、見る時点を意識して公式情報で確認する姿勢を持っておくと判断がぶれません。

שתפו מאמר זה

中村 拓也

大手メーカーで組込みシステムの開発に15年従事。Arduino・Raspberry Piを活用した自作IoTデバイスの制作実績多数。電子工作の基礎から応用まで、実務経験に基づいた解説を得意とする。