#topicpath * Arduino IDE でのプログラミング [#lbcd63bb] [[環境整備>http://robo.mydns.jp/Lecture/index.php?Arduino/ArduinoIDE#d12f3984]]と[[プログラミング・デバッグ>http://robo.mydns.jp/Lecture/index.php?Arduino/ArduinoIDE#ne1f88e3]] ** Arduino のプログラム開発環境を整える [#d12f3984] 「開発環境(IDE)」というと大袈裟です。~ Arduino はプログラムを仕込めます。そのプログラムを編集して本体に送るためのソフトです。~ これを使えるようにします。Windowsの場合とLinuxの場合について書きます。~ なお、動作チェックは手元に既製品(Duemilanove)があることを前提として書いています。~ ※ あっけないほど簡単でした。 --- [[Windowsの場合>http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduinoIDE#e2997ea8]] ~ なお、IDEのメニューなどを日本語化するためのプロジェクトが進行中のようです。~ とりあえず、Windowsで利用できます。 [[こちら>http://www.switch-science.com/trac/wiki/Arduino-ja-jp]]を参照して作業してください。 --- [[Linuxの場合>http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduinoIDE#r41575b0]] ~ *** 開発環境を整える (Windows XPの場合) [#e2997ea8] ++ IDE のダウンロード~ [[ここのページ>http://www.arduino.cc/en/Main/Software]]からダウンロードします。~ 現時点の最新バージョンは [[Arduino 0017>http://arduino.googlecode.com/files/arduino-0017.zip]]です。~ いろいろなソフトや、Arduino で様々なデバイスをコントロールするためのプログラムが入っているので、80MB程度のサイズがあります。 ~ ++ 上記ファイルの展開~ ZIP という形式で保存されています。これを展開します。 ~ ++ 接続とドライバの導入~ +++ パソコン本体と Arduino Duemilanove を USB ケーブルで接続します。~ +++ すると、"新しいハードウエアが見つかりました" というメッセージの後、~ +++ 「新しいハードウエアの検出ウィザード」が立ち上がります。~ +++ 「一覧または特定の場所からインストールする」を選んで、「次へ」~ +++ 「次の場所で最適のドライバを検索する」「次の場所を含める」を選んで、「参照」をクリック。~ ZIP ファイルを展開してできた~ arduino-0017 の中の arduino-0017 の中の drivers の中の FTDI USB Drivers を選んで 「OK」をクリック。~ +++ 元の画面で「次へ」をクリック。インストールが開始されます。 +++ 「完了」が表示されたらそれをクリック。 +++ もう一度同じ画面(新しいハードウエアの検出ウィザード)が現れます。同じ作業を繰り返します。 ~ ~ ++ 確認作業~ この時点で導入はほぼ完了しています。確認のために次の作業をします。 +++ arduino-0017 のフォルダから、arduino.exe を探しだし、ダブルクリックで起動。 +++ 画面の左上のプルダウンメニューから次のものを選びます。 File > Sketchbook > Examples > Digital > Blink 画面にプログラムらしきものが表示されます。~ これはボード上の LED を光らせるプログラムです。 +++ プルダウンメニューから次のものを選びます。 Tools > Serial Port これは通信先を Arduino に指定するための作業です。~ "COM3" "COM4" "COM5" の中から選んでください。~ わからなければ、いったんケーブルを抜いて、なくなるデバイスを見つけて下さい。 +++ プルダウンメニューから次のものを選びます。 Tools > Board 製品名のリストが出てきます。今回は、ATMEGA 328 が搭載されている Duemilanove なので、 Arduino Duemilanove w/ ATmega328 を選びます。これを選んだ後、しばらく時間がかかりますので、気長に待ってください。 +++ プログラムのアップロード~ この時点でボードを見ると、電源が入っていることを示すランプが点灯しているだけです。~ 画面上のアイコンから、右矢印のアイコンを選んで、マウスのポインターを移動します。~ UPLOAD という文字が現れるはずです。プログラムを本体に送り込むという意味です。~ これを押します。再び、ちょっと時間がかかります。気長に待ってください。 +++ テスト完了~ 画面に "Done uploading" と表示され、ボードのオレンジ色のランプが点灯していたらテスト完了です。~ おめでとう。 *** 開発環境を整える (Debian Lenny の場合) [#r41575b0] ++ パッケージの導入(※ root の権限で実行)~ apt-get install openjdk-6-jre gcc-avr avr-libc avrdude ※ JRE(Java Runtime Environment) は複数の製品があります。~ プログラムによってはこれを選びます。~ 使用する JRE を切り替えるには、root の権限で update-alternatives --config java を実行します。~ Arduino の IDE を利用する場合には、openjdk-6-jre に対応する /usr/lib/jvm/java-6-openjdk/jre/bin/java にします。 ++ IDE をダウンロード~ +++ [[ここのページ>http://www.arduino.cc/en/Main/Software]]からダウンロードします。~ 現時点の最新バージョンは [[Arduino 0017>http://arduino.googlecode.com/files/arduino-0017.tgz]]です。 +++ ダウンロードしたファイルを展開します。 ~ ~ ++ 確認作業~ この時点で導入はほぼ完了しています。確認のために次の作業をします。 +++ 展開してできたディレクトリの中から arduino を見つけてこれを実行します。 +++ 画面の左上のプルダウンメニューから次のものを選びます。 File > Sketchbook > Examples > Digital > Blink 画面にボード上の LED を光らせるプログラムが表示されます。 +++ プルダウンメニューから次のものを選びます。 Tools > Serial Port これは通信先を Arduino に指定するための作業です。~ USB のデバイス( /dev/ttyUSB0 )を選んでください。~ わからなければ、いったんケーブルを抜いて、なくなるデバイスを見つけて下さい。 +++ プルダウンメニューから次のものを選びます。 Tools > Board 製品名のリストが出てきます。今回は、ATMEGA 328 が搭載されている Duemilanove なのでそれを選びます。 +++ プログラムのアップロード~ 画面上のアイコンから、右矢印のアイコンを選んで、マウスのポインターを移動します。~ UPLOAD という文字が現れるはずです。プログラムを本体に送り込むという意味です。 これを押します。 +++ テスト完了~ 画面に "Done uploading" と表示され、ボードのオレンジ色のランプが点灯していたらテスト完了です。~ ~ ~ ** プログラミングとデバッグ [#ne1f88e3] プログラミングとデバッグに関するいくつかの情報を掲載します。 *** 関数やライブラリ [#x93b5197] -- [[Arduino 日本語リファレンス>http://www.musashinodenpa.com/arduino/ref/]]~ Arduino 言語(演算子や簡単な関数)についての日本語の説明。とても助かります!~ ~ -- ライブラリの導入方法~ Tone など、公式の IDE に含まれないライブラリは自分で導入する必要があります。~ 次のような場所を参照すれば導入できます。 --- [[PIC AVR 工作室別館 arduinoのライブラリ概要>http://nekosan0.bake-neko.net/library_outline.html]] --- [[Arduino 日本語リファレンス ライブラリの使い方>http://www.musashinodenpa.com/arduino/ref/index.php?f=1&pos=3]]~ ~ *** ピンの割り振り(ピンアサイン) [#se3c30d6] 自作の Arduino 互換機のプログラミングを Arduino IDE を使う場合、~ ATmega168P のピン番号と、Arduino で規定している番号の対応が必要です。 -- ラベル~ まずは[[ここ>http://robo.mydns.jp/Lecture/index.php?Arduino%2FArduino%20%A4%CE%BC%AB%BA%EE%2FUSBTYPE#w4182d57]] に書いた[[ラベル>http://todbot.com/blog/wp-content/uploads/2009/05/arduino-atmega-sticker.pdf]] を張るべきです。~ ~ -- 対応図~ ありがたく拝見します。 --- [[その1>http://wiki.onakasuita.org/pukiwiki/?Arduino/%E3%83%94%E3%83%B3%E9%85%8D%E7%BD%AE#e873d125]] --- [[その2>http://www.koba.it-chiba.ac.jp/~itoi/log/?d=2011/02/17&q=Arduino]] ~ ~ *** 値のモニター [#x8f7c616] デバッグする際に、変数がどのような値になっているかモニタすることができれば楽です。~ IDE(統合開発環境)と称するなら、本当はデバッガがあるといいのですが、(あるのかもしれませんが)。~ -- 変数のモニター 次の二つの手続きでプログラム実行中に値をパソコン画面に表示できます。 --- プログラム側~ setup() の内部で Serial.begin(9600); // 9600は通信速度を表している loop() の内部で Serial.println(変数名); // 表示したい変数名を指定 より詳細な説明は[[Arduino 日本語リファレンス>http://www.musashinodenpa.com/arduino/ref/]]の[[Serial.println>http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=3038]]や[[Serial.print>http://www.musashinodenpa.com/arduino/ref/index.php?f=0&pos=2959]]を参照のこと。~ ~ --- Arduino IDE 側~ 次の図の赤で示したボタンをクリックする。~ &ref(ArduinoSerialMonitor.png);