Arduino開発環境(IDE) v1

Arduino IDE v1がどのように動作するのか、例えば、スケッチのコンパイルとアップロード、ファイル管理、関連ファイルのインストールなど、について学びます。



Arduino開発環境は、コードを書くためのテキストエディタやメッセージ領域、テキストコンソール、共通機能用のボタン付きのツールバー、メニューから構成されます。プログラムをアップロードしたり、通信を行うためにArduino/Genuinoハードウェアと接続します。

スケッチを描く

Arduino用のソフトウェアをスケッチと呼びます。スケッチはテキストエディタ上で記述します。スケッチは拡張子が.inoというファイルに保存されます。エディタには、カットアンドペーストやテキストの検索・置換という機能があります。メッセージ領域にはファイルの保存やアップロードの結果、エラーなどが表示されます。コンソールにはArduino環境からのテキストの出力(完全なエラーメッセージや他の情報)が表示されます。ウインドウの右下には、現在接続しているボードとシリアルポートが表示されます。ツールバーのボタンには、検証とプログラムのアップロード、スケッチの新規作成、スケッチを開く、スケッチの保存、シリアルモニタを開くという機能が割り当てられています。

注意:Arduino 1.0よりも前のバージョンの開発環境はスケッチを.pdeという拡張子のファイルに保存します。これらのファイルをArduino 1.0でも開くことはできます。その場合は、スケッチを保存する際に拡張子を.inoに変更するかを尋ねるプロンプトが表示されます。

Verify(検証)
Verify(検証)
コードにエラーがないか検証します。
Upload(マイコンボードに書き込む)
Upload(マイコンボードに書き込む)
コードをコンパイルしArduino I/Oボードにアップロードします。詳細は、以下のアップロードに関する項目を参照してください。注意: 外部のプログラムを使う場合、このアイコンを使う時にシフトキーを押します。表示される文字列が"Upload using Programmer"に変わります。
New(新規ファイル)
New(新規ファイル)
新しいスケッチを作成します。
Open(開く)
Open(開く)
スケッチブック内のすべてのスケッチを表示します。スケッチをクリックすると、現在のウインドウ上でそのスケッチが開かれます。 注意: Javaのバグのため、このメニューはスクロールしません。リストの最後 のほうのスケッチを開きたいときは、代わりに、File > Sketchbookメニューを 使ってください。
Save(保存)
Save(保存)
スケッチを保存します。
Serial Monitor(シリアルモニタ)
Serial Monitor(シリアルモニタ)
シリアルモニタを開きます。

他のコマンドは、File(ファイル)、Edit(編集)、Sketch(スケッチ)、Tools(ツール)、Help(ヘルプ)の5個のメニューの中にあります。メニューは実行状態に依存します。つまり、そのときに実行可能な項目だけが選択可能です。

File(ファイル)

  • New(新規ファイル)
    エディタの新しいインスタンスを作成します。スケッチに必要な最低限のコードが挿入されています。

  • Open(開く…)
    コンピュータのドライブとフォルダからスケッチをロードします。

  • Open Recent(最近使った項目を開く)
    最近使ったスケッチのリストを表示します。

  • Sketchbok(スケッチブック)
    スケッチブックフォルダ内のスケッチを表示する。スケッチをクリックすると新しいエディタのインスタンスを作成します。

  • Examples(スケッチ例)
    Arduinoソフトウェア(IDE)やライブラリにより提供されたスケッチの例を表示します。すべての例はトピックやライブラリごとにツリー構造で表示されます。

  • Close(閉じる)
    クリックしたArduinoソフトウェアのインスタンスを閉じます。

  • Save(保存)
    スケッチを現在の名前で保存します。ファイルに名前がついていないときは、「名前を付けて保存」ウインドウが表示されます。

  • Save as…(名前を付けて保存)
    現在のスケッチを異なる名前で保存します。

  • Page Setup(プリンタの設定)
    印刷のための「ページ設定」ウインドウを表示します。

  • Print(印刷…)
    Page Setup(プリンタの設定)での設定に従って現在のスケッチをプリンタに送ります。

  • Preferences(環境設定)
    IDEの設定を変更するための環境設定ウインドウを開きます。

  • Quit(終了)
    IDEのウインドウを閉じます。次にIDEを起動したとき、終了で閉じたスケッチが自動的に選択されます(訳者註:私の環境ではこの動作は確認されませんでした)。

Edit(編集)

  • Undo/Redo(元に戻す/やり直し)
    編集した内容を元に戻します。やり直しで取り消すことができます。

  • Cut(切り取り)
    選択したテキストをエディタから削除し、クリップボードにコピーします。

  • Copy(コピー)
    選択したテキストをエディタから削除せずに、クリップボードにコピーします。

  • Copy for Forum(フォーラム投稿形式でコピーする)
    スケッチのコードを、フォーラムに投稿できるように文法にあった色付けをして、クリップボードにコピーします。

  • Copy as HTML(HTML形式でコピーする)
    スケッチのコードを、ウェブページに記述できるように、HTML形式でクリップボードにコピーします。

  • Paste(貼り付け)
    クリップボードの内容を、エディタのカーソル位置に貼り付けます。

  • Slect All(すべて選択)
    エディタのすべての内容を選択し、ハイライトします。

  • (指定の行番号へ)
    指定した行番号に移動します。(訳者註:2019/5/6現在この項目はオリジナルのページには記載されていません)

  • Comment/Uncomment(コメント化/復帰)
    //形式のコメントを選択した行の先頭に追加・先頭から削除します。

  • Increase/Decrease Indent(インデントを増やす/インデントを減らす)
    選択した行の先頭に空白を追加したり、先頭から空白を削除したりします。

  • (フォントサイズを大きく/フォントサイズを小さく)
    フォントの大きさを変更します。

  • Find(検索…)
    現在のスケッチ内での検索テキストを指定するための検索ウインドウが開きます。いくつかのオプションも表示されます。

  • Find Next(次を検索)
    検索ウインドウで指定した、現在位置から見て次の、検索文字列をハイライトします。

  • Find Previous(前を検索)
    検索ウインドウで指定した、現在位置から見て前の、検索文字列をハイライトします。

Sketch(スケッチ)

  • Verify/Compile(検証・コンパイル)
    スケッチにエラーがないか確認します。 コードと変数のメモリ使用量をコンソール領域に表示します。

  • Upload(マイコンボードに書き込む)
    スケッチをコンパイルし、設定したポートに接続されている設定したボードにバイナリファイルを書き込みます。

  • Upload Using Programmer(書込装置を使って書き込む)
    ボード上のブートローダを上書きします。USBシリアルポートに再度書き込みする場合は、「ツール>ブートローダを書き込む」を使ってブートローダを復旧する必要があります。この機能は、スケッチに対してフラッシュメモリの全機能を利用可能とします。このコマンドはFUSEを書き込まないことに注意してください。FUSEを書き込むためには、「ツール>ブートローダを書き込む」を事項する必要があります。

  • Export Compilded Binary(コンパイルしたバイナリを出力)
    アーカイブとして保存したり、他のツールを使ってボードに送るための.hexファイルを書き込みます。

  • Show Sketch Folder(スケッチのフォルダを表示)
    現在のスケッチフォルダを開きます。

  • Include Library(ライブラリをインクルード)
    コードの先頭に#include指令を挿入して、スケッチにライブラリを追加します。詳細は、この後説明するライブラリの項目を参照してください。 このメニューから、ライブラリマネージャにアクセスし、.zipファイルから新しいライブラリをインポートすることもできます。

  • Add File..(ファイルを追加…)
    スケッチにソースを追加します。指定したファイルからコードがコピーされます。新しいファイルは、スケッチウインドウの新しいタブとして現れます。ツールバーの右側のシリアルモニタの下の小さい三角形をクリックして出てくるタブメニューを使ってスケッチからファイルを削除することもできます。

Tools(ツール)

  • Auto Forma(自動整形)
    コードをきれいにフォーマットします。開きかっこと閉じかっこがバランスするようにインデントし、波かっこ以外はインデントされます。

  • Archive Sketch(スケッチをアーカイブする)
    現在のスケッチを.zip形式で保存します。ファイルはスケッチと同じディレクトリに作成されます。

  • Fix Encoding & Reload(エンコーディングを修正)
    エディタの文字コードとOSの文字コードの不一致を修正します。

  • (ライブラリを管理)
    ライブラリマネージャを開き、ライブラリを管理します。公開されているライブラリのインストールなどができます。(訳者註:2019/5/6現在この項目はオリジナルのページには記載されていません)

  • Serial Monitor(シリアルモニタ)
    シリアルモニタウインドウを開き、現在選択されているポートと接続されているボードとの間でデータン交換を開始します。ボードがシリアルポートを開いたときにリセットする機能をサポートしている場合は、ボードをリセットします。

  • Serial Plotter(シリアルプロッタ)
    シリアルプロッタを開きます。(訳者註:2019/5/6現在この項目はオリジナルのページには記載されていません)

  • Board(ボード)
    使っているArduinoボードを選択します。詳細は以下のボードに関する説明を見てください。

  • Port(シリアルポート)
    PC上の実デバイス・仮想デバイス両方のシリアルデバイスを表示します。最上位のツールメニューを開くたびにその内容は自動更新されます。

  • (ボード情報を取得)
    ボードに関する情報を取得します。(訳者註:2019/5/6現在この項目はオリジナルのページには記載されていません)

  • Programmer(書込装置)
    ボードやチップのプログラムを作成しオンボードのUSBシリアル接続を使わないときに、ハードウェアプログラマを選択します。通常は不要ですが、新しいマイクロコントローラにブートローダを書き込むときに使います。

  • Burn Bootloader(ブートローダの書き込み)
    Arduinoボード上のマイクロコントローラにブートローダを書き込みます。Arduino/Genuionoボードを普通に使っている場合には必要ありません。新しいATmegaを購入したときには、通常ブートローダは入っていないので、そういったときに利用します。指定のボードにブートローダを書き込む前に、ボードメニューから正しいボードを選んでいることを確認してください。ブートローダを書き込む前にこのコマンドは正しいFUSEを設定します。

Help(ヘルプ)

Arduinoソフトウェア(IDE)についてくる多くのドキュメントを簡単に見ることができます。ローカルにあるGetting StartedやReference、このガイドや他のドキュメントを、インターネット接続なしで、見ることができます。ドキュメントはオンラインのもののコピーで、元のウェブサイトへもアクセスできるようになっています。

  • Find in Reference(リファレンスで検索)
    ヘルプメニューで唯一の対話型の機能です。カーソルのある関数やコマンドに対応するローカルのリファレンスを表示します。

スケッチブック

Arduino環境にはスケッチブックという、プログラム(もしくはスケッチ)を格納する標準的な場所に関する概念があります。スケッチブック内のスケッチは、File(ファイル) > Sketchbook(スケッチブック) メニューかツールバーのOpen(開く)ボタンから開くことができます。最初にArduinoソフトウェアを起動したときに、スケッチブック用のディレクトリを自動作成します。スケッチブックの場所をPreferences(環境設定)ダイアログで表示したり変更したりすることができます。

Arduino 1.0からはファイルは.inoという拡張子で保存されます。以前の拡張子の.pdeも使うことができます。.pdeで保存されたファイルをArduino 1.0以降でも使うことができます。Arduinoソフトウェアは拡張子を.inoに自動変換します。

タブ、複数ファイル、コンパイル

複数のファイルから構成されるスケッチを扱うこともできます。その場合、それぞれのファイルはタブ化されます。Arduinoのスケッチファイル(拡張子なし)、Cファイル(拡張子.c)、C++ファイル(拡張子.cpp)、ヘッダファイル(拡張子.h)を扱うことができます。

アップロード

スケッチをアップロードする前に、Tools(ツール) > Board(マイコンボード) と Tools(ツール) > Port(シリアルポート)メニューで、正しい項目を選択しておく必要があります。マイコンボードは後ろで説明します。Macでは、シリアルポートはおそらく、/dev/tty.usbmodem241(UnoやMega2560、Leonard向け)、/dev/tty.usbserial-1B1(Duemilanoveや初期のUSBボード向け)や/dev/tty.USA19QW1b1P1.1(Keyspan USB-to-Serialアダプタに接続しているシリアルボード)という形式です。Windowsでは、COM1やCOM2(シリアルボード)、COM4やCOM5、COM7もしくはそれ以上(USBボード)でしょう。確認するためには、WindowsのデバイスマネージャのポートにあるUSBシリアルデバイスを確認してください。Linuxでは、/dev/ttyACMx、/dev/ttyUSBxのような形式でしょう。

正しいシリアルポートとマイコンボードを選択したら、ツールバーのUpload(マイコンボードに書き込む)ボタンを押すか、File(ファイル)メニューから選択します。

現在のArduinoボードは、自動リセットされアップロードが始まります。自動リセット機能がない古いArduinoボードでは、アップロードを始める直前にリセットボタンを押す必要があります。たいていのボードでは、スケッチのアップロード中にRXとTXのLEDが点滅します。アップロードが完了するとArduino環境はメッセージを表示するか、エラーを示します。

スケッチをアップロードするときには、Arduinoブートローダと呼ばれるArduinoボードのマイクロコントローラにロードされた小さいプログラムを使っています。これにより追加のハードウェアを使わずにコードをアップロードすることができます。ボードがリセットされてから数秒間ブートローダは動作します。その後、マイクロコントローラにアップロードされた最新のプログラムの処理を開始します。ブートローダが開始するときは、ボード上のLED(13番ピンに接続されています)を点滅させます。

ライブラリ

ライブラリはスケッチで利用可能な付加機能を提供します。例えばハードウェアを制御したりデータを操作したりします。ライブラリを使うには、Sketch(スケッチ) >Import Library(ライブラリをインクルード)メニューから利用したいライブラリを選択してください。そうすると、一つ以上の#include指令がスケッチの最初に挿入され、スケッチをコンパイルするときに一緒にコンパイルされます。スケッチと一緒にライブラリもArduinoボードにアップロードされるので、その分だけメモリ使用量が増えることになります。スケッチがライブラリを使わなくなったときには、コードの先頭にある#include指令を削除してください。

リファレンスにライブラリ一覧があります。Arduinoソフトウェアと一緒に配布されているライブラリもあります。その他のライブラリはさまざまなところや、ライブラリマネージャからダウンロードできます。IDE1.0.5からは、zipファイルからライブラリをインポートすることができ、スケッチから利用することができます。詳細はサードパーティライブラリをインストールするを参照してください。

自分でライブラリを書くときは、チュートリアルを参照してください。

サードパーティハードウェア

サードパーティハードウェアをサポートするには、スケッチブックディレクトリのhardwareディレクトリに設定を追加します。追加する内容には、ボード定義(boardメニューに表示されます)やコアライブラリ、ブートローダ、プログラム定義があります。インストールするには、hardwareディレクトリを作成し、サードパーティプラットフォームが配布するzipファイルを展開します。arduinoというサブディレクトリは使わないでください。もともとあるArduinoプラットフォームを上書きしてしまいます。アンインストールするには、ディレクトリを削除してください。

サードパーティハードウェア用のパッケージ作成の詳細は、 Arduino IDE 1.5 3rd party Hardware specificationを参照してください。

シリアルモニタ

USBもしくはシリアル経由でArduinoボードに送信されてくるシリアルデータを表示します。Arduinoボードにデータを送るには、(ウィンドウの上部にある文字入力領域に)文字を入力しsendボタンを押すか、エンターキーを押します。スケッチのSerial.begin()で設定したボーレートと同じボーレートを(右下の)ドロップダウンリストから選択します。MacやLinuxでは、シリアルモニタを接続するとArduinoボードがリセットします(スケッチが最初から実行されます)。

ProcessingやFlash、MaxMSPなどとも通信することができます(詳細は、interfacing pageを参照してください)。

設定

Preferencesダイアログで設定できる項目がいくつかあります。MacではArduinoメニュー、WindowsとLinuxでは、Fileメニューの下にあります。その他の設定項目は、preferencesダイアログに表示される場所にあるpreferencesファイルで設定できます。

言語サポート

バージョン1.0.1から、Arduinoソフトウェア(IDE)は、30以上の言語に翻訳されてきました。IDEはOSによって選択された言語をデフォルトでロードします。WindowsとおそらくLinuxでは、これは、OSによって表示される言語ではなく、通貨やデータ形式を設定するLocaleによって選択されます。

言語を手動で変更したいときは、Arduinoソフトウェア(IDE)を起動し、Preference(環境設定)ウインドウを開きます。Editor Language(言語設定)のところに、現在サポートされている言語を表示するドロップダウンメニューがあります。利用した言語をメニューから選択し、それを利用するためにIDEを再起動します。OSの言語がサポートされていない場合は、英語がデフォルトで利用されます。

言語設定で「パソコンの設定に従う」を選択すると、OSの言語設定に基づくデフォルトに戻すことができます。この設定はIDEを再起動したときに適用されます。同様に、OSの設定を変更したときも、新しいデフォルト言語に変更するには、IDEを再起動する必要があります。

ボード

ボードの選択には2つの効果があります。一つはスケッチのコンパイルやアップロード時のパラメータ(CPU速度やボーレート)設定、もう一つは、ブートローダコマンドによって使われるファイルやfuseの設定です。いくつかのボード定義では後者だけが異なります。このため、スケッチを正しくアップロードできたとしても、ブートローダーを書き込むときには再確認してください。様々なボードの比較表がここにあります。

Arduinoソフトウェア(IDE)は以下のリストに示すボードを、デフォルトでサポートしている。すべて、AVRコアベースである。標準インストールで利用できるボードマネージャは、Aruidno DueやArduino Zero、Edison、Glileoなど、異なるコア上の多くの新しいボードの追加をサポートする。

名称 チップ 周波数 自動リセット アナログ入力 デジタルI/O PWM 備考
ArduinoYùn ATmega32u4 16MHz あり 12 20 7
Arduino/Genuino Uno ATmega328 16MHz あり 6 14 6
Arduino Diecimila or Duemilanove w/ ATmega168 ATmega168 16MHz あり
Arduino Nano w/ ATmega328 ATmega328 16MHz あり 8
Arduino/Genuino Mega 2560 ATmega2560 16MHz あり 16 54 15
Arduino Mega ATmega1280 16MHz あり 16 54 15
Arduino Mega ADK ATmega2560 16MHz あり 16 54 15
Arduino Leonardo ATmega32u4 16MHz あり 12 20 7
Arduino Micro ATmega32u4 16MHz あり 12 20 7
Arduino Esplora ATmega32u4 16MHz あり
Arduino Mini w/ ATmega328 ATmega328 16MHz あり 8 14 6
Arduino Ethernet ATmega328 16MHz あり 6 14 6 Arduino UnoにEthernetシールドを追加
Arduino Fio ATmega328 8MHz あり 6 14 6 Arduino Pro/Pro mini(3.3V/8MHz)/ATmega328と同等
Arduino BT w/ ATmega328 ATmega328 16MHz あり 6 14 6 ブートローダには、オンボードのBluetoothモジュールを初期化するコードが含まれる。
LilyPad Arduino USB ATmega32u4 8MHz あり 4 9 4
LilyPad Arduino ATmega168/ATmega132 8MHz あり 6 14 6
Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328 ATmega328 16MHz あり 6 14 6 Arduino Duemilanove or Nano w/ ATmega328と同等
Arduino NG or older w/ ATmega168 ATmega168 16MHz なし 6 14 6 Arduino Diecimila or Duemilanove w/ ATmega168と同等。ただし、ブートローダのタイムアウトが長めで、リセット時に、13番ピンのLEDが点滅する。
Arduino Robot Control ATmega328 16MHz あり
Arduino Robot Motor ATmega328 16MHz あり
Arduino Gemma ATtiny85 8MHz あり 1 3 2

他のボードをインストールするときは、上記のサードパーティハードウェアを参照してください。

オリジナルのページ

https://docs.arduino.cc/software/ide-v1/tutorials/arduino-ide-v1-basics

最終更新日

January 6, 2024

inserted by FC2 system