Arduino入門 Arduinoのプログラミング 基本的に次の手順で行う: 1. パソコン(以降、PCで表す)とArduinoをUSBケーブルで接続する---これにより、 Arduinoに電源が供給され、Arduinoが機能すると同時に、PCとArduinoの間の通 信が可能になる 2. PC側の操作 (1) コントロールパネルから、デバイスマネージャーを開き、「ポート(COM とLPT)」をクリック。そこにArduinoのポート(USB Serial)が登録されているこ とを確認して、ポート番号を記録 (2) Arduino IDE (Arduinoプログラム開発環境)を起動、Toolsパネルで (a) Board から「Arduino Uno」を選択、(b) Serialポートで(1)で記録したポート番号を選ぶ 以上ができない場合は、Arduinoのケーブルを一旦外してから接続しなおし、 (1)からやり直すこと Arduinoのプログ ラミング(続き) Arduino IDEは右図のようにみえ るはず ArduinoのプログラムはC++とほ ぼ同じ書き方(使えない関数や Arduino特有の関数が多い) ただし、次の二つは必須 (1) setup --- 初期設定のための関 数 (2) loop --- setupの後に実行され、 無限ループする 書けたら Verify の後、Uploadす る(Arduinoに送る---終了するまで 待つ) 要確認:デフォルトでは改 行なし、速度は9600baud 演習1. 簡単な “Hello!”スケッチを書く 1. Arduinoソフトを開き、コードを打ち込む 2. スケッチでは丸括弧( )と波括弧{ }を使っている。正しい場所に右括弧を ちゃんと書く! 3. タイプミスがないことを確認するためVerifyをクリック 4. メッセージペイン(領域)のBinary sketch sizeを確認。表示さればコンパイル 成功 5. アップロード(Upload)をクリック。状態(status)表示ラインにDone uploading が表示される 6. 表示後、Serial Monitorをクリック。シリアルモニタの下右端の9600 baudを 確認 7. File → Save でスケッチを記憶 PCとArduinoが 9600 bits per second (毎秒9600ビット、文字で言えば960字/s) で通信する (1字=1B(8bits)+2bits = 10 bits) Arduino参考資料ページ Arduino言語リファレンスを試してみよう. Arduinoの関数のsetup, loop, print, println, delay など、スケッチで使えるたくさんの 関数を学ぶことができる。 右図のようにHelp をクリック、次に Reference を選択 リファレンスはブラウザで開かれる(英語 版)日本語版は: http://www.musashinodenpa.com/arduino/ref/ Arduino言語の変数 注意: 記憶したい値にあった変数の型を選ぼう Arduinoのメモリ(記憶領域)は潤沢ではない ⇒ メモリを節約 できれば、より大きなスケッチをより効率よく走らせられる • • • • • 小数を扱うのなら … float 整数を扱う(数の数え上げなど)なら… byte, int, long のいずれか 値が常に正で、0から255の範囲の整数なら … byte 値が-32,768から32,767までの範囲の整数なら… int 上記以外の範囲の整数なら…long longなら -2,147,483,648から2,147,483,647までの数を扱える 定数とコメント (C/C++と同じ) コメント(注釈): 行コメントは先頭に // を書く ブロックコメントは /* と */ で注釈を挟む コードの文書化:プログラムのコードに注釈を書くこと • 変数や定数の名前を意味がわかるようにつけることでコー ドを文書化できる • プログラミングに関連した分野で将来働くのなら、これは よい習慣である。なぜだろうか? • 定数を使うと、その定数宣言を1行直すだけで、よく使わ れる値を速く正確に調整しやすくなる。名前が無い値を手 で一つ一つ探して修正するのはバグの発生源 演習2. PCとの通信 次のスケッチを試してみよう。そこで使われている関数の意味を調べよう。 int incomingByte = 0; // 受信データ用 void setup() { Serial.begin(9600); // 9600bpsでシリアルポートを開く } void loop() { if (Serial.available() > 0) { // 受信したデータが存在する incomingByte = Serial.read(); // 受信データを読み込む Serial.print("I received: "); // 受信データを送りかえす Serial.println(incomingByte, DEC); } }
© Copyright 2024 ExpyDoc