LGT8F328P使用格安NANO

Spread the love

LGT8F328P使用の格安NANOを購入しました。本家ArduinoNANOのMCUには、ATmega328Pが使用されています。また、多くの互換機では、ATmega328PBというMCUが使用されています。しかし、新たに購入したNANO互換機では、LGT8F328PというMCUが使われています。このNANO互換機、使い物になるでしょうか?

LGT8F328Pの素性

型番からも、ATmega328Pの互換品であることが、何となくうかがい知れます。製造元は中国のメーカー、Logic Green Technology社です。しかし、同社のホームページは一部を残して削除されています。ランディングページであるlgtic.comはProdesign Semiconductorにリダイレクトされています。

LGT8F328Pの主要スペックは以下のとおりです。

LGT8f328Pの主要諸元
LGT8f328Pの主要諸元

このMCUは、ATmega328Pのクローンです。しかし、デッドコピーではなく、機能強化されている部分が結構あります。まずは、ADCの分解能です。ATmega328Pでは10bitです。しかし、LGT8F328Pでは12bitに強化されています。さらに、ATmega328Pには無いDACが追加されています。DACの分解能は8bitしかありません。しかし、ATmega328Pでは、PWM出力を使って、疑似的なアナログ出力しができませんでした。しかし、LGT8F328Pなら、分解能は限定的ですが、アナログ出力ができます。

併せて、ADCとDACのリファレンスとして、4種類の基準電圧源を内蔵しています。

また、一部のデジタル出力が最大80mAに強化されています。強化されたのは、PD1,PD2,PD5,PD6,PE4,PE5です。しかし、NANOで利用できるのは、D2,D5,D6に限定されています。

その他、最大クロック周波数が32MHzに向上しています。しかし、外付け水晶発振を使用する場合、安定性確保のため、20MHz以下での動作が推奨されています。

到着したLGT8F328P搭載NANO互換機

いつものように、Aliexpressで購入しました。購入時の価格は181円と激安でした。

LGT8F328P使用のNANO互換機は激安でした
LGT8F328P使用のNANO互換機は激安でした

マイクロUSBとUSB-Cの二種類が販売されていました。今回はUSB-Cコネクタが搭載されたものを選択しました。

到着したLGT8F328P使用NANO互換機
到着したLGT8F328P使用NANO互換機

しかし、ピンヘッダーは付属しませんので、別途用意が必要です。

LGT8F328P使用NANO互換機部品面
LGT8F328P使用NANO互換機 部品面

このArduino NANO互換機では、すべての部品は表側(部品面)に集約されています。

LGT328P使用NANO互換機 はんだ面
LGT328P使用NANO互換機 はんだ面

裏面(はんだ面)には部品が搭載されていませんので、すっきりしています。おそらく、製造コスト削減のために、部品を片面にまとめて実装したのでしょう。

Arduino IDEにボードマネージャーをインストールする

この互換機は、Larduinoとも呼ばれているようです。Larduinoを使うためには、開発環境を整える必要があります。今回はArduino IDEにボードマネージャーを追加して使用します。ボードマネージャーは、Prodesign Semicontuctor社のWebページからダウンロードすることもできます。しかし、今回はGitHubのLGT8Fxプロジェクトのボードマネージャーを利用します。

まずは、Arduino IDEのファイル→基本設定→追加のボードマネージャーのURLに以下のURLを追加します。

https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json

次に、ボードマネージャーを開き、LGT8Fxを検索し、インストールをクリックすればインストール完了です。

ボードマネージャーをインストールする
ボードマネージャーをインストールする

ちょっと使ってみる

以前、UNO用に作った気温、湿度、気圧をOLEDディスプレイに表示するスケッチを入れてみました。

LGR8F328PでUNO用のスケッチを動かす
LGR8F328PでUNO用のスケッチを動かす

スケッチは手直しなしで、そのまま動作しました。互換性は高いようです。なお、今回購入したLarduinoには16MHzの水晶発振が搭載されていましたが、実際の動作クロックはどうなのでしょうか?調べてみました。

動作クロックは以下のスケッチで調べることができます。

CPUクロックをシリアルポートに出力するスケッチ
CPUクロックをシリアルポートに出力するスケッチ

実行したところ、32MHzで動作していることが分かりました。つまり、外付け発振器を使わず、内蔵の発振器が使われているようです。ちなみに、動作クロックの切り替えは、Auduino IDEで行えます。

動作クロックの変更
動作クロックの変更

Arduino IDEのメニュー、ツール→Clock Sourceで内蔵発振器か、外付け発振器かを選択できます。Clock Diverderを併せて変更することで、1MHz,2MHz,4MHz,8MHz,16MHz,32MHzに設定できます。この設定は、消費電力を下げるために利用できそうです。

動作クロックの変更は、スケッチ書き込み時に行われます。そのため、クロック周波数変更のためのブートローダー書き換えは必要はありません。

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.