Arduino とスマホアプリ連携 #1 まずは Arduino で遊んでみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Arduino とは

Arduino (アルドゥイーノ) とはオープンソースのマイコンシステムです。ハードウェア設計情報がオープンソースで公開されており、自分の手で作ることもできるハードウェアです。
Arduino 単体では基板だけですが、温感センサーや赤外線センサー、スイッチなど色々な部品を組み合わせることでどんなハードウェアにも化ける可能性を秘めています。ちなみに先日開催された Google I/O 2013 では環境センサーを備えた数百台の Arduino を会場に設置し、会場の温度・湿度・騒音レベル・フロアを踏んだ回数などを計測し「会場の雰囲気」を計測するシステムにしていたようです。面白いですね!

Google、I/O会場にArduino製“雰囲気計測システム"設置 | IT media ニュース

本シリーズでは、そんな Arduino とスマホアプリを連携させ、いろいろなものを作ってみたいと思います。とはいうものの、スマホアプリと連携させるところをいきなり実践するのはいろいろ複雑そうなので、まずは Arduino で簡単に遊んでみるところから始めていきたいと思います。
第1回目は導入編ということで Arduino の開発環境を構築し Arduino にプログラムを入れるところまでやってみたいと思います!

Arduino を購入してみた

そんなこんなでまずは Arduino 本体がないと始まりませんよね。。Arduino の最大の特徴は本体が安価!というところです。Arduino はいろいろなモデルがありますが、安いもので 2000 円くらいです。手軽なお値段!
ということで今回は Arduino Uno というモデル (+周辺パーツのセット) を購入しました。一番人気のモデルだそうです。

Amazonでチェックする

さっそく開封しました。とても小さいですね。

arduino_open01

下図のような構成になっています。下図は Arduino Uno の場合ですが、モデルによって構成は異なります。

arduino_open02-2

今回はこれと PC を繋いで、プログラムを入れて動かすところまでやってみます。

Arduino 開発環境を構築する

次に Arduino の開発環境を構築しましょう。といっても Arduino の IDE をダウンロードするだけです。以下の URL からダウンロードしましょう。

http://arduino.cc/en/Main/Software

起動してみるとこんな感じです。ちなみに Processing でコーディングします。Processing は初心者のプログラミング学習に適した言語です。全く難しいものではないので、Processing を使ったことがなくても大丈夫です。

arduino_ide01

次に Arduino を PC に USB 接続します。Mac の場合はそのまま接続できますが Windows の場合はドライバのインストールが必要です。
接続したら Arduino IDE のメニューから「ツール」>「シリアルポート」を選び「/dev/cu.usb-」で始まる項目を選択します。

arduino_ide02

下図のような表示が確認できたらシリアルポートの設定完了です。これから作るプログラムが USB 接続している Arduino に転送するための準備ができました。

arduino_ide03

Arduino のプログラムを作る

では Arduino のプログラムを作ってみます。今回は LED が1秒感覚で点滅するというプログラムを Arduino に入れて動かしてみたいと思います。

まず Arduino 本体に LED を挿します。LED はプラスとマイナスの2つの端子があるのでそれぞれ逆にならないように取り付けます。長い端子がアノード (陽極) で、短い端子がカソード (陰極) です。

arduino_development01

アノードは Arduino 本体の「13」と書かれているピンに接続し、カソードは「GND」と書かれているピンに接続します。

arduino_development02

これで Arduino 本体側の準備は完了です。次にプログラムをコーディングします。ちなみに Processing では一連のプログラムをスケッチと呼んでいます。

// 13ピンの定数
const int LED = 13;

// 起動時に一度だけ呼ばれる
void setup()
{
  // 13ピンを出力に設定
  pinMode(LED, OUTPUT);
}

// 実行中に繰り返し呼ばれる
void loop()
{
  // 出力をオンにする
  digitalWrite(LED, HIGH);
  // 1秒間隔をあける
  delay(1000);
  // 出力をオフにする
  digitalWrite(LED, LOW);
  // 1秒間隔をあける
  delay(1000);
}

arduino_development03

setup() はスケッチが実行されたとき、はじめに一度だけ実行されるメソッドです。ここでは 13 ピンを出力に設定しています。loop() はスケッチ実行中に繰り返し呼ばれるメソッドで、ここで LED を点滅させる処理にしています。
ここまでできたら実行です。まずは「検証」ボタンをクリックしてスケッチに記述ミスがないか検証し、コンパイルします。

arduino_development04

以下のようなメッセージが表示されたらコンパイル完了です。

arduino_development05

次に「アップロード」ボタンをクリックして Arduino 本体にスケッチを転送します。

arduino_development06

以下のようなメッセージが表示されたら転送完了です。

arduino_development07

LED が点滅しました!簡単ですね〜。

arduino_development08

まとめ

今回は導入編ということで Arudino にプログラムを入れて動かすところまでやってみました。 ハードウェアは目に見えて結果が出てくるので楽しいですね!工作好きのかたはぜひ試してみてはいかがでしょうか。
次回からスマホアプリ連携についていろいろ試していきたいと思います。

参考