Arduino IDE セットアップ|インストールと初期設定

Arduino IDE 2(現行 2.3.8)で最短に動作確認まで進みたい人向けに、この記事ではインストールから初期設定、Blinkの書き込み、シリアルモニター、つまずきやすいトラブルの切り分けまでを順番に案内します。
Arduinoはスケッチの作成・検証・書き込みに使う統合開発環境で、今から始めるなら Windows 10/11 は 2 系、Windows 7 は 1.8 系を選ぶのが迷いにくい入口です。
筆者の経験では、初回のつまずきとして「ポートが出ない」「ボード選択を間違える」といった症状が頻繁に見られます。
この記事もその順で進めます。
実地講習では、IDE 2 のクイックバーでボードとポートを確認できるようになると設定ミスがぐっと減るため、旧 1.8 系との画面の違いも先に押さえます。
単に入れ方を並べるのではなく、互換機が認識しない、COM ポートが出ない、シリアルモニターに何も出ないといった初回トラブルを原因別に切り分けます。
自力で一歩ずつ解消できる構成にしているため、対応の順序がわかりやすくなっています。
インストーラーはArduino公式サイトから入手し、位置づけの違いはサポートページで確認できます。
arduino-ideとは初心者が最初に知っておきたい役割">Arduino IDEとは?初心者が最初に知っておきたい役割
Arduino IDEは、Arduino向けの統合開発環境です。
Arduinoのプログラムは「スケッチ」と呼ばれ、その中でスケッチを作成・編集し、検証、つまりコンパイルし、ボードへ書き込む、つまりアップロードするところまでをひとまとめに扱います。
単なるテキストエディタではなく、ボードの選択、ライブラリの導入、シリアルモニターでの確認まで同じ画面の流れで進められるのが役割です。
この記事ではArduino IDE 2を前提に話を進めます。
現行の安定版はArduino公式サイトに掲載されている 2.3.8 で、GitHubのarduino-ide Releasesでは 2026-02-25 公開と確認できます。
古い検索結果や動画ではArduino IDE 1.x前提の説明が今も多く残っていますが、これから始めるなら、まずは「いまの標準画面」で覚えたほうが遠回りになりません。
ここで混同しやすいのが、Arduino IDE 1.8.19もまだよく記事に出てくる点です。
これはクラシックIDEの最終版です。
公式のサポートページでも、現行の中心は 2 系という位置づけです。
つまり、1.8.19は「古いけれど今も名前を見かける版」であり、今後の入門記事として基準にする版ではありません。
ただし、Windows 7 を使う場合は 1.8 系前提で考える必要があります。
この点だけは例外で、OSの都合で選択肢が分かれます。
初心者にIDE 2を勧める理由は、機能が増えただけではありません。
コードを書いている途中で候補を出してくれる自動補完、関数や定義元を追いやすいコードナビゲーション、対応ボードでは停止位置を見ながら動きを追えるデバッガー、そしてボードやライブラリの管理画面が整理されたUIが、最初のつまずきを減らしてくれます。
特にIDE 2はボードマネージャーやライブラリマネージャーの導線が自然で、「何を追加したのか」「いま何を選んでいるのか」が画面から読み取りやすくなっています。
旧1系の解説で出てくる「ツール」メニュー中心の説明と、現行2系のクイックバー中心の操作感が違うのは、このためです。
筆者の講座でも、最初に覚えてもらうのは難しいコードの書き方ではなく、検証ボタンでエラーが0になってから書き込むという順番です。
この流れを体で覚えるだけで、配線ミスとプログラムミスを切り分けやすくなり、受講者の手が止まる回数が目に見えて減ります。
初心者のうちは「書き込めない」という現象をひとまとめに考えがちですが、実際にはコンパイルで止まっているのか、ボード設定で止まっているのか、通信で止まっているのかで対処が違います。
IDEの役割を「書く道具」ではなく、「編集・検証・書き込みを順番に通すための作業台」と捉えると、画面の見え方が一気に変わります。
TIP
IDE 2のデバッガーは魅力的な機能ですが、すべてのArduinoボードで使えるわけではありません。
Arduino UNO R3のような定番ボードでは、まず「編集して検証し、書き込んで動かす」流れを身につけるのが先です。
このあと出てくるインストールや初期設定の手順も、前提はすべてこの役割に沿っています。
どの版を使っているのか、画面が 1.8 系なのか 2 系なのかを最初に切り分けておくと、古い記事を読んだときにも迷子になりません。
まずは確認|Arduino IDE 1.8系と2系の違い
OS対応の違い
版選びで最初に切り分けたいのは、機能よりも使っているOSで動くかどうかです。
ここがずれると、古い解説を読んでいるのか、そもそも対象外の環境なのかが見えにくくなります。
今回の記事はデスクトップ版のArduino IDEに絞っていて、ブラウザで使うArduino Cloud Editorは別の選択肢として存在するものの、ここでは比較の中心にしません。
実務的な整理としては、Windows 10/11ならIDE 2を選びます。
Windows 7ならIDE 1.8系と考えるのがいちばん迷いません。
Arduino公式サポートページでも、 Arduino IDE 1.8.19がクラシックIDEの最終版という位置づけです。
つまり、1.8系は「昔の環境でも動かしたい」「古い教材と同じ画面で追いたい」ときの基準点になります。
一方で、今から新しく始めるなら基本はIDE 2です。
公式のArduino Softwareページでも現行のデスクトップIDEとして案内されていて、開発の中心は2系にあります。
旧版を選ぶ理由がOS互換や教材追従でなければ、2系を前提にしたほうが後の情報収集もつながりやすくなります。
古いノートPCを教材用に再利用する場面では、この違いがそのまま作業の流れに出ます。
たとえばWindows 7環境でIDE 2前提の解説を追うと、最初のインストール段階から話が噛み合いません。
逆にWindows 10/11なのに1.8系の画面だけを見て進めると、あとで出てくる画面差分に引っかかります。
筆者の講座でも、ここを最初に整理しただけで「同じArduinoなのに説明が違う」という混乱がぐっと減りました。
UI差分の要点
IDE 1.8系とIDE 2で初心者が最も戸惑いやすいのは、ボードとポートの選び方が違って見えることです。
1.8系ではツール > ボードツール > ポートを順に開く流れが中心でした。
古い記事に出てくるツール > シリアルポートという表現も、ほぼこの画面前提です。
IDE 2では、この操作を画面上部のステータスバー付近にあるクイック選択から進める場面が増えました。
接続したボード候補やポートを上側から拾えるので、毎回メニュー階層をたどらなくて済みます。
旧記事どおりにツール > シリアルポートを探して止まる人は本当に多くて、筆者は最初に「上のボード/ポート表示を見る」と案内するようにしています。
このひと声だけで、設定箇所を見失う人が減るんですよね。
機能面でも、IDE 2は見た目の刷新だけではありません。
コード入力中に候補を出す自動補完、関数の定義元や参照先を追えるコードナビゲーション、そして停止しながら処理を追えるデバッガーが入っています。
とくにスケッチが長くなってくると、変数名の打ち間違いを早めに拾えたり、関数ジャンプで見通しを保てたりするので、1つのファイルで学習していた段階から次に進みやすくなります。
デバッガーは魅力的ですが、ここは少しだけ前提があります。すべてのArduinoボードで使えるわけではなく、対応ボードに限られます。 たとえばSAMD系やMbed系の一部ボードでは活用しやすい一方、UNOのように古典的な学習定番ボードでは、シリアル出力で状態を見る流れがまだ中心です。
なので、IDE 2にデバッガーがあるからといって、どのボードでもブレークポイントを置いて追えるわけではありません。
IDE 1.8.19はクラシック版らしく、UIはシンプルです。
古いチュートリアルの画面と一致しやすいので、「記事のスクリーンショットと同じ場所を見たい」という場面では助かります。
ただし、補完やナビゲーションの支援は2系ほど厚くありません。
短いBlinkやシリアルモニター確認なら問題ありませんが、ライブラリを組み合わせて少し大きめのスケッチを書く段階では、2系のほうが現在地を見失いにくい構成です。
この違いを知っておくと、古い記事を読んだときにも「説明が間違っている」のではなく「1.8系の画面を前提にしている」と切り分けられます。
そこが見えると、ボード選択やポート選択の場所が違っても、やること自体は同じだと落ち着いて追えるようになります。
Arduino IDE 2のインストール手順
現行のデスクトップ版を入れるなら、公式のArduino SoftwareページからArduino IDE 2.3.8を選ぶのが基準です。
共通の流れはどのOSでもほぼ同じで、インストーラをダウンロードして起動し、ライセンスに同意し、インストール先を確認して、初回起動まで進めます。
ここで旧記事と混同しやすいのですが、クラシック版はArduino IDE 1.8.19が最終版です。
今の学習環境がWindows 10/11なら2系が基本で、Windows 7は1.8系前提として切り分けると迷いません)。
2系を選ぶ意味は、見た目が新しいからだけではありません。
Arduino公式のGetting Startedガイドでも案内されている通り、自動補完、コードナビゲーション、デバッガーといった機能が入り、学習用の短いスケッチから少し大きめのコードへ進むときに差が出ます。
デバッガーは対応ボードが前提ですが、補完や関数ジャンプは日常的に効いてきます。
初回起動時は自動アップデート確認や、ボード・ライブラリ関連の通信が走ることがあるので、プロキシ設定やセキュリティソフトの影響で起動直後だけ挙動が鈍る場面もあります。
USB接続でつまずいたように見えて、実際は通信まわりで止まっていた、というケースも現場では珍しくありません。
なお、ボード接続に使うUSBケーブルはデータ通信対応品が前提で、充電専用ケーブルではポートが出ません。
Windows 10/11の手順
Windows 10/11では、まずArduino SoftwareからWindows向けのArduino IDE 2.3.8をダウンロードし、セットアップウィザードを起動します。
あとは画面の案内に沿ってライセンスへ同意し、インストール先を確認して進めれば導入自体は難しくありません。
ここがポイントです。USBケーブルでArduinoをつなぐのは、IDEのインストールが終わってからにすると、切り分けが素直になります。
先に接続すると、ドライバやポート認識の話とIDE本体の導入が同時に重なって、初心者ほど混乱しがちです。
初回起動では、Windowsファイアウォールの許可ダイアログが出ることがあります。
筆者の環境でもこの確認はよく出ますが、プライベートネットワークの許可を入れて進めたほうが安定します。
実際、許可しないまま始めると、ボード情報やライブラリの取得が途中で不安定になったことがありました。
Arduino本体の書き込みだけ見れば通信を拒否しても動きそうに見えるのですが、IDE 2はボードマネージャーやライブラリマネージャーを使う前提で触ることが多いため、ここで止まると後から原因を追いにくくなります。
インストール後にArduino UNOや互換機を接続すると、Windowsではデバイスマネージャー上でCOMポートとして見えるのが一般的です。
純正UNO系ならそのまま進むことが多い一方、互換ボードではCH340やCP210x系のUSBシリアルが載っていることがあり、そこで別途ドライバが関わる場合があります。
IDE本体の導入とボード個別の認識は別段階として考えると、どこで止まっているか判断しやすくなります。
macOSの手順
macOSでは、Arduino Softwareから自分のMacに合った版を選びます。Intel MacとApple Silicon Macで配布ファイルが分かれているので、そこだけは先に見ておきたいところです。
ダウンロードしたdmgを開いたら、Arduino IDEのアプリをApplicationsフォルダへドラッグします。
Windowsのようなウィザード形式ではなく、アプリ配置で完了する流れです。
もうひとつ見落としやすいのが、初回セットアップの所要時間です。
Arduino UNO中心なら比較的すぐ整いますが、ESP32のように追加ボードパッケージを入れる構成や、互換ボードのUSBシリアルドライバが必要な構成では、アプリ本体の配置だけで完了とはなりません。
とくに外出先でまとめて済ませようとすると、ボードパッケージ取得、初回通信、ドライバ許可の手順が重なって足踏みしやすいので、作業感としては「IDEを置くだけ」より一段階あります。
Linuxの手順と権限設定
Linuxでは、Arduino Softwareから配布されているAppImageなどを取得し、ダウンロードしたファイルに実行権限を付けてから起動します。
たとえばターミナルでは chmod +x を付けて実行可能にする流れです。
インストーラ型ではないので、起動できない場合はまず権限を疑うと切り分けが早く進みます。
古めのディストリビューションでは互換性で止まることがあり、この点はGitHubのarduino-ide Releasesにあるリリースノートの記載が役立ちます。
Linuxで本当につまずきやすいのは、IDE本体よりUSBシリアルへのアクセス権です。
Arduinoや互換ボードをつないでも、/dev/ttyUSB0 などのデバイスが見えているのに開けない、という状態は珍しくありません。
その場合、ユーザーを dialout などのグループへ追加して権限を整えるのが定番です。
講座では usermod -aG dialout $USER を実行したあと、再ログインを忘れて認識しないという事例が毎回のように出ます。
コマンドを打った時点で解決した気分になりやすいのですが、セッションを開き直さないと反映されません。
それでも認識が安定しない場合は、udevルールでアクセス権を調整する方法があります。
たとえばCH340系では 1a86:7523 のようなIDを使ったルール例が知られていて、/etc/udev/rules.d/ 配下に設定ファイルを置く構成がよく使われます。
複数のUSBシリアル機器を抜き差しする環境では、/dev/ttyUSB0 の番号が入れ替わることもあり、教室や検証机で何台も並べるとこの現象が表に出ます。
筆者の感覚では、1台だけなら気づきませんが、2台目から「昨日の設定がそのまま通らない」と感じる場面が増えます。
IDEの問題に見えて、実際はLinux側のデバイス列挙順が変わっているだけ、ということもあります。
Linuxでも、初回起動直後はボードやライブラリ関連の通信が走るため、プロキシやセキュリティ設定の影響を受けます。
IDEが起動したのに追加パッケージの取得だけ失敗するなら、権限設定と通信設定を分けて見ると整理しやすくなります。
USBケーブルについてはWindowsやmacOSと同じで、充電専用ではなくデータ対応品が前提です。
ここを外すと、権限を整えてもポート自体が現れません。
Releases · arduino/arduino-ide
Arduino IDE 2.x. Contribute to arduino/arduino-ide development by creating an account on GitHub.
github.com初期設定で最初にやること
表示言語・テーマ・文字サイズ
インストール直後に開いておきたいのが環境設定です。
Arduino IDE 2では、メニューのファイルから環境設定に入れます。
ここで先に整えておくと、画面を読む負担が減り、以後の作業で迷う回数も減ります。
IDE 2は旧IDE 1.8と同じく設定項目自体はシンプルですが、普段よく触る入口は少し変わっていて、実作業では上部ステータスバーからのクイック選択を使う場面が増えます。
公式のGetting Startedガイドを見ても、この新しい操作導線が前提になっています。
表示言語は環境設定の言語項目で切り替えられる場合があります。
ただしローカライズの範囲やバージョン差により日本語表示が完全でないこともあるため、実際に使う環境で「環境設定」内の言語項目を確認することを推奨します。
必要なら公式ドキュメントや実行環境での確認結果を併記してください。
テーマは明るい配色と暗い配色から選べます。
昼間の明るい部屋で教材を見ながら操作するならライト系、夜にモニターへ長時間向かうならダーク系のほうが目線が落ち着くことが多いです。
講座ではノートPCの画面サイズがばらばらなので、テーマより先に文字サイズを上げる人もいます。
エディタ文字サイズは思っている以上に作業効率へ響きます。
ソースコードの1行が読めても、エラーメッセージやタブ名が小さすぎると、結局は見落としが増えます。
筆者は最初の設定で、サンプルコードを開いた状態のまま文字サイズを少し上げ、行番号とメッセージ欄まで無理なく読めるところで止めることが多いです。
スケッチ保存場所の確認
次に見ておきたいのがスケッチの保存場所です。
Arduino IDEでは、既定の保存先がドキュメント配下のArduinoフォルダになっています。
最初はそのままでも動きますが、複数のPCを使っていたり、クラウド同期フォルダを普段の作業場所にしていたりすると、どこへ保存されたのか見失うことがあります。
「スケッチブックの場所」の設定を一度確認するだけでも、ファイルがどこへ置かれるのか頭の中で整理できます。
ここが曖昧なままだと、Blinkを少し直したコードを保存したつもりで別名ファイルになっていたり、サンプルを書き換えてしまったつもりが別フォルダへ保存されていたりと、初歩的な混乱が起きます。
筆者の講座でも、書き込みエラーより前に「保存したファイルが見つからない」で止まる人は少なくありません。
原因をたどると、保存場所を意識しないまま進めていただけ、ということが多いです。
教材ごとにフォルダを分ける場合も、既定のArduinoフォルダを起点にしておくと、サンプル、練習用、提出用の整理が崩れにくくなります。
特にライブラリを使う段階へ進むと、スケッチと関連ファイルの位置関係が見えているほうが理解も早くなります。
最初の段階では凝った構成にせず、「自分のコードはここへ入る」と把握できていれば十分です。
ボード選択とポート選択
初期設定でいちばん実務的なのが、ボード選択とポート選択です。
ここが合っていないと、コードが正しく書けていても書き込みで止まります。
IDE 2では、画面上部のステータスバーからボードを選択を開き、使っている機種を指定します。
たとえばArduino Unoを使うなら、Arduino AVR Boards > Arduino Unoという流れです。
旧IDE 1.8の解説ではツール > ボードから入る手順がよく出てきますが、IDE 2ではステータスバーからのクイック選択が基本の動線です。
もちろんツールメニュー側からも到達できますが、毎回そこを経由するより、上部の表示を見ながら進めたほうが迷いません。
ポート選択も同じステータスバーから行います。
接続したボードに応じて、WindowsならCOMx、macOSならtty.やcu.、LinuxならttyUSB0やttyACM0といった形で見えます。
ボード名だけ合っていても、別のポートを選んでいたら書き込みは通りません。
逆に、ポートだけ合っていてボード定義が違っていても失敗します。
筆者の講座では、作業を始める前に「ボードとポートをセットで確認」と口に出してもらっています。
実際、片方だけ合っている状態は初心者ほど気づきにくく、原因不明のエラーに見えてしまうからです。
TIP
書き込み前に上部ステータスバーを見て、選ばれているボード名とポート名が今つないでいる実機と一致しているかを確認すると、切り分けが一気に進みます。
もしポート欄に何も出てこないなら、ここでは深追いせず、後のトラブル対処で原因を分けて考えるのが近道です。
USBケーブル、ドライバ、OS側の認識、権限設定のどこで止まっているかは、その段階でまとめて見たほうが整理できます。
反対に、ポートは見えているのにボード候補が適切に出ない場合は、追加のボードパッケージが未導入のケースがあります。
Arduino Unoのような定番ボードなら標準範囲で進みますが、ESP32 Dev Moduleのようなボードでは、Arduino公式ドキュメントで案内されているように、ボードマネージャーから追加導入する流れになります。
ここがポイントです。
初回セットアップでは、設定画面で表示を整えることと、実機へ書き込むためのボード・ポートを結びつけることを、別の作業として切り分けて考えると混乱しません。
見た目の日本語化やテーマ変更は快適さの調整で、ボードとポートの一致は動作そのものに直結します。
この順番が頭の中で分かれているだけで、つまずいたときの切り分けがぐっと明確になります。
ボードマネージャーとライブラリマネージャーの使い方
ボードマネージャーの基本
Arduino IDE 2で最初に区別しておきたいのが、ボードマネージャーとライブラリマネージャーの役割です。
ボードマネージャーは、使うマイコン系統に合わせてコアやツールチェーンを追加する場所です。
たとえばArduino Unoなら AVR 系、ESP32 Dev Moduleなら ESP32 系という具合に、土台になる開発環境を入れ替えるイメージです。
一方でライブラリマネージャーは、スケッチの中で使う機能部品を足すための仕組みです。
この違いが頭の中で分かれていると、「ボードが選べない」と「コードで機能が見つからない」を混同せずに済みます。
Arduino UnoやNanoなど、定番の AVR 系ボードを使う場合は、Arduino AVR Boardsが初期状態で入っていることが多いです。
そのため、最初の 1 台目ではボードマネージャーを意識しないまま進められることもあります。
反対に、環境を入れ直した直後や構成がまだ揃っていない PC では、まれに未導入のことがあります。
その場合は、左側のサイドバーからボードマネージャーを開き、Arduino AVR Boardsを検索してインストールします。
Arduino公式のボードマネージャーガイドでも、この流れが基本として案内されています。
初心者の方は、ボードを選ぶ画面に機種名が出てこないと、USB ケーブルやポート認識の問題だと考えがちです。
ですが筆者の講座では、実際には「そのボード系統のパッケージがまだ入っていない」というケースがよくあります。
ポートは見えているのに、候補に目的のボード名が出ないなら、まずボードマネージャー側の導入状況を疑うと切り分けが早く進みます。
ESP32など追加ボードの導入
ESP32のような追加ボードは、AVR 系と違って最初から一覧に出てこないことがあります。
ここで必要になるのが、サードパーティのボードパッケージ URL の登録です。
ファイル > 環境設定を開き、追加のボードマネージャのURLに対象の URL を入れてから、ボードマネージャーで検索します。
ESP32 用の代表的な参照先(公式/実用)は次のいずれかです。
- https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- https://dl.espressif.com/dl/package_esp32_index.json
どちらかを登録してからボードマネージャーで「esp32」を検索すると、esp32 by Espressif Systemsが表示され、インストール後はESP32 Dev ModuleやESP32 WROOM系の候補を選べるようになります。
どちらの URL を使うかは、ネットワークポリシーやミラー方針に応じて選んでください。
なお、ESP32ボード本体によっては USB シリアル変換にCH340やCP210xが載っていることがあります。
ボードパッケージの導入とは別に、OS 側でそのチップを認識する準備が必要になる場面もありますが、ここではまず「ボード候補を出すための作業」として、URL 登録とパッケージ導入を切り分けて考えると整理しやすくなります。
NOTE
ESP32がボード一覧に現れないときは、検索語より先に追加のボードマネージャのURLが入っているかを見ると、原因が一気に絞れます。
ライブラリマネージャーの基本
ライブラリマネージャーは、センサー、ディスプレイ、通信モジュールなどの機能をスケッチから呼び出すための部品箱です。
たとえば I2C 接続の液晶、温湿度センサー、Wi-Fi 通信の補助機能などは、対応ライブラリを入れて #include で読み込む形が基本になります。
つまり、ボードマネージャーが「どのマイコン向けに開発するか」を整えるのに対し、ライブラリマネージャーは「その上で何をさせるか」を足していく役目です。
操作はシンプルで、左側のライブラリマネージャーを開き、使いたい部品名や機能名で検索し、Installを押します。
たとえばAdafruit SSD1306やDHT sensor libraryのように、具体的なライブラリ名で探すと目的の候補にたどり着きやすくなります。
Arduino公式のライブラリ導入ガイドでも、キーワード検索から導入する手順が案内されています。
インストール後にそのまま空のスケッチへ書き始めるより、まず例スケッチを開くと理解が早まります。
導入したライブラリは、ファイル > スケッチ例 > ライブラリ名からサンプルを開けます。
これは初心者にとって見落としがちな入口ですが、配線例、初期化コード、必要な #include の書き方が揃っているので、ゼロから書くより失敗箇所を絞り込みやすくなります。
筆者も新しいライブラリを試すときは、まず例スケッチを開いて、どのオブジェクト名で初期化しているか、どの関数を最初に呼んでいるかを確認します。
ここでも混同しやすいのが、「ボードを追加すればセンサーも使える」と考えてしまう点です。
たとえばESP32を導入しても、OLED 表示や各種センサー制御のコードは別のライブラリが必要です。
逆に、ライブラリだけ入れてもESP32 Dev Moduleそのものがボード一覧に出るわけではありません。
ボードマネージャーは土台、ライブラリマネージャーは機能追加と分けて捉えると、IDE 2 の管理画面がぐっと理解しやすくなります。
最初の動作確認|Blinkを書き込む
Blinkを開く
ここでは、Arduino が実際に動く状態まで整ったかを、定番のBlinkで確かめます。
Blinkは内蔵 LED を一定間隔で点滅させるサンプルで、配線なしで結果が見えるので、最初の確認に向いています。
Arduino公式のGetting Startedガイドでも、最初の導入例として扱われている定番です。
開き方は、IDE 上部メニューのファイル > スケッチ例 > 01.Basics > Blinkです。
空のスケッチを新規作成して手で打ち込むこともできますが、最初は例をそのまま開いたほうが、ボード設定と書き込み動作の切り分けがしやすくなります。
初心者の方が最初につまずく場面では、コードの打ち間違いなのか、接続設定なのかが混ざってしまうことが多いからです。
例スケッチなら、その切り分けが一段階減ります。
Blinkを開くと、setup() と loop() の2つがあり、digitalWrite() で LED を点灯・消灯し、その間に delay() が入っている構成になっています。
ここではコード全体を理解し切るより、「まず書き込める」「書き込んだ結果が LED に出る」という流れを掴むことが先です。
検証と書き込み
ツールバーには、よく似た操作が2つあります。ひとつは検証、もうひとつは書き込みです。この違いを最初に分けておくと、エラー時の見当がつきやすくなります。
検証は、スケッチをコンパイルして文法や構成に問題がないかを見る操作です。
まだボードには送られません。
対して書き込みは、コンパイルしたあとに、その結果を接続中のボードへ転送する操作です。
つまり、検証が通っても LED が変わらないなら、コードではなく転送側に原因があると絞れます。
筆者は講座で、この段階で delay(1000) を delay(500) に変えてもらうことがあります。
点滅が速くなれば、「ただ成功表示が出ただけではなく、本当に今のコードがボードに入った」と体感で理解できます。
この一手間を入れると、受講者の理解が目に見えて進みます。
表示メッセージだけでは実感しにくい人でも、LED のテンポが変わると納得が早いからです。
書き込みで止まったり失敗したりしたときは、順番に原因を見ていくのが近道です。
まずボード選択が合っているか、次にポート選択が合っているかを見ます。
その次に、USB ケーブルやコネクタの接点を疑うと、無駄に遠回りしません。
ここが。
最初のトラブルはコードより接続設定で起きることが多く、しかも見た目では分かりにくいことがあります。
詳細な対処は後述のトラブルシューティングで整理します。
TIP
書き込み前に検証は通るのに動かない状態なら、コード修正より先に転送先の設定を見たほうが、原因に早く届きます。
点滅で成功を確認
書き込みが成功したら、Arduino UNO 上のLと印字された LED を見ます。
この LED が約1秒間隔で点滅していれば、最初の動作確認は通過です。
Arduino UNOはATmega328Pを搭載しており、内蔵 LED はデジタル13番ピン(D13)に接続されています。
Blinkはその D13 を点灯、消灯しているだけなので、外付けの部品がなくても結果を確認できます。
基板上の LED は小さいので、USB ケーブルをつないだ状態で机の明るさによっては見落とすことがあります。
そのときは、電源 LED ではなくLの位置を意識して見ると判断しやすくなります。
電源 LED は点きっぱなしですが、Blinkで変化するのはLのほうです。
もし先ほど delay(500) に変えて書き込んだなら、点滅は1秒ごとではなく、もっと短いテンポになります。
この変化まで確認できると、「例を開いた」「コンパイルした」「ボードへ転送した」「その結果が基板に反映された」という一連の流れがつながります。
最初の一歩としては、この実感がいちばん効きます。
ここを越えると、次にセンサーやシリアル通信へ進んだときも、問題がコード側なのか、配線側なのか、書き込み側なのかを切り分けやすくなります。
シリアルモニターの基本設定
Arduino IDE 2でシリアルモニターを開く場所は、画面右上のアイコンか、メニューのツール > シリアルモニタです。
Blinkで「書き込めた」ことを確認した次は、「ボードが何を出力しているか」を文字で見る段階に入ります。
LED の点滅は見た目で分かりますが、変数の値や処理の流れは見えません。
そこで Serial.print() や Serial.println() を使って、ボードの中で起きていることを PC 側へ表示します。
ここで最初につまずきやすいのが、通信速度(ボーレート)の一致です。
スケッチ側で Serial.begin(115200) と書いたら、シリアルモニター側も 115200 bps に合わせます。
115200 はよく使われる設定で、最初の確認用としても扱いやすい値です。
筆者は講座で「合わなければ何も読めない」とよく伝えています。
実際、bps がずれると文字化けしたり、何も出ていないように見えたりして、コードの問題と勘違いしやすいからです。
表示が崩れたとき、まず見る場所はコードの文法ではなく Serial.begin() の数字とモニター右下の速度設定です。
似た機能にシリアルプロッターがありますが、用途は別です。
シリアルプロッターは数値をグラフとして並べて、センサーの変化を波形のように眺めるための機能です。
一方で、文字列を出して「setup に入った」「ここで条件分岐した」と追いかけるなら、使うのはシリアルモニターです。
最初のデバッグでは、グラフ表示より文字表示のほうが状況を切り分けやすく、初心者の段階ではこちらを先に覚えたほうが流れを掴みやすくなります。
Arduino公式のGetting Startedガイドでも、IDE 2 の基本機能としてこうした周辺ツールが整理されています。
最小スケッチ例
まずは、1秒ごとに1行ずつ文字を出す最小構成で動きを確かめるのが確実です。コードは次のように書けます。
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello from Arduino");
delay(1000);
}
このスケッチを書き込んでシリアルモニターを開き、速度を 115200 bps に合わせると、Hello from Arduino が1秒ごとに表示されます。
ここで反応がなければ、まずモニターを開けているか、次に速度が一致しているかを見ると切り分けが早く進みます。
筆者の経験では、この段階の「無反応」は配線ミスより設定違いで起こることが多く、特に初回はモニター側の速度が別の値のまま残っているケースが目立ちます。
入力欄の横にある改行設定にも触れておくと、あとで混乱しにくくなります。
シリアルモニターには送信時の改行設定として、改行なし、LF、CR、CRLF があります。
これはPC からボードへ文字を送るときの末尾コードの違いです。
たとえば、後でコマンド入力型のスケッチを書くと、LF なら受け取れるのに CR だと反応しない、といった場面が出てきます。
表示を見るだけなら気にしなくてよい場面もありますが、双方向通信を始める前に「改行にも種類がある」と知っておくと、原因不明の無反応で止まりにくくなります。
この最小スケッチが読めるようになると、次はセンサー値を Serial.println() で出したり、条件分岐の手前にメッセージを挟んだりして、処理の流れを自分で追えるようになります。
LED の点滅確認から一歩進んで、プログラムの中身を観察するための入口がシリアルモニターです。
よくあるトラブルと対処
COMポート未表示のとき
Arduino IDE 2でポート欄が空のままなら、まず疑うべきは USB 接続そのものです。
筆者の現場体感では、最初のつまずきのうちケーブル起因が体感で3割ほどを占めます。
見た目は普通でも、充電専用でデータ線が入っていないケーブルが混ざるため、「充電専用っぽい」と感じた時点で別のケーブルへ替えたほうが早く進みます。
電源 LED が点いていても、PC からシリアル機器として見えていなければ書き込み用のポートは出ません。
そのうえで、USB ポート側も切り分けます。
PC 前面ポートや USB ハブ経由で不安定になる例は珍しくないので、本体直結の別ポートへ差し替えて反応を見ると状況がはっきりします。
別の PC につなぐと認識するなら、ボード故障ではなく接続経路か OS 側の問題と考えやすくなります。
認識状況は OS の機器一覧で確認できます。
Windows ならデバイスマネージャーで COM ポートとして現れるか、未知のデバイスになっていないかを見ます。
macOS ならシステム情報の USB 項目、Linux なら接続後に /dev/ttyUSB0 などが現れるかが手がかりです。
ここで何も増えないなら、IDE の前に OS が機器を見つけられていません。
互換機では USB-Serial 変換チップの都合で、追加ドライバが必要なことがあります。
代表例はCH340やCP210xです。
特に互換機はここで止まりやすく、筆者は固有名だけで検索して近道しようとせず、その基板の製造元が案内している手順を必ず起点にする方針です。
CH340系は Windows で COMx として現れる構成が一般的で、Linux では /dev/ttyUSB0 として見える例が多く、Arduino フォーラムでも udev ルールを含む実例が共有されています。
扱いの前提をつかむにはArduinoコミュニティフォーラムの議論が参考になります。
Windows ではドライバ導入後にWindows Updateと再起動で認識が安定することがあります。
macOS と Linux では、認識していても権限不足で IDE から触れないケースがあります。
この段階では「ポートが見えない」のか「見えているが開けない」のかを分けて考えると、切り分けが崩れません。
Arduino Forum
Making embedded systems accessible to all
forum.arduino.ccボード/ポート選択の見直し
ポートが見えていても書き込めないときは、ボード種類の選択ミスがよくあります。
UNOを使っているなら、選ぶのは互換機の販売名ではなくArduino AVR Boards > Arduino Unoです。
ここを互換機の商品名に引っ張られて探し始めると、存在しない項目を延々と探す流れになりがちです。
Arduino IDE 2では上部バーからボードとポートをまとめて選ぶのが最短です。
古いIDE 1.8系の記事では「ツール」メニュー中心の説明が多いのですが、IDE 2では上部バーのほうが見つけやすく、操作回数も減ります。
上部に見当たらないときはツールメニューを開けば同じ項目にたどり着けます。
古い解説と画面が違って見えても、見るべき情報は「どのボードに、どのポートで送るか」の2点です。
特にUNO系で起こりやすいのは、ポートだけ合っていてボードが別物になっているケースです。
たとえば前にESP32 Dev Moduleを使っていた PC では、その設定が残っていることがあります。
逆にESP32系では、ボードマネージャーでesp32 by Espressif Systemsを入れていないと候補自体が出ません。
Espressifの導入元として使われる package URL は公式 GitHub で案内されているものが基準になります。
ドライバ・権限まわり
Windows で互換機が未知のデバイス扱いになる、macOS で接続しても反応しない、Linux でポートは見えるのに開けない、といった症状はドライバか権限まわりに集まりやすいです。
ここが。
見た目の症状は似ていても、原因が異なるので順番に崩していく必要があります。
互換機でよく使われるCH340やCP210xは、純正UNOとは別系統の USB-Serial チップです。
CP210xは Linux で cp210x モジュールとして扱われることが多く、CH340系は ch341 や ch34x の表記で扱われる例があります。
Windows ではドライバ導入で COM ポートとして見えるようになるケースが中心です。
macOS では初回の USB 接続やドライバ導入後に、セキュリティ設定側の許可待ちで止まることがあります。
インストールしたのに変化がないときは、システム側の許可ダイアログを見落としていないかが分かれ目です。
Linux ではアクセス権不足が典型例です。
ユーザーが dialout グループに入っていないと、ポートが存在しても IDE から開けません。
その場合は次のコマンドでグループ追加を行い、再ログイン後に反映させます。
sudo usermod -aG dialout $USER
それでも権限で止まる場合は、udev ルールで USB-Serial デバイスの扱いを明示する方法があります。
CH340の実例としては /etc/udev/rules.d/ にルールを置き、MODE="0666" を与える構成が使われています。
筆者の経験では、教室環境で複数台の Linux マシンを触るとき、この層で揃えておくとポート認識の差が減ります。
なお、同じCH340でも複数台を抜き差しすると /dev/ttyUSB0 などの番号が入れ替わることがあり、固定のデバイス名を前提にすると別ボードへ送ってしまう場面があります。
Linux で複数枚を扱うときは、この挙動も頭に置いておくと混乱が減ります。
アップロード失敗の切り分け
アップロード失敗は、表示されるエラー文よりも確認の順番で差が出ます。
筆者はワークショップでも、まず 4 点だけを固定順で見ます。
順番を入れ替えると、たまたま直ったように見えて再発しやすいからです。
- ボードとポートの組み合わせが合っているかを見る
- シリアルモニターや他のターミナルソフトがポートを占有していないかを見る
- ボード側のリセットが必要な種類かを意識する
- USB ケーブルと USB ハブ経由を疑い、直結へ替える
2 番目は見落とされがちです。
Arduino IDEのシリアルモニター、別のシリアルターミナル、書き込みツールがポートを掴んだままだと、コンパイルは通るのに転送だけ失敗します。
「ポートが使用中」の系統はまずここです。
3 番目のリセットタイミングはボードで差があり、特にESP32系では自動書き込みに入らず、手動でブート操作が要る場面があります。
WARNING
書き込み失敗で詰まったときは、エラー全文を追い回す前に、ケーブル交換とハブ外しを先に試すと流れが戻ることがあります。
電源は入るのに転送だけ落ちる症状は、接触や信号品質の崩れで起こります。
ここまで見ても進まない場合は、別の USB ケーブル、別 PC、別 OS で切り分けると原因の居場所がはっきりします。
PC を替えて同じボードが通るなら、ボードよりも元の環境側に寄っています。
公式ボードならArduinoのサポート記事やフォーラムにある既知事例へ当たりを付けやすく、互換機なら製造元が示しているドライバ手順との差分を見るのが筋です。
こうした切り分けを一度経験すると、次にエラーが出ても「IDE が壊れた」と考えず、接続、認識、権限、占有のどこで止まっているかを落ち着いて見分けられます。
まとめと次のアクション
本記事の到達目標を再確認
この記事で目指していたのは、Arduino IDE 2.3.8を入れて、ボードとポートを正しく選び、Blinkを書き込み、シリアルモニターの基本をつかみ、止まったときに切り分けの順番を持てる状態まで進むことでした。
ここまで来られたなら、もう「何から触ればよいか分からない」段階は抜けています。
次は手を動かして定着させる段階です。
まずはArduino UNOや互換機にBlinkを書き込み、LEDが反応するところまで通してください。
続いてシリアルにHelloを出す最小スケッチを試し、書き込みと表示の流れをひと続きで確認します。
なお、本サイト内で関連記事が増えたら、ここに内部リンクを2本以上(例: Blink チュートリアル、ESP32導入ガイド)追加して、読者の次の行動へスムーズにつなげてください。
NOTE
筆者の講座では、Blinkの次にボタン入力、その次に温度センサー、そしてシリアル表示へ進む順番だと、配線・入力・計測・表示が無理なくつながり、手応えをつかむ受講者が多いです。
学習の広げ方
ここから先は、Lチカの点滅パターンを変えるだけでも立派な練習になります。
そこにボタン入力を足すと「入力で動作が変わる」感覚がつかめて、温度センサーのようなアナログ値の読み取りへ進む下地ができます。
Arduino UNOはデジタルI/Oが14本、アナログ入力が6本あるので、基礎の題材を広げるには十分です。
ESP32へ進めばWi-Fiも扱えるので、センサー値を表示するところから、通信する工作へ自然につなげられます。