Arduino初心者編:Arduinoの基本的な考え方

Arduino初心者編:Arduinoの基本的な考え方

Arduinoは、フリーで柔軟性があり、使いやすいソフトウェアとハードウェアをベースにしたプロトタイピング用のオープンエレクトロニクスプラットフォームです。このArduinoやその周辺ソフト(Processing, Fritzing)がどのような考え方のもとでない立っているのかを紹介します。

フィジカル・コンピューティング

フィジカル・コンピューティングとは、アナログの世界を統合し、感じ取り、反応することができるソフトウェアとハードウェアを使用して、インタラクティブな物理システムを構築することを意味します。この定義は、より一般的な意味で、広いですが、フィジカル・コンピューティングは、人間とデジタル世界との関係を理解するための創造的なフレームワークです。実際には、この用語は、多くの場合、ソフトウェアベースのシステムに、アナログ入力を変換するためのセンサーやマイクロコントローラを使用して、モータ、サーボ、照明、または他のハードウェアなどの電気機械装置を制御します。

たとえば、マイクや他のデバイスを介して音波をキャプチャし、音声認識、音声波検出装置があります。また、カメラによって検出された映像にアルゴリズムを適用するコンピュータビジョンという研究も盛んです。触覚インターフェースもフィジカル・コンピューティングの一例です。

プロトタイピング(プロトボードと基本的な電子部品を使って素早く組み立てられるようにすること)は、フィジカル・コンピューティングにおいて重要な役割をはたしています。ArduinoやFritzingのようなツールは、プロトタイプを素早く作るのに役立つので、デザイナー、アーティスト、学生、趣味の人には便利です。

オープンソースのハードウェア

フリーハードウェアとは、仕様書や回路図が公開されているハードウェア装置のことをいい、その仕様書や回路図がなんらかの支払いのもとで、あるいは無料で公開されているものをいいます。フリーソフトウェアの哲学(知識の自由に関する考え方)は、フリーハードウェアの哲学にも当てはまります。

オープンソース・ハードウェアは、オープンデザイン運動によって設計され、提供された物理的な技術装置で構成されています。フリーソフトウェアもオープンソースハードウェアも、オープンソース文化運動の下で作られ、様々なコンポーネントにこの概念を適用しています。この用語は通常、ハードウェア上の情報が容易に認識されることを意味する。

ハードウェア上のデザイン(機械図面、回路図、材料リスト、PCBレイアウトデータ、ソースコード、集積回路レイアウトデータなど)に加えて、ハードウェアを駆動するフリーソフトウェアも、すべてフリーでオープンソースのアプローチで公開されています。オープンソースハードウェア協会は毎年、オープンハードウェアに関する世界初の包括的な会議である、オープンハードウェアサミット会議を開催しており、この急速に成長している動きについて議論し、注目を集める場となっています。

ハードウェアは、ハードに関連した直接的な変動コストを持っているので、フリーソフトウェアの定義をそのまま適用することはできません。対照的に、フリーハードウェアという用語は、主にハードウェアでフリーソフトウェアを使うことや、ハードウェアに関する情報を自由に公開することを反映するために使われてきました。

フリーソフトウェア

フリーソフトウェアとは、ソースコードと一緒に配布され、ユーザがソフトウェアを研究したり、適応したり、変更したり、配布したりする自由を保証する条件でリリースされるソフトウェアのことです。フリーソフトウェアは、オープンソースのソフトウェア開発プロジェクトの一部として、ボランティアのプログラマの間で共同で開発されることがよくあります。フリーソフトウェアファウンデーションは、ソフトウェアが利用者のための4つのフリーのタイプを満たしている場合、ソフトウェアをフリーとみなします。

  • どんな目的に対しても、プログラムを望むままに実行する自由 (第零の自由)。
  • プログラムがどのように動作しているか研究し、必要に応じて改造する自由 (第一の自由)。ソースコードへのアクセスは、この前提条件となります。
  • ほかの人を助けられるよう、コピーを再配布する自由 (第二の自由)。
  • 改変した版を他に配布する自由 (第三の自由)。これにより、変更がコミュニティ全体にとって利益となる機会を提供できます。ソースコードへのアクセスは、この前提条件となります。

このタイプのソフトウェアの利用者は、許可を求める必要がなく、制限的なプロプライエタリ(所有権・占有権のある)なライセンスに縛られないので、自由です。オープンソース・イニシアティブ(OSI)は、オープンソースやフリーソフトウェアを推進するための組織です。OSIは、フリーソフトウェアと商業的な主体の関係を促進するために作成されました。フリーソフトウェア財団によると、フリーソフトウェアとは、ユーザがソフトウェアを実行、コピー、配布、研究、修正、改変して配布する自由を指します。

OSIは、多くのコミュニティのメンバーと同様に、ソフトウェアはまず第一にツールであり、このツールの良さは技術的な基準に基づいて判断されるべきだと考えています。彼らにとって、長い目で見れば、フリーソフトウェアは経済的に効率が良く、品質も良いので、奨励されるべきなのです。さらに、フリーソフトウェアのエコシステムへの企業の参加は基本的なことだと考えられています。なぜなら、彼らはフリーソフトウェアの開発、実装、利用の増加を可能にする企業だからです。

Arduino

Arduinoは、フリーで柔軟性があり、使いやすいソフトウェアとハードウェアをベースにしたプロトタイピング用のオープンエレクトロニクスプラットフォームです。アーティスト、デザイナー、趣味の人、そしてモノづくりやインタラクティブな環境を作ることに興味のある人のために開発されました。Arduinoは入力ピンから環境情報を取得することができ、そのためにあらゆる種類のセンサーを使用することができます。

一方、Arduinoは照明やモーター、その他のアクチュエータを制御することで、環境の中で行動することができます。システムを制御するための行動範囲は非常に広く、3Dプリント、ロボット工学、輸送工学、農業工学、音楽工学、ファッションなど、様々な分野で応用が可能です。

Arduinoボードのマイコンは、WiringをベースにArduinoプログラミング言語を使ってプログラミングされ、開発環境(IDE)はProcessingをベースにしています。Arduinoで開発されたプロジェクトは、FlashやProcessing、MaxMSPなどの異なる種類のソフトウェアと通信して行うこともできますが、コンピュータに接続しなくても実行することができます。ソフトは無料でダウンロードできますし、基板のデザインもオープンライセンスで公開されているので、自分のニーズに合わせて自由にカスタマイズすることもできます。

Processing

Processingはオープンソースのプログラミング言語であり、エレクトロニックアートやビジュアルプロジェクトのコミュニティのために構築された統合開発環境(IDE)で、コンピュータプログラミングの基本的な概念を学ぶことができます。このプロジェクトは 2001 年に MIT Media Lab Computing Group の元メンバーである Casey Reas と Ben Fry によって開始されました。Processingの目的の一つは、視覚的な表現でわかりやすくすることで、プログラミングを始めたばかりのノンプログラマーのためのツールとしても扱いやすいです。

Fritzing

Fritzingはオープンソースの電子回路設計自動化プログラムで、デザイナーやアーティストがプロトタイプから最終製品に移行するのを支援するように設計されています。FritzingはProcessingとArduinoの原理に基づいて作られており、デザイナー、アーティスト、研究者、アマチュアがArduinoベースのプロトタイプを文書化し、後で製造するためのプリント回路図を作成することができます。また、プロジェクト、経験、製造コストを削減するためのプロジェクトを共有し、議論するのに役立つ補完的なウェブサイトもあります。

Arduino初心者編カテゴリの最新記事