[Arduinoのすすめ][ArduinoConf][ArduinoMonitor][iArduino]

Arduino のすすめ

1 はじめに

Arduino という名前を聞いたことがあるかもしれません。最近流行っているみたいだなと思われているかもしれません。ここでは、そんな Arduino について紹介したいと思います。

1.1 Arduino ってなに?

Arduino というのは、簡単に書くと

の2つがセットになったものです。マイコン?難しそう。と、思われるかもしれませんが、そんなことがないように、うまく工夫されているのが特徴です。

Arduino Duemilanove boardArduino IDE
左:Arduino Duemilanove の外観,右:Arduino IDE のウィンドウ

1.2 電子工作もプログラミングもしたことがないんですけれど

電子工作をしたことがなくても大丈夫です。Arduino と、ジャンプワイヤという、ピンが両端についた電線、ブレッドボードという穴のたくさん並んだ板、使いたい電子部品を用意すれば、半田付けなしに楽しめます。もちろん、ブレッドボードを使わず半田付けをする電子工作にも Arduino は活躍します。

ブレッドボード
ブレッドボードの例。穴に部品の足やジャンプワイヤの先を挿し込んで配線する。色々な大きさのものが販売されている。
ジャンプワイヤ
電線がやわらかいタイプのジャンプワイヤの例。先端の金属部分をブレッドボードの穴に挿し込む。 サンハヤトのものが電子部品店で購入しやすい。秋月電子、スイッチサイエンス、ストロベリー・リナックスなどでは、より安価なものを輸入・販売している。

プログラミングについても心配ありません。とても簡単にできるように工夫されています。

1.3 電子工作は好きだけどマイコンは苦手で

電子工作は好きだけどマイコンやパソコンのプログラムは苦手で、という方もいらっしゃるかもしれません。そういう方にも Arduino は、マイコンの便利さを知るきっかけになると思います。マイコンの開発というと、

の3つを間違いなく用意する必要があって、市販品は高価に思え、自作するとうまく動くか心配となって、最初は敷居が高く感じられるものです。でも Arduino なら、

という手軽さです。

1.4 Windows/UNIX のプログラムは書いたことがあります

Windows や UNIX のプログラムを書いたことはあるけれども、電子工作は敷居が高くてという方も安心してください。最初は半田付けも要りませんし、プログラミングの知識があれば理解は容易なはずです。

1.5 マイコンのプログラムには自信があります

マイコンのプログラムに自信のある方が、すぐに便利さを実感するのではと感じています。 基本的なハードウェア仕様はArduino Duemilanoveを見ると分かるかと思います。マイコンは ATMEL AVR MEGA シリーズ、開発言語は C/C++ ベース (コンパイラは gcc) です。そして、 リファレンスマニュアルの日本語訳や、Arduino: Playground(英語)をながめると、色々なライブラリが公開されていることが分かります。商用で使うにはライセンスの検討が必要ですが、ホビーで楽しむにはちょっとしたことが簡単にできてしまい、手軽さが実感できると思います。

2 電子工作入門

電子工作って、どういうイメージでしょうか?ちょっと乱暴ですが、電子工作は、電子部品の足(電気を通す)同士を電線(電気を通す(導く)という意味で導線と呼ぶ)をつなぐものです。どうでしょう。簡単そうですね。

2.1 覚えておくこと

電子工作で覚えておくことが必要なのは、利用する部品の名前、部品の形と足がどこから出ているのか、回路図と呼ばれる図面上の記号とそれぞれの足の対応関係です。これが分かってしまえば、工作の半分はできたようなものです。

2.2 ブレッドボードを使おう

ブレッドボードとジャンプワイヤいう部品を使うと半田付けなしで、電子部品同士をつなぐことができます。 以前に書いた記事(ブレッドボードでLEDを点滅させてみよう)が、ありますので読んでみてください。

また下のスライドに Arduino で簡単な回路を組むときのブレッドボードの使い方があります。

ブレッドボードの使い方と Arduino に簡単な回路をつける例 from mitunaga

2.3 Arduino ができること

Arduino ができることは大きく分けると、

  1. ピンの電圧を 5V (電源電圧)か0Vにする(デジタル出力, 10-20mAぐらいまで出力できる)
  2. ピンの電圧を 5V/0V に高速に切り替える(アナログ出力, 10-20mAぐらいまで出力できる)
  3. ピンに加えられた電圧が約2.5V以上なら 1, そうでなければ 0 と判断する (デジタル入力)
  4. ピンに加えられた電圧を測って 0 から 1023 の数値で表す(アナログ入力, 電圧計として使える)
  5. 時間を測ったり、数を数えたり、計算をしたりできる(プログラム)

の5つです。これで何ができるのでしょうか?

2.3.1 デジタル出力/アナログ出力とは

豆電球に電池をつなぐと光りますよね。電球と電池の間にスイッチを入れると、点灯/消灯をスイッチで制御できます。Arduinoのデジタル出力も同じように電源とピンの間のスイッチになっています。少し違うのは、

といったところです。

アナログ出力というのは、 LED を点灯したり、モータを回すときに、高速にスイッチをオン/オフすることによって、 明るさや回転速度を変化させることができます (厳密にはアナログ出力とは呼ばず、PWM 出力と呼びます)。

2.3.2 デジタル出力/アナログ出力の使い道

デジタル出力/アナログ出力を使うと

ことができます。Arduino とブレッドボード以外に必要な部品は、それぞれ、

と、とても少ないです。

2.3.3 デジタル入力/アナログ入力とは

デジタル入力、アナログ入力は、ピンの電圧を

として読む(測る)ものです。()内は電圧です。デジタル入力には、中間の電圧を与えないというルールがあることに注意してください。

2.3.4 デジタル入力/アナログ入力の使い道

デジタル入力/アナログ入力は、

などなどを、Arduino につないで値を知るために使います。これによって、スイッチを押した、ボリュームを回した、暗くなった/明るくなった、壁に近づいた、といった現象を Arduino のマイコンは知ることができます。そして、プログラム(スケッチ)を書くことで、それらに応じた、LEDやモータなどの動作を作ることができるようになります。

スライドでの解説

ここまでの内容+αをスライドにまとめたものです:

3 Arduino を使ってみよう

UNIX (Linux) や Windows のプログラムを書いたことがある人は次の記事(1〜5)を参考にしてみて下さい。おおよその感覚がつかめると思います。

3.1 使ってみよう

  1. Arduinoの最初の一歩(スケッチの例を動かす)
  2. 簡単な回路とスケッチ
    Arduino / ArduBlock の簡単なプログラムと回路の例 from mitunaga
  3. Arduinoを使つかった回路かいろとプログラムのれい
    1. Arduinoのボード上のLEDを使ってみよう
    2. Arudinoと部品を組み合わせて使ってみよう
    3. スイッチに反応する
    4. ボリュームと明るさと温度と重さ(抵抗値の変化)に反応する
    5. センサICを使う
    6. 変数(へんすう)を使おう
    7. 作品を作ろう

3.2 ライブラリやモジュールを使ってみよう

  1. スイッチを使う(スイッチライブラリの紹介)(digitalReadを直接使わない方法です。チャタリングについての解説もあります)
  2. センサIC(デジタル出力)を使う
  3. センサIC(アナログ出力)を使う
  4. I2C接続のセンサを使う
  5. SPI接続のセンサを使う
  6. その他のデジタル接続センサを使う
  7. 液晶モジュールを使う
  8. スケッチを組み合わせて作ってみる

3.3 便利なツール

初めての回路を組み立てて、新しいスケッチを書いたとき、ちょっとしたバグが入ることはよくあります。そんなときに回路のテストをするためのツール ArduinoMonitorを作成しました。使い方は紹介記事も参考にしてください。

また、グラフィカルにピンの入出力の設定をしてスケッチの雛形を作るツールArduinoConfも使って見てください。こちらも紹介記事があります。

3.4 作ってみよう

Arduinoでこんなことができます:

4 作品として完成させる

Arduino を使った作品はうまく動いたら、作品として完成させましょう。作品として完成させるときには、ブレッドボードと同じ回路を、基板に部品を半田付けして作り直すことをお勧めします。半田付けには、

というメリットがあります。そこで半田付けをして作品として完成させましょう。

4.1 半田付け入門

半田付けは、それほど難しいものではありません。以前に書いた記事がありますので、読んでみてください。エレキットの電子工作キット(説明書がとても丁寧)で、半田付けの練習をしてみるのも楽しいと思います。

4.2 万能基板を使いこなそう

プリント基板と呼ばれる、回路専用の基板を作ると工作はとても簡単になります。ところが、少ない枚数を作ると割高になってしまいます。そこで万能基板(ユニバーサル基板)と呼ばれる、半田付け用の穴がたくさん開いた基板を利用して工作をします。Arduino の場合にはスイッチサイエンスで販売している「Arduino用バニラシールド・キット」が便利なのではと思います。これを利用すると Arduino の基板の上に自分の回路を載せることができます。

Arduino用バニラシールド・キット
スイッチサイエンスのArduino用バニラシールド・キット

万能基板には、部品を固定する穴はありますが、部品の足同士はそのままではつながりません。ブレッドボードで利用したジャンプワイヤに相当するものが必要です。そこで、ビニール電線や、スズめっき線、部品の足の余り(部品の足は長いので、不要な部分を基板に固定後切る。その切れ端が使える)で足同士をつなぎます。ちょっと、こつは要りますが、そんなに難しいものではないので挑戦してみてください。拙著「センサとデジカメで遊ぶ電子工作入門」でも、万能基板を利用した工作の方法を紹介しています。

4.3 Arduino のマイコン

Arduino の特徴はコネクタのピン配置が決まっていて、シールドと呼ばれる基板で拡張が出来ることです。一方で、自作の基板上に Arduino のマイコンだけを載せたいという場合があります。Arduino UNOに載っているのは Atmel の ATmega328Pという型番のAVRマイコンです。このマイコンと水晶発振子とセラミックコンデンサを買ってくると Arduino UNOと同等の回路を作ることが出来ます。

ただ、新しいマイコンには Arduino IDE と通信するブートローダが書き込まれていません。 そのときには Arduino をマイコンのプログラマにすることで、ブートローダを書き込むことが出来ます。チュートリアル「Arduino を AVR プログラマ(ISP: In-System Programmer)として使う」の日本語訳を参考にして下さい。

A.参考になるもの

A.1 web 上の情報

A.2 web 記事など

A.3 書籍, 雑誌

A.4 このページの筆者の作例の紹介など


更新履歴


戻る (本を出しました: はじめてのPICアセンブラ入門 | センサとデジカメで遊ぶ電子工作入門 | 玄箱PROと電子工作で遊ぼう )
Copyright (c) 2009-2015, Noriaki Mitsunaga