はじめに
今日は吉野式ロボットの開発環境を構築します。
1. Arduino IDEをダウンロードしてインストールする。
このロボットはコントローラーに Arduino Nano を使っているので、開発環境はArduino IDEです。 Arduino IDEとは、Arduinoの開発環境のことで、Arduinoをプログラミングする為のソフトウェアで無償で公開されています。 WEB版もあるようですが、Windows10の場合は、Windowsストアからダウンロードしてインストールしてください。
2018/01/04時点の最新版は、1.8.5 です。 ストアアプリがインストールできない場合や、OSがWindows10以外の場合はここかここからもダウンロードできます。 2. 環境設定 Arduino IDEのインストールが終わったら、USBケーブルでPCとArduino Nanoを接続し、Arduino IDEを起動します。
初回起動時は日付のついた空のスケッチを開いた状態で起動します。 二回目以降は最後に開いたスケッチを起動時に開きます。
ArduinoIDEの設定をArduino Nanoに合わせます。
ツール→ボード から、[Arduino Nano] を選択します。
ツール→プロセッサ が、[ATmega328P ]を選択します。
ツール→シリアルポートから、[COM n] を選択します。
(!)PCによっては、接続したCOMポート名が異なる場合はがあり、COMn のnは変わります。このPCではCOM4 になっています。
3.プログラミング
Arduinoではプログラムのことをスケッチと呼びます。スケッチを書いてマイコンボードに書き込むことでロボットを動かすことができます。 最初は簡単なスケッチで、ロボットにプログラムが書き込めるかを確認しましょう。
3.1 スケッチを読み込む
予めArduino IDEに入っているスケッチ例からスケッチを読み込んでみましょう。
ファイル→スケッチ例→01.Basics→Blink を選択します。
スケッチ例が読み込まれ、Blinkスケッチが新しいウィンドウで開かれます。
3.2 コンパイルする
スケッチをコンパイルしてマイコンボードに書き込むには、ツールバーの丸に⇒アイコンをクリックします。 クリックすると、⇒アイコンが黄色に変わり、スケッチをコンパイルしマイコンボードへ書き込みを行います。
コンパイルと書き込み中は、下のステータスエリアに緑色のバーで進捗が表示されます。 メニューバーから実行する場合は、
スケッチ→検証・コンパイル を押し、コンパイルが終わったら、
スケッチ→マイコンボードに書き込む を押し、コンパイルとプログラムの書き込みを分けて実行することもできます。
書き込みが完了すると、⇒アイコンが黄色から白に戻り、”ボードへの書き込みが完了しました。”とフラッシュメモリの使用量とRAMの使用量が表示されます。
4. 動作を確認する
Arduino Nanoの場合、スケッチを書き込みが完了すると、自動的にスケッチが起動します。 Arduino Nanoの基板上のLEDが一秒ごとに点滅を繰り返せば、このプログラムの動作確認は完了です。
5. プログラムを修正する
プログラムを修正してみましょう。
ファイル→名前を付けて保存 を選び、適当なフォルダに Blink2000 と言うファイル名で保存します。
Blinkスケッチには、 delay(1000); と言う行が二か所ありますが、これがLEDの点滅速度を決めています。 delay()関数は、かっこの中の数字分何もしないで待つという命令です。単位はミリ秒なので、1000ミリ秒=1秒周期で点滅を繰り返しました。 これを2秒周期に換えてみましょう。 delay()行を選んで、CTRL+Cでコピーし、CTRL+Vで貼り付けます。 もとの delay(1000); 行の先頭に // を追加してコメントアウトし、コピーした方の数値を1000から2000に換えます。
(半角の ’/’ はスラッシュと呼び、C/C++言語では、”//”(ダブルスラッシュ)以降の文字がコメントとして扱われてコンパイルされません。) 変更箇所が分かりやすい様に、ファイル→環境設定を押し、環境設定画面から「行番号を表示する」にチェックをし、行番号が表示できるように設定を変えておきます。
コンパイルしてLEDの点滅が2秒周期に換われば修正成功です。
補足
Arduinoのスケッチに書き方は、 ・Arduino 日本語リファレンス:http://www.musashinodenpa.com/arduino/ref/ • 日本語チュートリアル基礎編:http://www.musashinodenpa.com/arduino/ref/index.php?f=2 が参考になります。 また、武蔵野電波さんが配布している以下のリンクが短く簡潔にまとまっているので、ダウンロードしてカラー印刷しておきましょう。 Arduino 早見表 http://www.musashinodenpa.com/arduino/ref/arduinoHH12.pdf
おわりに
Arduino Nanoのプログラミング方法が分かったでしょうか。 5日目は開発環境のインストールとマイコンボードの簡単な動作確認でした。 次回は、サーボモーターやその他のセンサー等を確認して、いよいよロボットを動かしてみます。
用語集
Arduino IDE:無料のArdinoマイコン用開発環境 言語はC++言語である。
スケッチ:Arduino IDE上のプログラムのこと。
ダブルスラッシュ:半角の'/'二つで、以降の文字列がコメントして扱われてコンパイルされない。
購入品情報
C/C++言語の入門書です。Arduino IDEはC++言語ベースとなっており、この本が入門書としては最高です。 会社でも新人に研修させるために使っています。翔泳社にしては珍しく誤記が少ない良い本です。
Arduinoの良さそうな入門書です。 このブログにある情報で、LEDが付けられないようなら、ネットで調べるだけでなく本を見ながらの方が効率的かもしれません。 ここに紹介する二冊は、基本に忠実な内容で、価格もリーズナブルなので、どちらか購入しておくと、Day6の理解にも役に立つと思います。