スケッチのダウンロードと基礎

概要

スケッチをインターネットからダウンロードして使えるようにすることは、とても大事なことです。
当サイトにも大量にスケッチがあります。

ここではスケッチやライブラリーの持ち込み方法とスケッチの概要を学びます。

必要な商品

詳細説明

スケッチの置き場所

Arduino IDE(開発環境)をインストールすると、自動的にスケッチの置き場は決まっています。

Windowsの場合は[ファイル][環境設定]を見てください。
Macの場合はプログラムの[Preference]です。

このような設定画面が出るはずです。(WindowsもMacもほとんど同じです)

最初にスケッチの保管場所が記載されています。もし変更したいのであれば変えてもかまいません。ここにユーザーが作った、持ち込んだスケッチを置きます。

ためしに、サンプルで提供されているblinkを保管してみましょう。
実はArduino IDEではサンプルは変更できないように読み取りだけ可能になっています。

[ファイル][名前をつけて保存]を指定してください。スケッチの保管場所のフォルダーが開かれたはずです。

blinkxとでもして保管してみてください。保管されたフォルダーを見てみると

こんな構造です。
フォルダー名と同じファイルがひとつできています。これがArduinoのスケッチの最も基本的なパッケージングのされ方です。

ダウンロードしたスケッチはこのように、フォルダーとその名前の入ったファイルの組み合わせで自分のスケッチ置き場に置きます。そうすると、Arduino IDEからも取り出しやすくなります。

ライブラリーの導入

Arduinoはスケッチだけでなく、ライブラリーというものをもっています。次のようにメニューから見ることができます。
大半をご存知ないかも知れません。SDはあのSDカードです。SDカードを読み取るためのプログラムは汎用性が高いので、こうやってライブラリーにしているのです。

ここでは試しに温度センサーで使われているOneWireというライブラリーを導入してみたいと思います。
まず、>ArduinoのサイトのOneWireの記事にいきます。
そこで赤線をひいたLatest Version of the libraryをクリックし、最新版のzipをダウンロードします。

それが終了したら、先のArduinoのライブラリーのメニューの最初にある「ライブラリーをインストール」をクリックして、OneWire.zipを選びます。
すると、Arduino IDEに地味に

というメッセージが表示され、Arduino IDEのライブラリーリストの最下段に表示されています。

もし、ライブラリーをアンインストールしたくなった時は、最初に調べた自分のArduinoのスケッチ置き場を見てください。librariesというフォルダーができているはずです。
そこにいまのOneWireがありますから、これを普通に削除してください。
Arduino IDEを再起動すれば、ライブラリーの選択画面からも消えています。

スケッチの概要

もっとも単純なblinkのソースを見てみましょう。(スケッチの例->Basic->blink)

このページをご覧になった方は、今後、たくさんのスケッチを見ることと思います。スケッチはとても単純な構成ですので、ここでご紹介しておきます。
いや、このblinkの中の英語の注釈にすべては書かれています。このように

/*
  点滅
  一秒間LEDとを点灯し、その後一秒間消灯する、それの繰り返し

  ほとんどのArduinoがボードの上にコントロール可能なLEDをもっています。
  UnoやLeonardoといった機種はデジタルピンの13に接続されています。
  もし、あなたがおもちのArduinoのモデルでどのピンにボード上のLEDが
  接続されているか、よくわからなかったら、http://arduino.ccにある
  ドキュメントを確認してください。

 このサンプルコードはパブリックドメインです。
 2014年5月8日に更新
  スコット・フィッツジェラルド
 */

// setupという関数はボードにパワーが入った時か、リセットボタンを押した後
// 一度だけ実行されます。
void setup() {
  // デジタルピンの13番を出力として初期化します。
  pinMode(13, OUTPUT);
}

// loopという関数は何度も何度も永遠に繰り返されます
void loop() {
  digitalWrite(13, HIGH);   // LEDをオンにします (HIGH とは電圧のレベルです)
  delay(1000);              // 1秒そのまま (ミリ秒です)
  digitalWrite(13, LOW);    // 電圧をLOWにすることでLEDを消灯します
  delay(1000);              // 1秒そのまま
}

以上には以下のような基礎的なルールがあります。

プログラムのルール

書く時

  • プログラムは”Arduino IDE"というツールで作成する。
  • 内容は英数字など半角で書く。ただし、コメントは日本語でもよい。
  • 半角カナは使わない
  • アルファベットの大文字と小文字は違うものとして扱われる
  • 命令の終わりには";"をつける
  • いくつかの命令は{}で囲む。これで関数の一部なのか、IF文の一部なのかがわかる
  • コメントは一行ならば "//"のあとに書く
  • コメントは複数行ならば"/*"と"*/"で囲む


主な関数

  • void setup(){ } Arduinoが起動し、最初に初期化のために一度呼ばれる。
  • void loop(){ } この関数が延々と繰り返される。

Serial関数

PCとArduinoの間を(ほとんどの場合、USB経由で)シリアル通信により会話することができる。
Arduinoには標準では画面がないので、モニタースクリーンがこの出力を確認する。
Arduino IDEの右上の虫眼鏡ボタンを押すとでる。

  • Serial.begin(9600); 一秒間に9600ビットの速度でパソコンと通信をする。モニタースクリーンも同じ速度にしないといけない。
  • Serial.print("xxxx"); シリアル通信で書きだす命令。モニタースクリーンで見ることができる。
  • Serial.println("xxxx"); シリアル通信で書きだして、最後に「改行」をつける命令。

入出力関数

  • analogWrite(ピン番号,値); 値は0-255の範囲でPWM(細かいサイクルでのオンオフ)の比率を決める
  • digitalWrite(ピン番号,値); 値はHIGHかLOWの二値しかとらない。
  • analogRead(ピン番号); 0-255の値を検出
  • digitalWrite(ピン番号); HIGHかLOWを検出
Arduinoのプログラムの命令のリファレンスはこちらにあります。

よくある質問

現在はありません。

必要な商品を使った他の記事