Arduinoその他工作

歴史から使い方まで解説!人気のマイコンボードArduinoとは!?

ここ数年、「電子工作」や「プログラミング」といったキーワードを含む本や雑誌が書店でも見られるようになってきました。それらの本の書籍のタイトルを見てみると「Arduino(アルドゥイーノ)」とか「Raspberry Pi(ラズベリーパイ)」といった単語をちらほらと見かけることがあります。

しかし、ArduinoやRaspberry Piと聞いて「あー、なんか聞いたことあるよ。実際どんなものか知らないけど」と思っている方も少なくないと思います。

この記事ではArduinoについてのお話をメインテーマとし、

  • Arduinoとは何なのか
  • ArduinoとRaspberry Piは何が違うのか
  • いろんな種類のArduinoがあるみたいだけど何に気をつけて選んだらいいのか

といったポイントについて紹介していきたいと思います。

 

目次

  1. Arduinoとは?
  2. Arduinoの歴史・名前の由来
  3. Raspberry Piとどちらを使えばいいの?
  4. ArduinoとRaspberry Piの違い
  5. Arduinoの使い方をどうやって身につけていくか
  6. Arduinoの代表的な製品一覧とそれぞれの使い方
  7. こんなところにも使われているArduino
  8. こんなことができるArduino
  9. 電子工作の世界へようこそ

 

1. Arduinoとは?

Arduinoは電気やプログラミングの深い知識を持っていない電子工作初心者でも扱いやすい、オープンソースのマイコンボードです。「Arduino」と言われたら下の写真のような外観をイメージしていただくのが良いでしょう。

図1

Arduinoボードの例(Arduino UNO)

こちらは回路基板の上にいろいろな電子部品が載っており、これに似たものはパソコンやテレビなどの中身でもよく見られ、「回路基板」「電子基板」「ボード」などのように呼ばれます。特にプログラミングをすることによって動作を変えることができる「マイコン」(マイクロコントローラ、またはマイクロコンピュータの略称)と呼ばれるチップを積んでいる回路基板のことを「マイコンボード」といい、写真のArduinoもマイコンボードの一種で「Arduinoボード」とも呼ばれます。

ちなみに「Arduino」のカタカナ表記は「アルドゥイーノ」「アルデュイーノ」「アルディーノ」の3パターンがあり、Arduino愛好家の間でも特に統一感はないので好きな表記で書いたり発音したりしていただければいいと思います。筆者はカタカナで書くとしたら「アルドゥイーノ」と書くことが多いですが、発音は「アルドゥイーノ」と「アルディーノ」を足して2で割ったようなかんじでお茶を濁しています。

ただ、「Arduino」は「Arduinoボード」のことだけでなく、プログラミングに使う統合開発環境(IDE)と呼ばれるソフトウェアも同じように「Arduino」という名称がつけられています。

図2

Arduino IDE

このプログラミングに使うソフトウェアは特に「Arduino IDE(アルドゥイーノ・アイディーイー)」と呼ばれることが多く、基板とソフトウェアを呼び分ける場合は「Arduinoボード」と「Arduino IDE」と呼び分けをすると良いでしょう。

 

2. Arduinoの歴史・名前の由来

「Arduino」は、2003年当時にイタリアのInteraction Design Institute Ivrea (IDII)に在学中だったHernando Barragán(エルナンド・バラガン)氏によって修士論文の研究プロジェクトとして始められた『Wiring』がベースとなって開発されました。Wiringではアーティストやデザイナーのような人たちが作品を制作するときに電子工学の知識がなくてもマイコンを扱うことができるよう、複雑なしくみを抽象化することで本来の目的(作品制作等)に集中できるようにすることを目的として研究が進められたのです。

Arduinoの開発プロジェクトが始まったのはその後の2005年。Barragán氏の修士論文の指導教官だったMassimo Banzi氏がDavid Mellis氏、David Cuartielles氏らと共に(Wiringのソースコードをフォークして)「Arduino」と呼ばれる別のプロジェクトをスタートさせました。

「Arduino」という名前の由来は、Arduinoプロジェクトを立ち上げたMassimo Banzi氏が行きつけだったバーが「Bar di Re Arduino」という名前で、そこから「Arduino」の名前を使わせてもらったことが由来とされています。

その後、Arduinoは世界中で人気が出始め、「メイカームーブメント」(3Dプリンタなどのデジタル工作機械を用いたものづくり等を推進する活動)の追い風もあり世界で最も一般に普及したマイコンボードとなったのです。

Arduinoの歴史を辿ると、Arduinoチーム(Arduino LLCとArduino SRL)の内部分裂や商標権・製造権に関する問題に関する記事も多く見られます。この件については最終的に両者の和解によって幕が下ろされ、私たちのようなArduinoユーザにとってもこの結末は(Arduinoボードの流通やArduino IDEのアップデートなどへの影響の面でも)ホッとする出来事でした。

 

3. Raspberry Piとどちらを使えばいいの?

昨今、電子工作に入門する方は「Arduinoで○○」「Raspberry Piで○○」といったタイトルの記事や書籍を参考にしながら基礎的な練習をすることが一般的となってきました。

しかし、「で、どちらを買えばいいの…?」という疑問が残ったまま、どちらを選ぶべきかわからないという状況の方もいらっしゃると思います。まずはArduinoとRaspberry Piの違いを簡単にご紹介します。

Arduinoは「マイコンボード」、Raspberry Piは「シングルボードコンピュータ」と呼ばれる部類のものです。マイコンボードについては先にご紹介しました。シングルボードコンピュータは「必要最低限の機能に絞ったパソコン」と解釈していただければわかりやすいと思います。これを踏まえた上で、ArduinoとRaspberry Piのどちらを使うべきか、いくつかの視点から考えてみましょう。

 

図3

Raspberry Pi 4 Model B

 

4. ArduinoとRaspberry Piの違い

「マイコンとパソコンだったら、パソコンのほうが上位互換では…?」といった声もあるかもしれませんが、実際はそれぞれに適した使いどころがあったり、使いやすい・使いにくいといった勘所があったりします。

① OSの有無

例えば内部のソフトウェアの動作について見てみると、ArduinoにはOSがなく、Raspberry PiではOSがあるといった特徴の違いがあります。

これは「OSがあるほうが良い」といった単純なことではなく、OS上で動いている他のアプリケーションもやりたい動作に影響する可能性があり、時にはパソコンを使っているときにもよくあるフリーズなども考慮する必要があるということです。
もちろん、Linuxで動作するプログラムを実行したい場合は、ArduinoではそれができませんのでRaspberry Piを選ぶことになるでしょう。

 

② 役割の違いを考える

マイコンにはマイコンがすべき仕事があり、パソコンにはパソコンがすべき仕事があるということです。Raspberry PiがLEDやスイッチなどの入出力が割と何でもできてしまうため、できることorできないことで考えると難しいですが、それぞれに適した役割分担を考えればどちらにすべきかが見えてきます。
例えば、Arduinoが適している役割は以下のようなものが挙げられます。

  • LEDやモータの制御
  • スイッチやセンサの状態検知

このような電気信号を扱うことが必要(ハードウェア寄り)な場合はArduinoにすると良いでしょう。

また、Raspberry Piが適している役割は以下のようなものが挙げられます。

  • ネットワーク通信(有線/無線LAN)
  • ディスプレイやプロジェクタなどへの映像出力
  • カメラの使用(画像処理など)

このようにパソコンとして振る舞う動作が必要(ソフトウェア寄り)な場合はRaspberry Piにすると良いでしょう。

 

5. Arduinoの使い方をどうやって身につけていくか

周りに使い方を教えてくれる人がいるときはその人に聞きながら進められるとよいですが、マンツーマンで何度も教えてもらうのもちょっと気が引けたり、そういった知見を持っている人がそもそも身近にいなかったりすることも多いので、できれば一人で学べる方法がわかるといいですよね。
筆者がおすすめする方法として、以下の2つを挙げます。

① 書籍を購入して、その内容に沿って進める
② WEB記事を参考に、その内容に沿って進める

① 書籍を参考にする場合

書籍(技術書や入門書)に沿って進める場合は、書店やネットショップで販売されているものを購入することになりますので書籍の代金はかかりますが、書籍の多くがゼロから始めた人向けに執筆されていることもあり解説がとても丁寧な印象があります。それに「この一冊があればほぼ大丈夫」ということもあり、自分でいろんなサイトを調べながら進めるよりも途中でつまずくことが少ないです。自らインターネット検索をしなくても読み進めれば新しい知見が得られるのも書籍の良いところですね。
例としてArduinoの使い方が解説されている書籍をピックアップしました。ユーザーレビューや関連商品を参考にしながら選んでみるといいかもしれません。

Arduinoをはじめよう 第3版
図11

 

これ1冊でできる!Arduinoではじめる電子工作 超入門 改訂第3版
図12

② WEB記事を参考にする場合

インターネットで検索して出てくる記事を見ながら進める場合は多くが無料で閲覧することができるため、書籍を見ながら進めるより低コストに情報収集をすることができます。丁寧に執筆されている記事を見つけることができればスキルを身につけるのに十分な情報を得ることができますので、インターネット検索に慣れている方は必要な情報を検索することで多様な視点での解説を見ることができます。
例としてArduinoの入門に関する記事をピックアップしました。これらの記事を中心として読み進めて、随時気になるキーワードを検索しながら読み進めると良いでしょう。

Arduinoの始め方
初めてArduinoを触ってみる方が通るArduino本体の購入、Arduino IDEのインストール、LEDの光らせ方が解説されています。まずはこの手順を参考に始めてみましょう!
第2回 Arduinoでお手軽電子工作:LEDを光らせてみる

プログラムを作ってみよう
ブレッドボードを使ってArduinoにLEDや抵抗をつないで、複数のLEDを光らせたり交互に点滅させたりします。プログラムや配線のいじり方に慣れていきましょう。
第4回 Arduinoのスケッチ〜プログラムを触ってみよう

光センサを使ってみる
人における五感の代わりとなるセンサを使ってみます。ここでは光センサを使って周りの明るさを感知して、LEDの明るさに連動させます。
第5回 光センサーでArduinoへの入力を試してみる!

 

6. Arduinoの代表的な製品一覧とそれぞれの使い方

Arduinoボードをいざ購入するときに何を考えればいいのかという点について解説します。Arduinoボードは様々な種類が販売されており、種類によって値段や機能が異なります。今回は4種類のArduinoボードをよくあるニーズに合わせてご紹介します。

① とりあえず練習を始めてみたい

特に作ろうとしている物のイメージはないけど「とにかくArduinoを始めてみたい!」という方へのおすすめは「Arduino UNO(アルドゥイーノ・ウノ)」です。

図4

Arduino UNO

「Arduino UNO」はArduinoシリーズの代表とも称される最も基本的なボードです。代表とも言われることから、ウェブ・雑誌等の記事や技術書などの書籍で最も多く情報が出ており、「シールド」と呼ばれるArduinoに対応した増設回路基板も多くが「Arduino UNO」に対応しています。

入出力ポート(入出力端子)にはピンソケットが実装されており、これにジャンパワイヤを挿し込むことでブレッドボードなどと接続することができます。

インターネットでArduinoに関する情報を検索すると、その多くはArduino UNOを例に説明していることが多いため、他の種類のボードを使っている場合は、ピン番号などを照らし合わせながら配線などを組み立てる必要がありますが、これを使えば配線の情報やプログラムのコードをそのまま利用できます。

 

② たくさんの入出力が欲しい

LEDをたくさん制御したい、スイッチをたくさん検知させたい、モータをたくさん動かしたい、など「Arduino UNO」では入出力ポートの数が足りないというときは、この「Arduino Mega(アルドゥイーノ・メガ)」を選ぶと良いでしょう。UNOよりは高額です。

図5

Arduino Mega

「Arduino Mega」はUNOより多くの入出力ポートが備えられており、その数の分だけセンサなどを増やすことができます(たくさんLEDを接続するときは消費電流に注意する必要があります。Megaに限らず全てのマイコンに共通しますが…)。

UNOではシリアル通信ポートが1組(USBインターフェースと兼用)だけでしたが、MegaではUSBインターフェース兼用の1組にプラスで3組分増えているので、マイコン同士を通信させたいときやBluetooth/Zigbeeなど、シリアル通信をさせたいときはMegaがおすすめです。

よく使う端子の位置が「Arduino UNO」と基本的には一緒になっていますので、UNO対応のシールドの多くをMegaでも使うことができます。

PWM出力ができるピンもUNOと比べて多いため、PWM信号を使って動かすモータの数が多い場合はMegaを使うと良いでしょう。将来的にロボットの制御にArduinoを活用したい場合は持っておいて損はないと思います。

 

③ 小さいものに組み込みたい

サイズが小さめのロボットや装置に組み込みたいときは、基板のサイズがUNOより小さい、コンパクトな「Arduino Micro(アルドゥイーノ・マイクロ)」がおすすめです。UNOよりもちょっと安いです。

図6

Arduino Micro

「Arduino Micro」は端子にピンヘッダが実装されており、マイコンボードを直接ブレッドボードに挿し込むことができます。ユニバーサル基板などにピンソケットをはんだ付けすればジャンパワイヤを使わずに、しっかりとした配線をすることもできます。

図13

ユニバーサル基板

ユニバーサル基板を使うときは半田付けをする銅箔がついている面(パターン面)で配線を行いますが、抵抗やLEDの足を切ったときの足を捨てずに確保しておいて基板上の配線に活用するというのが、電子工作の界隈では一般的な文化となっています。

 

④ 自作キーボード・マウスを作りたい

近年、電子工作の界隈で「自作キーボード」というものが流行し始めました。パソコンのキーボードを自作することで自分が思い描く理想のキーボードや、面白い機能を搭載したオリジナルのキーボードを作るというものです。「Arduino Leonardo(アルドゥイーノ・レオナルド)」ではキーボードやマウスといったHIDの開発が可能です。基板の形がUNOと似ていますが、別種のArduinoボードです。

図7

Arduino Leonardo

HIDとはHuman Interface Deviceの略で、一般に言うパソコンのキーボードやマウスのことです。特に「HID準拠デバイス」と呼ばれることもありますが、これはパソコンにUSB接続したときに製品固有のデバイスドライバをインストールすることなく使うことができます。Arduino Leonardoには「ATmega32U4」というマイコンが搭載されており、このマイコンがHID準拠デバイスとして振る舞うことができるため、キーボードやマウスに化けて使うことができます。

他のArduinoボードでもATmega32U4というマイコンが搭載されている場合はHIDの開発が可能で、先程ご紹介したArduino MicroもATmega32U4が搭載されているため、Arduino Microでも同様に自作キーボード・マウスに活用することができます。ブレッドボードでの試作をしたい場合はLeonardoを、ユニバーサル基板での半田付けをしたい場合はMicroを選ぶと良いでしょう。

 

7. こんなところにも使われているArduino

Arduinoの登場によってマイコン制御はメーカーが作る家電などの製品だけでなく、ホビーロボットや芸術、DIYなどをはじめとした個人が作る分野でも使われることが多くなりました。それらの分野に関連するArduinoを使った製品・作品を3つご紹介します。

TINKERKIT BRACCIO ROBOT

Arduino公式が開発したロボットアームのキットです。6個のサーボモータでアームを自由に動かすことができ、Arduinoを使って自由に制御することができます。教育用ロボットキットにも様々な種類がありますが、その多くでArduinoが使用されています。

 

Plastic Reflectic

環境破壊を訴える海のゴミ問題をテーマにしたインスタレーションです。なんと600個の防水サーボモータが使用されています。この作品のように電子制御で動くメディアアート展示の分野でもArduinoは活躍しています。

 

Arduino Camera Slider

カメラを自動でスライド動作させるための装置です。Arduinoを使って2つのステッピングモータを制御することで往復と回転をすることができます。自分が欲しいと思った装置を自分の好きな大きさで作ったり動作を調整したりできるのもArduinoを使ったDIYのいいところですね。

 

8. こんなことができるArduino

最後にこれまでDevice Plusで紹介してきたArduinoを使った電子工作の記事をいくつかご紹介したいと思います。多くの筆者の方々が独自のアイデアでいろいろな面白いデバイスを制作しています。ぜひ参考にしてみてください。

【Arduinoと距離センサで作るチキンレーサー】

図8

壁に向かって自動で走行し、人がボタンでストップをさせてどれだけ壁の近くギリギリで止めることができるかを競うゲーム(いわゆる「チキンレース」)で遊べるロボットです。
距離の計測に超音波測距センサを使っており、計測した距離の数値をキャラクタ液晶ディスプレイに表示させる機能を持っています。

ギリギリの距離で止めよう!Arduinoと距離センサで作るチキンレーサー!(第1回)

 

【ArduinoとTOF距離センサでつくるドーナツプレーヤ】

図9

レコードのドーナツ盤にちなんで、本物のドーナツを回転させて距離センサで検知して形に応じた音を鳴らす「ドーナツプレーヤ」が開発されました。誰も作ったことがないユニークな作品を作るときにこそArduinoは大活躍します。

ArduinoとTOF距離センサでつくるドーナツプレーヤ【後編】

 

【ArduinoとFeliCaリーダーを用いた入退室記録システム】

図10

FeliCa対応の交通系ICカードやスマートフォンなどと通信できるFeliCaリーダーを使って、個人を識別して入退室日時を記録することができるシステムです。「こういうの欲しいな…」と思ったときに実際にArduinoを使って作ってしまうのっていいですよね。

Arduino Megaで電子工作!FeliCaリーダーで入退室記録システムを作ろう

 

 

9. 電子工作の世界へようこそ

これまでArduinoの特徴や選び方、実際の作例をご紹介してきました。私たち個人が世界にひとつだけの作品を作ることができるのは電子工作の醍醐味でもありますね。

皆さんの頭の中に「こんなものあったらいいなあ」「こんなもの作れたら面白そうだなあ」といったアイデアがありましたら、ぜひArduinoを使って作ってみましょう!

Arduinoでスマートウォッチを作ろう
河島 晋

中学生のときからいろんなロボコンに出場しているロボコン大好きエンジニア。Maker Faire等の展示会にもよく出展している「論文まもるくん」の人。

https://twitter.com/kawashieee