Arduino よもやま話-6 (互換機の UNO と Nano を買った)
Arduino のボードは純正品の UNO を2枚持っているだけで、これでなんとかやりくりしてきました。でも、ブレッドボードに組みっぱなしにする物があると、台数が足らなくなります。
そんなことで AliExpress から互換品を買いました。
▼購入したArduino の互換機

UNO を 2枚と、Nano を3枚買ってみました。
早速動作確認しましたが、UNO にはおなじみの Lチカのプログラムが入っていました。Nanoの方は Lチカしない代わりに、シリアルに何かデーターが流れています。その内容を見てみると、
▼Nano の出力

アスキーキャラクタのコードのダンプが出ていました。これ、機能テストとしてはなかなか気が利いていると思います。
ともかく、どちらの基板もUSBのインターフェイスはCH340でしたが、問題無く使えたので動作チェックはOKです。
せっかくなので、CPUのオシレーターの精度を調べてみました。
やり方としては、MsTimer2 のライブラリの Example に入っている FlashLed.ino を使いました。このプログラムはタイマー割り込みを使って1秒周期で LED を点滅する仕掛けになっているので、LED ピン(Pin13) の信号をユニバーサルカウンタを使って周期測定すれば、CPU クロックの誤差が判るという訳です。
▼UNOの時間精度測定結果

1.00507秒と、1.00462秒でした。セラロックの周波数精度は0.5%くらいだったと思うのでまあ妥当な値です。本音を言うともっと正確な1秒が出ていて欲しかったです。なお、純正の UNO もセラロックなのでこれくらいの誤差はあったと思います。
▼Nanoの時間精度測定結果

1.0009090秒、1.0007611秒、1.0001016秒で、UNOよりも良い値でした。多分たまたまこういう結果になったと思うのが正しいと思います。なお、水晶ならあと2桁くらいは精度が上がるでしょうから、こちらもセラロックのようです。
なお、上の UNO もそうですが、セラロックなので個体差が大きく、さらに温度や電源電圧の違いで周波数はかなり変わるはずなので、この測定結果は参考程度に考えた方が良いと思います。
◆まとめ
互換機とは言え、いきなり Arduino の基板が倍以上に増えて、なんだか幸せな気分です。
Nano の基板は1.91ドル、UNO でも2.71ドルしかしませんでした。秋月でATmega328PのCPUを買うと、ブートローダー無しの物が230円ですが、同程度の値段でUSBシリアルまで付いたモジュールが手に入る訳で、これはえらくお得だと思います。
ちなみに私はこれまでは、DIP28 ピンの Atmega328P のCPU を組み込んで使うことが多かったのですが、多くの場合で Nano あるいは Mini をそのまま使ってしまた方が良かったと、今頃になって気付きました。
▼ATmega328P のDIPパッケージと、Nano の互換品

ATmega328P の手持ちが少なくなってきたのでそろそろ補充を考えていたのですが、互換品の Nano や Mini を買った方が幸せになれるのかも知れません。
そんなことで AliExpress から互換品を買いました。
▼購入したArduino の互換機

UNO を 2枚と、Nano を3枚買ってみました。
早速動作確認しましたが、UNO にはおなじみの Lチカのプログラムが入っていました。Nanoの方は Lチカしない代わりに、シリアルに何かデーターが流れています。その内容を見てみると、
▼Nano の出力

アスキーキャラクタのコードのダンプが出ていました。これ、機能テストとしてはなかなか気が利いていると思います。
ともかく、どちらの基板もUSBのインターフェイスはCH340でしたが、問題無く使えたので動作チェックはOKです。
せっかくなので、CPUのオシレーターの精度を調べてみました。
やり方としては、MsTimer2 のライブラリの Example に入っている FlashLed.ino を使いました。このプログラムはタイマー割り込みを使って1秒周期で LED を点滅する仕掛けになっているので、LED ピン(Pin13) の信号をユニバーサルカウンタを使って周期測定すれば、CPU クロックの誤差が判るという訳です。
▼UNOの時間精度測定結果

1.00507秒と、1.00462秒でした。セラロックの周波数精度は0.5%くらいだったと思うのでまあ妥当な値です。本音を言うともっと正確な1秒が出ていて欲しかったです。なお、純正の UNO もセラロックなのでこれくらいの誤差はあったと思います。
▼Nanoの時間精度測定結果

1.0009090秒、1.0007611秒、1.0001016秒で、UNOよりも良い値でした。多分たまたまこういう結果になったと思うのが正しいと思います。なお、水晶ならあと2桁くらいは精度が上がるでしょうから、こちらもセラロックのようです。
なお、上の UNO もそうですが、セラロックなので個体差が大きく、さらに温度や電源電圧の違いで周波数はかなり変わるはずなので、この測定結果は参考程度に考えた方が良いと思います。
◆まとめ
互換機とは言え、いきなり Arduino の基板が倍以上に増えて、なんだか幸せな気分です。
Nano の基板は1.91ドル、UNO でも2.71ドルしかしませんでした。秋月でATmega328PのCPUを買うと、ブートローダー無しの物が230円ですが、同程度の値段でUSBシリアルまで付いたモジュールが手に入る訳で、これはえらくお得だと思います。
ちなみに私はこれまでは、DIP28 ピンの Atmega328P のCPU を組み込んで使うことが多かったのですが、多くの場合で Nano あるいは Mini をそのまま使ってしまた方が良かったと、今頃になって気付きました。
▼ATmega328P のDIPパッケージと、Nano の互換品

ATmega328P の手持ちが少なくなってきたのでそろそろ補充を考えていたのですが、互換品の Nano や Mini を買った方が幸せになれるのかも知れません。
- 関連記事
-
- Arduino よもやま話-8 (LEDピン (D13pin) の回路あれこれ)
- Arduino よもやま話-7 (Nano の互換機を使ってみた)
- Arduino よもやま話-6 (互換機の UNO と Nano を買った)
- Arduino よもやま話-5 (Arduino as ISP のエラー)
- Arduino よもやま話-4 (コンパイラの設定など)