有名なマイコンボード Arduino シリーズのハイエンド版です。TFT 液晶モジュール・コントローラとセットで購入しました。
Due とはイタリア語で 2 の意味です。
なお、Arduino.cc ではラインナップから外されていますが、Arduino.org のラインナップにはまだあるようです。(後者が前者から分裂し、前者からは現在 Genuino の名前で販売されています)
FPU? いえ、知らない子ですね
ARM 系の 32ビットマイコンボードで、Cortex M3 系の ATSAM3X8E を搭載しています。Arduino Uno などと比べれば速いですが、このチップには FPU(浮動小数点演算ユニット) が付いていません。float 型や double 型をバリバリ使うと処理落ちを起こすことがあります。
なお、Arduino Uno の double 型は float 型と同じ単精度(32ビット)の実装になっていますが、Due の double 型は本当に倍精度(64ビット)です。
DAC搭載
Arduino Due は DAC を搭載しており、専用ポートから本当にアナログ出力ができます。analogWrite() は他の Arduino でも使えますが、これは PWM で出力されます。Due でも、普通のアナログポートでは DAC 出力です。Arduino では Audio ライブラリが用意されていますが、これは Due 専用です。
デジタルエフェクタに使えそうですが、前述のように FPU がないので float 型を使うと処理落ちで聞くに耐えない音になるかもしれません。固定小数点で実装するのが良いでしょうが、C言語のプリミティブ型ではないので何かと面倒です。また、デジタルフィルタでは三角関数も必要になってきますが、setup() の中では特にリアルタイム性が要求されないので三角関数は全てここだけで使うという解決法があります。やむを得ず loop() で使うときはルックアップテーブルを使う方法があります(大きくなりがちなので PROGMEM を使うのが良いでしょう)。
また、ADC も標準では遅くサンプリングレートが足りません。これは ADC のレジスタを操作することで解決します。
注意! ロジック電圧は3.3Vです
Arduino Due は、Uno や Mega と違い、ロジック電圧が 3.3V です。5Vトレラントではないので、5V 専用のシールドを接続すると破損の虞があります。
どうしても 5V のシステムと通信をする必要がある場合、次のいずれかが必要です。
- レベル変換モジュール
- 74HC4050(CMOSロジックICですが電源電圧にかかわらず15V入力トレラントです)
- ショットキーバリアダイオード
- スレーブの出力がオープンコレクタ(オープンドレイン)になっていること
- その他5Vパルスを3.3Vパルスに変換する回路
割高感が否めない
価格は6000円程度で、Uno の2倍程度です(大阪日本橋の実店舗での話)。同じ額で Raspberry Pi も買えますが、あちらはマイコンではなく、ストレージ(MicroSD カード)と OS を要する PC です。
Arduino の純正ボードであり、当然 Arduino IDE が使えます。
しかし Arduino にこだわらなければ同等以上のスペックの mbed ボード STM32 Nucleo F401RE が更に安く手に入ります。Arduino 互換のピン配列があります。Nucleo のほうは Cortex M4 ベースなので FPU を搭載していますが、Cortex M3 ベースの Arduino Due にはそれがありません。
ただ、Arduino Due にはオンボード DAC が搭載されていますので、アナログ出力が必要ならこちらが便利かもしれません。
-
購入金額
5,862円
-
購入日
2016年06月09日
-
購入場所
シリコンハウス共立
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。