モノのインターネット(Internet of Things)という概念が流行していますが、これは物理的なデバイスと相互作用し、情報/メトリクス(例:温度、湿度など)を取得し、コマンド/アクション(例:ドアを開ける、エアコンをつけるなど)を送信する能力を指します。このコンセプトは目新しいものではなく、エレクトロニクスの専門家、プログラマー、さらにはデータベース管理者とのコラボレーションを暗示しています。このシリーズでは、電子工学の知識があまりない開発者やデータベース管理者の方に向けて、この分野で使われている最も有名な電子機器プラットフォームの一つであるArduinoを使うための入門知識を提供します。
マイクロコントローラとマイクロプロセッサの違い
ここでは、基本的にはプログラマブルなマイコンを搭載したボードであり、安価で使いやすいArduinoについて、簡単に紹介します。最初に明確にしておかなければならないのは、マイクロコントローラであることと、マイクロプロセッサとどう違うのかということです。私たちは誰もが両方の概念に触れたことがあります。つまり、デスクトップであろうとポータブルであろうと、自宅にコンピュータがあるということです。さて、私たちのコンピュータのコアはマイクロプロセッサであり、いくつかの命令(これをプログラムと呼びます)といくつかの入力データからいくつかの出力データを取得して複雑な操作を実行することを担当するチップです。このデータを処理し、保存するには、我々は、RAMやマザーボードを介して接続されている他のI / Oデバイス(入力/出力)にマイクロプロセッサを接続する必要があります。マイクロプロセッサはマザーボードを介してメモリに接続する必要があるのに対し、マイクロコントローラはプログラムを格納するメモリと、データが格納されているメモリの両方を持っています。
マイクロコントローラはどこにあるのでしょうか?リモコン、時計、テレビ、車など、私たちが毎日使うほとんどの電子機器に搭載されています。それらがどのように動作し、どのようにプログラムされているかを知ることで、新しい世界の扉を開くことができるでしょう。
Arduino
2005年、イタリアでArduino と呼ばれるフリーのプロジェクトが登場しました。それは、オープンなハードウェアベースのボードであるため、学生がこのデバイスにアクセスすることを促進しました(そのデザインは無料であり、誰でも利用して生産できます)。Arduinoボードは、USB ポートを介してプログラムを書き込みます。Arduinoのプログラミングは、多くのマイクロコントローラ(以後PICと呼びます)のようなアセンブラ・低レベル言語で行うのではなく、C / C + +というより理解しやすい言語で行われます。これらの要素があれば、PICを知らないプログラマでも短時間でArduinoのプログラミングができるようになります。UNOバージョンのボードは14本のデジタルI/Oピンで構成されており、そのうち2本はシリアル接続されています。これらのピンは、基本的なセンサーや、リレー、アクチュエータなど、オンとオフの2つの状態しか持っていないものに便利です。また、1024の分解能で電圧レベルを読み取る6つのアナログ・ピンを備えています。これらは、熱抵抗や可変抵抗など、状態によって異なる電圧範囲を出力するセンサーを読み取るために使われます。基本的にArduino UNOの構造であれば、誰でもPICプログラミングの世界に入ることができます。しかし、より大きなプロジェクトでは、より多くの電力が必要とされ、Arduino UNOの改良版が作成されています。そのうちのいくつかをここで紹介します。
Arduino Leonardo
Arduino Leonardoは、Arduino Megaの最初の進化であり、同じポートを持っていますが、PICはより大きな容量とより高い動作周波数になっています。もう一つの違いは、USBポートはプログラムをアップロードするために使用されているのと同時に、ホストとしてUSBを使用できます。また、SDAとSCLポートは、I2Cプロトコルを介して通信するデバイスに使用されます。
Arduino Mega 2560
Arduino Mega 2560は、マイクロコントローラの速度がはるかに速く、デジタル(54ピン)とアナログ(16ピン)のポートがたくさんあります。レオナルドのようにI2C用のピンを用意しています(位置は変わりますが)。このデザインはArduino Mega ADKも同じです。Arduino Mega ADKはMega 2560のボードを改造したものですが、USBホストポートが追加されています。別の進化として、Arduino DUEがあり、Mega 2560 と同じデザインですが、32 ビットのマイクロプロセッサを搭載しており、Mega 2560よりもはるかに高速です。
Arduino YUN
Arduino YUN は、基本的にArduino Leonardoと同じピンとプロセッサの特性を持っていますが、小型のLinuxボードが組み込まれており、基本的なWebサーバを搭載することが可能になっています。このボードは主に、センサーがイーサネットネットワークを介して迅速かつ容易にコミュニケーションをとる必要があるプロジェクトに使用されます。将来的には、Arduinoボードの能力をコンピューターのマザーボードに統合し、無制限の能力とスケーラビリティーを備えた多数のプロジェクトを作成する可能性があります。
コメントを残す