AVR LCDボードのコスト比較

AVR LCDボードとArduinoボードを使った場合とのコスト比較を行いました。

最小限の構成(クロックはマイコン内蔵発振回路を使用)ではAVR評価ボードは1280円となり大変安いことがわかります。これをベースに必要な機能を追加することになります。プログラムのアップロードにはISPが必要になります。ATMEL純正プログラマーのAVR ISPmkIIは実売3,000円であり安心して使うことが出来ます。一台あれば使いまわすことが出来便利です。もちろんArduinoIDEとの組み合わせでも使えます。複数のマイコンを使った制御を行う場合、何種類ものプロトタイプを行う場合にはコストをセーブすることが出来ます。

Arduinoボードを使った場合シリアルUSB変換、レギュレーター、外部発振子搭載などがされています。アプリケーションによっては必ずしも必要でない機能です。一台目の学習用としては大変重宝しますが、何台も作る場合には若干高めのコストが難点になります。LCDとの接続を簡単にしたシールドもありますが、モジュール単体に比べると高くなります。
LCD表示は利用する機会が多いでしょう。コネクター接続だけでマイコンとの接続が済んでしまうAVR LCD評価ボードを使うととても便利です。
評価ボードについて

2台目以降の学習用、プロトタイプ、製品への搭載などに使えます。

ArduinoボードとAVRマイコンを比較する

Arduinoボード、AVRマイコン単体、それぞれでシステムを構成した場合の比較を説明します。

Arduinoボードにはマイコンの他に電源レギュレーター、水晶発振子、USBシリアル変換(Unoなど)が含まれており、これらは目的とするシステムに必ずしも必要とはならない。AVR単体で構成する際はマイコンの選択肢も豊富にある。ピン数の少ないものを選べば回路基板を小さくすることも可能となる。追加する部品についても必要最低限に構成することが出来、コストダウン、基板形状の最適化が可能となる。

Arduino開発環境

Arduinoボードを使った開発環境の例を説明します。

ArduinoIDE


統合開発環境であるArduinoIDEはWindows,MacOSX,Linuxのそれぞれに対応。インストールも操作もいたって簡単です。
プログラミングはC言語ライクなArduino言語を使用。PCとArduinoボードとの接続はUSBケーブル一本の手軽さ。
スケッチをアップロードした後は、PCとの接続を切り離しArduinoボードだけで動作することが出来る。

Processing

Javaを単純化しグラフィック機能に特化した言語、Processingを使ってArduinoを動作することが出来る。Arduinoボードにはセンサーモジュールのデータの取り込み、アクチュエーターの駆動などを受け持つと良いだろう。取り込んだデータはArduinoとの通信によってPC側で取得し、視覚表現(ビジュアライゼーション)を行うのに非常に便利である。Open GLを使った3D表現も簡単に行うことができる。

予めArduinoボードにはStandard FirmataスケッチをArduinoIDEからアップロードしておく。その後PCではProcessing環境の上で、Arduinoボードを操作するプログラムを走らせることになる。PC(Processing)でArduinoを動作させるため、Arduinoボード単独での動作は出来ない。

Arduinoを使うことのメリット・デメリット

ここではArduinoとAVRマイコン単体で回路を組む場合を比較した時のメリットとデメリットについて紹介します。

メリット

・USBケーブルでPCに接続するだけで始められる(Unoボード)
・Arduino IDE
シンプルで分かりやすい統合開発環境はWindows,Mac,Linuxで使えます。
・Arduino言語
C言語に近いArduino言語はプログラミング初心者にも容易にプログラミング可能なように設計されている。I/Oピンの入出力設定もAVRに比較して簡単に理解できる
・開発に便利なライブラリーが揃っている
シリアル通信、LCDキャラクターディスプレイなどを取り扱うためのライブラリーが豊富にある。ライブラリーを使うことでプログラミングが容易になり、開発工数を削減することが出来る。
・Arduinoボード上に必要な物が実装されている
USBシリアル変換、電源レギュレーター、クロック用発振子が実装されている。
・シールドで機能の拡張が容易
機能を拡張するためのシールドが多く市販されている。LCD表示をする物、SDカードへのアクセスするためのもの、GPS,MP3プレイヤーなど。Arduinoボード上にシールドを積み重ねるようにして接続することができる。これらを上手く利用することで、ハンダ付けなどの作業が一切不要となる。

試作検討、学習用としては重宝します。

デメリット

・Arduinoボード形状が筐体設計の制約となる。
・AVRマイコンで構成した場合よりも若干のコストアップとなる。Unoボード 2520円(2012年6月、スイッチサイエンス価格)
・特定の機能を実現することを考えた場合USBシリアル変換など必ずしも必要となるわけではない機能が余計となってしまう。

製品として小ロット生産を考えた場合はこれらがデメリットとなるでしょう。

Arduino ボード

Arduinoボード、互換ボードにはいくつかあります。ここでは代表的な2機種について紹介します。

Arduino Uno

ボードにはATmega328マイコンの他に、シリアル通信のためのUSBシリアル変換IC(FTDI)、3.3V電圧を取り出すレギュレータ、16MHz水晶発振器、ブレッドボード上の回路との接続に便利なピンヘッダソケットが実装されています。写真左上:USBコネクター、左下:AC-DCアダプターからの給電用DCジャック

UnoボードはUSBコネクターからの給電にも、DCジャックからの給電のどちらにも対応しています。

実売価格 2,520円

USBケーブルで UnoとPCをつなぎ、ArduinoIDEを立ち上げればすぐにプログラミングを始めることが出来ます。

ブレッドボードとの組み合わせ、回路検討過程。

Arduino Uno についてArduinoサイトの情報

Arduino Fio

ボードにはATmega328、リチウムポリマーバッテリー充電IC、無線通信モジュールXbee用ソケット、3.3Vレギュレータを搭載。

実売価格 2,495円

写真右上のUSBコネクタはリチウムポリマーバッテリーの充電に5V電圧を給電するためのものです。スケッチ(プログラム)のアップロードには使えません。アップロードのためには無線通信モジュールXbee経由で行うか、またはUSB-シリアルアダプタを別途用意して行う必要があります。

写真右下はリチウムポリマーバッテリーの接続コネクターです。リチウムポリマーバッテリーの取り扱いによっては発煙、発火する場合もあり十分に注意が必要です。

基板にはケースなどへの取り付け用の穴が空いていないため、固定するのには工夫が必要になります。

ボード裏面には無線通信モジュールXBeeの取り付けコネクターが実装されています。写真はXBeeを取り付けた状態。

Arduino FioについてArduinoサイトの情報