1.仕事に使えるArduino講座開講(メリット・デメリット・狙い)

Arduinoで学ぶ目的

慢性的なエンジニア不足

世界規模でコンピューター・ITの世界が進んでいます。
コンピュータ使った機器や、システムの開発は、すべての分野で今後まだまだ進化し、現在そしてこれからのエンジニア人材不足は継続的に大きな問題となっています。

少し古い資料になりますが、2018年においての先端IT人材の数は約9万人、従来型IT人材は約94万人と経済産業省は「IT人材需要に関する調査」で発表をし、ITに携わる人材のうち「先端技術に移行できる人が1%しかいない」「このままIT需要の伸びが低いと」仮定しても、先端IT人材の数だけでも、2030年には約38万人も不足するといっています。

先端ITをArduinoでマスターする

不足する先端ITとは、経済産業省のレポートでは「ビッグデータ」「AI」「IoT」の3つを指し示し、これらの技術を担う人を先端IT人材と呼んでいます

この「Arduino講座」では、この中の3つの中の「IoT」部分についてマスターをします。

IoTとは

IoT = Internet Of Things →直訳すると「モノのインターネット」…つまりインターネットにつながるモノを示します。

左の絵のように、インターネットにつながる様々な電子機器を使用するもの、スマホ・パソコン・車・スマートスピーカーなど、インターネットにつながるモノであれば、それそ総じてIoT機器と呼び、それらに関する技術をIoT技術と呼びます。

このモノについて、ArduinoはIT業界では「組み込み」と呼ばれる分野で、自動車や携帯電話など比較的大規模なものではなく、洗濯機やエアコン、スマートウオッチなどに向いています。

なぜArduinoなのか?

これまでの難しく面倒な「組み込み」

「組み込み」開発においては、必ず電子回路数学計算が必須となっていたため、理系で工学関係の方しかなかなか入り込めなかった世界です。
回路図設計・部品選定を行うハードエンジニア、その上にプログラムを乗せて動かすソフトエンジニアとも、電気や計算の基礎知識をマスターしていることが条件でした。

ちょっとした簡単な装置を開発するにおいても、電子回路を設計し試作基板を作り、高価な装置を使ってプログラムを作っていくという流れが必要で、パソコンWindowsでちょっとプログラムを組んで動かしてみるというものとは大きく異なっていました。

(A)簡単・手軽

Arduinoは、それまでとても難しく厄介な「組み込み」分野の開発スタイルを変えました。

手のひらサイズのボードの上に必要な部品をすべてのせ、まるでプラモデルを組み立てるかのようにに穴の開いた実験用のボード(ブレッドボード)に部品をのせ線をプチプチとさしていく。

はんだ付けも面倒な回路設計も技術計算も一切行わず、雑誌記事やインターネットの記事を見ながら線をつないだ後は、パソコンでプログラムを作ってArduinoのボードにUSBケーブル1本で書き込むだけ。難しい設定も何もせず、まるでWindowsパソコンでプログラムを楽しむかのように手軽に「組み込み」を体験・学習できるようになりました。

(B)目的に合わせて選べる

Arduinoにはたくさんの種類があるため、小さいものから大きいものまで、作りたいもののイメージに合わせてボードを選択することができます。

例えば、小さなリモコンのようなものを開発したい場合と、機能豊富なロボットを開発したい場合では、想像しただけでもボードの大きさや部品の数、プログラムの量は変わるはずです。

そういった目的に合わせてArduinoはシリーズ化してたくさんの種類が用意されています。
そして、そのボードはアマゾンやネットショップで簡単に購入することができます。

Arduino uno   Arduino101

(C)全て共通

これまでのマイコンシステムでは、マイコンの種類やメーカーが変わるたびに、そのマイコンに合わせたそれぞれのプログラミング技術を勉強し、それに合わせたテクニックを使う必要がありました。

しかし、Arduinoはたくさんの種類があるにも関わらず、マスターしなくてはいけないプログラミング技術がほとんどすべて共通です。

Arduinoのボードでは、例えば出力したい命令(digitalWrite)はボードの種類が変わってもすべて共通の命令で、ボードごとの違いはすべて変換ソフトが対応してくれます。
プログラマーは、いつも同じ命令を使いまわしするだけで、いろいろな装置を簡単に作れてしまうメリットがあります。

(D)オープンソース

Arduinoは、回路図もソフトウエアーもすべてネット上でオープンソース(公開)されています。
しかも、それを使って製品を開発して販売してもよいことになっています。

なので、実験してうまくいけば、公開されている回路図に必要な部分だけ加え、不要な部分をカットして新しい回路図を作り、そこからオリジナルボードを製造して製品を作ることができます。

CRETTARIA社が販売をするロボットクムクムも、実はArduinoLeonardoを使って実験し、後にオリジナルのボードを作っています。

Arduinoのデメリット

便利なArduinoですが、いくつかのデメリットもあります。

プログラムのサイズが大きくなる

マイコンを使った小型機器は単機能で小さく安く作る工夫が必要です。
できるだけ安い小さなCPUを使い、ギリギリまでプログラムを小さく作ろうとします。
もともとはArduinoがなかったので、基本的にはすべてを自分で作り、工夫を重ねてできるだけ小さなプログラムを作ることも行います。

しかしArduinoは、だれでもがどのボードを使っても同じ命令で作れるように工夫されているため、の共通化されている部分がどうしても必要になり、その部分がプログラムとして埋め込まれてしまいます。

そのため、Arduinoがないプログラムに比べて、結構大きなプログラムができてしまい、そのためにArduinoを使わないボードより高くなってしまったり、大きくなってしまうことがあります。

動く速度が遅くなる

Arduinoを使ったプログラムは、Arduino共通部分を実行する分、やはりArduinoを使わないプログラムより速度が遅くなります。

下の図はイメージです。(秒数は実際とは異なります)

仕事になるために

ここまで書いてきましたようにArduinoはとても簡単で使いやすく誰でもがすぐにIoTを勉強することができます。

ただ、比較的小さな装置を実験的に作ることにとってはいいのですが、大きな機器の開発にはArduinoは向きません。小さな単機能な部分…例えば『温度センサーによって温度を検知して、温度によって畑の水をまく装置』など。

しかし、IoTや組み込みの仕事で求人されているものの多くは、車のナビゲーションシステムであったり、遠隔制御装置であったり、Arduinoの何倍も何十倍も大きなもので、複数人で開発するものが多いため、Arduinoだけでの知識と経験では仕事にはなりにくいことは確かです。

しかし近年の大型装置は、機能ひとつづつがそれぞれインテリジェントに動く設計が施されるため、全体としては大きいが、ひとつひとつは小さな完成品であったりします。
つまり単体機能単位のモジュール化で開発されるケースが多くなり、こういった部分ではArduinoで得た知識は十分役に立ちます。

しかし、Arduinoは前述しましたデメリットIoT機器の致命的なポイントになるため、最終的にはArduinoがない形で開発できないと、なかなか仕事として現場で活躍するのは難しいこととなります。講座では、そういったあたりもできるだけ考慮し、Arduinoだけではなく、しっかり仕事でつかえるような基礎知識までマスターしていただけるように準備をしていきます。

本講座での狙い

「組み込み IoT仕事」にはまず、しっかりハード・ソフトの知識を身に着けておく必要があります。PCのプログラマーとは違い、電子・ハード・回路の最低限の基礎知識をしっかりもった上でソフトを組めなくてはなりません。

その目的において、まずはArduinoを使えば簡単にその部分をマスターすることができます。
本講座では、「電気・電子部品のことを一通り理解し、回路図を追いかけられるようになり、その回路に合わせた制御方法がわかり、C言語を使ってプログラムが組める」を目標とします。

また、この講座では職場でしっかり使えるために、部品の調達方法・調達のポイント・選定のポイントなども含め、実践的なノウハウにも触れていきます。

Arduinoの歴史

Arduino(アルドゥイーノ)とは、マイコン入出力ポート一体としたハード(基板)とプログラム開発用の統合開発環境から構成されるマイコンボードシステムで、近年、マイコンシステムの学習・研究・製品に全世界で大変多く使われるようになりました。

2005年にイタリアで、学生向けのロボット製造用コントロールデバイスよりも安価なプロトタイピング・システムを製造することを目的にスタートしたプロジェクトで、Arduino LLC および Arduino SRL が設計・製造を行い、登録商標を持っているものです。

会社の創業者は、Massimo Banzi、David Cuartielles、Tom Igoe、David Mellis。

生産はイタリアの企業 Arduino S.R.L. が行っていました。
Arduino S.R.L. の創業者は Gianluca Martinoで2015年1月23日にArduinoの権利を巡り Arduino, LLC. と Arduino S.R.L. の間で裁判が発生しました。

Arduinoのハードは、2008年10月までに5万ユニット以上、2011年2月で約15万台、2013年で約70万台(公式分のみ。加えて、非公式クローンが同数以上販売されていると予測されている)販売されています。また、Arduinoプロジェクトは2006年度のアルス・エレクトロニカ賞で名誉言及を受けています。