Arduino(1)ArduinoとAVR

このところ、プチコンにもちょっと飽きてきましたので、唐突ですがこれからしばらく、Arduino(アルドゥイーノ)をいじってみることにします。

Arduinoは、元来は教育用のマイコンボードです。
様々なバリエーションがありますが、最もポピュラーな「Arduino UNO」は名刺程度の大きさで、USBでPCに接続すれば、PC側の開発ツールでArduinoボードに接続したセンサなどを制御するプログラムを作成できます。

価格も、正規品で3000円前後と、比較的入手しやすくなっています。
「UNO」とLEDやスイッチ、センサ、抵抗器など基本的なパーツをセットにした「Arduinoをはじめようキット」を買えば、センサの値を読み取ったりLEDを点滅させたりといった、プチコンとは一味違うプログラミングを始められます。
(ちなみにUNOはイタリア語で「1」、Arduinoはイタリアの製品です。)

arduino-uno.jpg

…という感じで持ち上げておきながら、実はこれまで私は、Arduinoにさほど関心を持っていませんでした。

Arduinoの心臓部はATMEL社のAVRという8bit CPUです。
上の写真では右下に写っている一番大きなICがAVRです。
AVRはフラッシュメモリ、SRAM、EEPROMとADコンバータやタイマなどを内蔵しており、適切なツール(プログラマとかライタと言います)を使ってプログラムを内蔵フラッシュへ書き込めば、最小限の外付け部品で、動くシステムを作成することができます。

Arduinoの登場以前から、AVRはPICと並んで、ホビイストの間では非常にポピュラーなマイコンでした。価格は100円~200円と安価で、DOS上で動作するCコンパイラなどの開発環境がATMELから配布されており、PCのパラレルポートやシリアルポートに簡単な回路を付加すればコンパイルしたプログラムをAVRに書き込むことができました。

以下のサイトは当時お世話になっていたサイトで、AVRのプログラマの製作方法や様々なライブラリなどが数多く紹介されています。

ELM – Atmel AVRについて

AVRライタの製作 (4種)

当初、私にはArduinoは学生向けの授業に使うような教育「専用」のボードに見えていました。
実際、ArduinoでできることはAVRでできることそのものであり、Arduinoで再度AVRを学習しようという気にはなりませんでした。

ところが、Arduinoの登場から数年経った頃から、ちょうど中国が世界の秋葉原として多様な電子部品を供給しはじめたこともあり、Arduino用の様々なパーツが安価に流通し始めました。
同時に「Arduino用のソフトウェア」もパーツと合わせて配布されるようになりました。

その結果、Arduinoは単なる教育用マイコンボードから、かつてのDOS/V PCのような「オープンなハードウェア規格」へと変わり、ハード・ソフトのパーツを組み合わせて手軽にプロトタイプを作成することができるようになりました。

例えば3Dプリンタの制御エンジンなども、Arduinoを使って開発している人達がいます。
また、Googleが発表した、Androidの周辺機器をArduinoで開発できる「Android Open Accessory Development Kit」も大きな話題となりました。

私自身は、昨年の夏ごろ、Arduino用の様々な「フルカラーのLCD」が1000~2000円程度で入手できるようになっているのに気付き、Arduinoへの評価が変化しました。

昔、AVRを使っていたころは、カラーLCDは高値の花でした。
価格自体も数千円はするものでしたし、CPUとの結線、バックライト用電源の準備、制御ソフトウェアの作成、描画ルーチンの作成、といったハードルを一つ一つ超える必要がありました。
私も、簡単に使えるキャラクタ液晶モジュールの利用で済ませていました。

その憧れのカラー液晶が安価かつ簡単に使えるようになったのを知り、ちょっと手を出してみようという気になったのです。

というわけで、次の記事では早速、ArduinoにカラーLCDを接続してみます。

コメント