目次

最初のスケッチ

 ArduinoIDEを利用して、スケッチを作成します。

 Cにおける「Hello World!」に相当するスケッチは以下。

int ledPin =  13;    /* LED connected to digital pin 13 */
int xinterval ;
int state ;

void setup() {
  /* initialize the digital pin as an output */
  pinMode(ledPin, OUTPUT);
  /* set interval */
  xinterval = 500 ;
  /* set state */
  state = 0 ;
}

void loop()
{
  /* impress */
  if ( state & 1 ) { digitalWrite(ledPin, HIGH); }
  else             { digitalWrite(ledPin, LOW) ; }
  /* increment */
  state++ ;
  /* delay */
  delay(xinterval);
}

 仕様は、Arduino基板上のLEDを点滅するだけ。

 Arduinoでは次の2関数を利用します。

setup()
loop()

 関数setupは、ピン番号に変数名をつけ、アナログ
 デジタルの種別、入力と出力を指定。

 ピンアサインは、以下。



 デジタルピンは、0〜13になっています。
 アナログ対応ピンをデジタルで利用する場合
 14〜19になります。

 デジタル、アナログを問わず、兼用になって
 いるピンがあるので、それらを使うためには
 デジタル、アナログ処理ピンを勘案して使う
 ように気をつけましょう。

 デジタル入出力方向を設定するには
  pinMode
 を利用。

 次にデジタル出力、入力には、Write、Readを
 使います。

  デジタル出力 digitalWrite
  デジタル入力 digitalRead

 ポートB、C、Dは複数ピンがあるので
 これらを一度に入力、出力に設定する
 には、次の変数名を利用。

  DDRB ポートBの入出力方向設定(対応ビットを1で出力)
  DDRC ポートCの入出力方向設定(対応ビットを1で出力)
  DDRD ポートDの入出力方向設定(対応ビットを1で出力)

 デジタル出力値を一度に指定することも
 できます。次の変数名を使えます。

  PORTB
  PORTC
  PORTD

 デジタルの入力を使うには、次の変数名を利用。

  PINB
  PINC
  PIND

 関数setupの中に、変数を初期化することや
 別に関数を定義し、それを呼出すことも可能。

 関数loopは、繰返しに対応する処理を記述。

 最初のスケッチでは、遅延に対応するdelayを利用
 しています。
 ビルトイン関数は、2つ用意されていますね。

  delay
  delayMicroseconds

 delayはms単位でパラメータを設定。
 delayMicrosecondsはμs単位でパラメータを設定。

 setup、loopともに、C/C++を学習していれば、簡単に
 作成できます。
 「Arduino 日本語リファレンス」で、Google、Yahooで検索
 すると、関数や言語仕様に関係する内容を説明したページ
 にたどりつけます。

 スケッチ作成の基本は、次の構成で作成すると
 しておけば、まごつくことはないでしょう。



 ArduinoIDEを使い、このスケッチを入力してみます。

 ArduinoIDE起動



 新規作成
  新規作成なので、対応するアイコンをクリックします。



 コード入力
  ArduinoIDEの該当エリアに、コードを入力します。



 コンパイル/ヴェリファイ
  該当アイコンをクリックします。



 アップロード
  該当アイコンをクリックします。



  無事にアップロードされると、基板上のLEDが
  点滅することがわかります。



 点滅周期をかえるには、変数xintervalの値を
 変更します。関数setupの中にあるので、ここ
 で値を変更します。

 Arduinoだとしても特別なプログラムのスタイルが
 あるわけではなく、C/C++やJavaと同じスタイルを
 使えばよいでしょう。

 スケッチ保存
  作成したスケッチは、該当アイコンをクリック
  して保存します。



  ファイル名は、拡張子が「ino」となり保存されます。
  ファイル名は、自由に命名すればよいでしょう。

 終了
  メニューで「ファイル→終了」をクリックします。



 最初のスケッチは、次のようにピン指定を
 変えても動作します。

#define LEDPIN 13

int xinterval ;
int state ;

void setup()
{
  /* initialize the digital pin as an output */
  pinMode(LEDPIN,OUTPUT);
  /* set interval */
  xinterval = 500 ;
  /* set state */
  state = 0 ;
}

void loop()
{
  /* impress */
  if ( state & 1 ) { digitalWrite(LEDPIN,HIGH); }
  else             { digitalWrite(LEDPIN,LOW) ; }
  /* increment */
  state++ ;
  /* delay */
  delay(xinterval);
}

 このスケッチを土台にして、スイッチやセンサーを
 つけておけば、イモビライザー程度は、すぐに作成
 できます。


目次

inserted by FC2 system