気の向くままに辿るIT/ICT/IoT
Computer

Arduino

ホーム前へ次へ
Arduinoって?

Arduino

Arduino

2017/03/03

 Arduinoとは、2005年にイタリア発のプロジェクトとして主にアーティスト向けに始まったオープンソースハードウェアで広くユーザーが利用できる対話的な電子機器間構成の試作プラットフォームであり、その後、アメリカのArduino LLC(arduino.cc)で設計、イタリアのArduino SRLで生産されるに至ったIoTや組み込み機器などに利用できるプログラムを読み書き実行可能なマイコン搭載のむき出しの基板である製品群であり、その創業社名でもあるなどと語られることが多いようですが、その歴史は少しばかり異なるようです

 一時、設計会社と生産会社で商標を巡る内紛から裁判にまで発展したようですが、後に和解し、営利企業Arduino Holding、非営利のArduino Foundation(財団)を設立したとのこと。

開発基板としてのArduino

 商品・開発基板としてのArduinoは、PCなどにUSB接続するなどして好む機能を実行させる為のプログラムをアップロードするタイプの、いわゆるワンボードマイコン/single board microcontrollerに分類される往々にして縦横わずか数センチ程度と小さなもので同様にむき出しの基板ではあるものの、OSを選択・インストールするようなシングルボードコンピュータ/single board computerとは異なります(強いて喩えるとするならラズパイのGPIOピン部分のみを使うイメージ)。

Arduino IDE

 その際のプログラム編集やArduinoへの転送に使うことができるArduino専用のIDE/Integrated Development Environment(統合開発環境)は、ウェブ版・ダウンロード版共に無償であり、これについては、今後、後者のArduino財団がサポートするようです。

 ダウンロード版もウェブ版も対応OSは、Windows/Mac/Linux、ダウンロード版はLinuxでは32bitを選択してダウンロードできる一方、ウェブ版ではプラグインが必要でこれをインストールするにあたりマシンが32ビットだと、ひと手間かかりそうです。

 Arduinoの開発言語は、C/C++ベースのArduino言語です。

 C/C++のソースコードの基本形は、main()関数から成りますが、Arduino言語では、初期設定のsetup()関数と処理を延々と回すloop()関数から成り、裏方でmain()関数に置き換えていると言われています。(試してみたことはありませんが、main()関数を使って書いても機能するらしい。)

 尚、アーティスト向けを意識しただけあってArduinoでは、プログラムのことをスケッチと呼びます。

利用可能なプログラミング言語

 Arduinoへのプログラムの書き込みは、Arduino IDEで行なう必要がありますが、既に備わっているライブラリを使うなどしてシリアル通信すれば、主に子どもの利用を想定したアイコンのドラッグ&ドロップでスケッチ可能なScrach、芸術や音楽アーティスト向けのProcessing、スクリプト言語Perl、Python、Ruby、ウェブ言語Javascript、オブジェクト指向言語Javaなどを使ってArduinoを操作することもできます。

電子回路図作成ソフトウェア

 電子工作、IoTというと回路図が登場しますが、以下のような回路図作成ツールも無料で利用できます。

 1つは、Fritzing(ウェブ版・ダウンロード版)でソフトウェア上でブレッドボード図、回路図、プリント基板(PWB、PCB)図いずれか1つ作成するとすべて作成されるオープンソースのソフトウェアです。

 もう1つは、Autodesk Circuits(オンライン・ウェブ版)で、ブラウザ上でブレッドボード図、回路図、プリント基板(PWB、PCB)図の内、いずれか1つを作成するだけで全て作成される上、なんと実機のArduinoなしで仮想のArduinoや必要パーツを追加、配線、コード編集、実行してシミュレーションすることも可能なのでArduinoや互換機の購入前であっても、あたかもArduinoがあるかのごとく、いろいろ試してみたり、検証してみたりすることができます。(実機のコード編集・アップロードにはArduino IDEを使います。)

 何れの回路図作成ソフトウェアもシンプルな構成でソルダレス(はんだ要らずの)ブレッドボードの使い方をなんとなくでもわかっていれば、適当にいろいろ操作している内に、そうでなくとも文書の説明書きやビデオをちょっと眺める程度でも容易に使えるような工夫がなされています。

Arduinoは種類が豊富

 https://www.arduino.cc/en/Products/CompareにArduino製品比較表があるようにArduinoには、機能・用途、それによって電源電圧仕様・サイズなどが異なる数多くの種類・バージョンがあります。

 尚、設計会社・生産会社分裂訴訟にあった間の名残りなのか、アメリカ国内ではArduino、それ以外の国々ではGenuinoと異なる名称で呼ばれるボードもある模様。

 また、これらの製品群の中には、MKR1000のようにArduinoとAdafruitの共同設計のものやProのようにSparkFun Electronicsによって設計・製造されているものもあるようです。

[2019/05/18]

 2019年05月17日、Arduino Nanoに新たなボードArduino Nano Every、Arduino Nano 33 IoT、Arduino Nano 33 BLE、Arduino Nano BLE Sense(それぞれヘッダ付きとヘッダなしがある模様ってヘッダって何?ピンヘッダ?)をリリース、2019年7月末出荷予定とアナウンスがありました。

 Arduino Nano Everyは、AVRプロセッサATMega4809を積んだおそらくNanoの基本モデル。

 Arduino Nano 33 IoTは、TLS転送をサポート、クラウド完全対応モデルでプロセッサにArm Cortex-M0+ SAMD21、通信環境としてESP32ベースのWiFi、Bluetooth、ハードウェアに暗号キーを保持したATECC608A暗号チップを搭載したモデル。

 Arduino Nano 33 BLEは、ジャイロなど9軸IMU(慣性計測ユニット)搭載、ウェアラブル、BT 5.0にも対応予定のBluetooth Low Energyモデル。

 Arduino Nano BLE Senseは、33 BLEより広範囲での通信に対応、BT 5.0対応前提のモデルである模様。

Arduino自体がオープンハードウェア・オープンソース

 Arduinoは、ハードウェアそれ自体がオープンハードウェア・オープンソースであり、FAQによれば、開発基板自体は、『Arduino互換(機)』のような表記は許容される一方、本家『Arduino』であると誤認されるような表記こそ使えないものの、他社や個人が製造してもよいことになっています。

 ただ、公式サードパーティ(本家以外の製造会社)の指定はあるようで、それ以外は非公式という扱いのようです。

 尚、そこに明記されているわけではありませんが、非公式なArduino互換機については、市場を見る限りにおいては、どうも販売価格の維持などの意識はないようで、本家製品群も十分安価ですが、互換機を謳うものの中には本当に同様に機能するのか?本当に互換性はあるのか?もしかして不良率が高いのか?そもそも送られてくるのか?。。。と心配になるほど、1/5とか1/10程度の価格で販売されている爆安なものも存在し、業者によっては送料も無料だったりします。

 通販サイト上のレビュー含め、ネット情報によれば、あまりに激安なものについては、完全な不良品については返金処理するにしても「いもハンダ」、「はんだ不良でショート」といった場合などは自身でハンダ付けし直すとか、より安価なパーツを使っている、性能限界ギリギリのものを使っている、ある性能を犠牲にしているといった可能性を含め、「使用パーツに違いがある場合がある」、例えば、安さを追求する余り、安全回路が省かれている可能性含め、「構成パーツ数に違いがある場合がある」、「回路が不足していると思しきものもあるが、必要に応じて足せば良し」、「価格からすると最終的に機能すれば良し」とか、「何かあっても自分で手を加える」程度の腹積もりは必要なようです。

関連パーツ

 Arduino関連のパーツとしては、個々の電子部品の単品を使うこともできますし、別途、基板に実装され、Arduinoと直結やジャンパワイヤーを介して、また、はんだ付けなどで接続可能な『シールド』と呼ばれる模様のAruduinoとI/Oピン位置の合ったパーツ(本家と互換製品、また、互換品メーカー製品間で必ずしも同一か否かについては不明)も豊富です。

購入先

 Arduinoや関連部品は、電子部品販売店の店頭はもちろん、これら運営含め、日本でも比較的多くの通販サイトで購入できます。(販売店・通販サイト一覧参照)

どんなことができるのか?

 Arduinoを使った実例はArduino Project HubやYouTube上などにたくさんあります。

ホーム前へ次へ