安価にDIY感覚でIoTを実践する「身の丈IoT」。そのコストの低さや、スモールスタートと工場DXの相性の良さから、製造業を中心に注目を集めています。
身の丈IoTの実現に欠かせないマイクロコンピューターは、「Arduino(アルデュイーノ)」と「Raspberry Pi(ラズベリーパイ)」に人気が二分されます。後者の「Raspberry Pi」については以前こちらの記事で詳しく取り上げました。
本記事では、もう一つの人気マイコンArduinoについて詳しくご紹介します!
Arduinoは、3,000円台など、手頃な価格で購入することができるイタリア発のマイコンボードです。元々は、「電子工学やマイクロコンピューターのプログラミングをした経験のないデザイン系の学生が実用的なプロトタイプを作れるように」という意図で、2005年に開発されました。そのシンプルな操作性と発展性から学生だけでなく電子工作を趣味とする個人、ひいては企業にも活用されるようになり、現在では代表的なマイコンボードの一つとなっています。
Arduinoにはその機能やメモリ容量、パッケージにより多数の種類が存在し、2021年10月5日現在、公式サイトでは初心者向けの「Entry Level」として以下の7種の製品が掲載されています。
この中でも最もポピュラーで技術書、解説書なども多く見られるのは一つ目の「ARDUINO UNO」です。また、より発展した機能が搭載された「Enhanced Features」として、ARDUINO NANO 33 BLE、ARDUINO MKR ZEROなども存在します。
なお、マイコンボード本体だけでなく、ハードウエアを動かすための統合開発環境(IDE)のことを指してArduinoと呼ぶこともあります。
さて、気になるArduinoとRaspberry Piの違いですが、筆頭に挙げられるのが「OSがあるかないか」です。Raspberry PiにはLinuxというOSが搭載されていますが、ArduinoにはOSがありません。そのため、より小さなコンピューターに近いのは「シングルボードコンピューター」とも称される「Raspberry Pi」であるといえます。Bluetooth、Ethernet、Wi-Fiといったネットワーク機能も完備されているため、Webを用いたシステムや複数のシステムを連動させるような操作はRaspberry Piの方が向いているでしょう。
一方、ArduinoはOSが存在せず、他のPC(デスクトップでもノートでもOK)と接続して、C/C++をベースに構築された独自のプログラミング言語で開発を進めることになります。その際、接続先のOSはWindowsでもMACでもLinuxでも問題ありません。そして、一度に制御できるタスクは一つだけです。これはRaspberry Piに比べて複雑な処理ができないという弱点でもありますが、一つのタスクに集中することでリアルタイム性を確保できるというメリットと捉えることもできます。これらの特性から、Arduinoはモーターやスイッチ、LEDの制御、リアルタイム検知などシンプルでハードウエア寄りのタスクをさせることに向いていると言われています。
例えば設備の稼働状況を示すシグナルタワーの光をセンシングして稼働状況を常時取得し、サイクルタイムを計測する、といった処理にはArduinoは向いているかもしれません。もっともArduinoは決して簡単なタスクしかできないというわけではなく、ロボット制御やドローンの構築などにも用いられています。
もちろんどちらかだけを選ぶ必要はなく、Raspberry Piで人工知能を開発し、Arduinoで動作を制御するといった適材適所の使い方もよく見られます。
よし、早速Arduinoを使ってみようと考えた方に向けて、注意しておきたいポイントをお伝えします。
Arduinoでは、プログラムのことをスケッチ、拡張ボード(接続することで機能を拡張できるパーツ)のことをシールドと呼ぶなど、独特の用語が存在します。解説書などでも触れられていますが、レファレンスサイトなどを活用しつつ、用語を把握しておくと理解が進みやすいでしょう。
Arduino本体を手に入れればすぐにIoT機器の開発が進められるわけではありません。まず、プログラミングを行うためのPCが必要であり、そのOSにあったIDEを公式サイトからダウンロードする必要があります。
また、機器をセンシングするのであれば、回路を接続するためのジャンパワイヤや電流を制御するための抵抗なども必要です。それら一式がそろったスターターキットも発売されていますが、まずはやりたいことをある程度言語化してそのために何が必要かを定めてから、Arduinoの購入に踏み切るべきでしょう。
IoT機器の開発など電子工作においてRaspberry Piと人気を二分するArduinoについて解説しました。Arduinoは不特定多数での開発を前提としたオープンソースの考えがもとになっていることも知られる製品です。その哲学を反映してか、Web上の情報は豊富で、電子工作コミュニティや個人ブログなどでも作例を多く見ることができます。
Raspberry Piとの併用も視野に入れつつ、Arduinoがより得意な分野で活用することを検討してみてください。