ANT+対応サイコンをDynastream社のD52無線マイコンを用いて組み立ててみました。
↓標準版のD52モジュール
https://www.digikey.jp/product-detail/ja/dynastream-innovations-inc/D52QD2M4IA-TRAY/1094-1023-ND/6149451
↓加速度センサ内蔵バージョンです。
https://www.digikey.jp/product-detail/ja/dynastream-innovations-inc/D52QD2M4IA-A-TRAY/1094-1024-ND/6149452
前回(2017年5月公開)は、ANTモジュールにBC-ANT-シリアルを利用しましたが、私のような素人には扱いが難しく、不安定になったり動作不能になったりと悩みました。
シリアル通信でコマンドを発行することによりANT+の信号を受信することができるモジュールは、以下の候補があります。
これらはNordic社の難解なSDK環境を構築することなく、シリアルコマンドでANT通信を実現できるので、私のような素人には、お手軽で、開発時間を短縮できるメリットがあります。
- BC-ANT-シリアル
- nRF24AP2
- D52(nRF528ベース)
今回は、D52を選択しました。
上の写真では、D52で受信したANT信号(パワー値283w)を秋月のArduinoUnoに送信、Nokia5110という200円液晶に表示しています。
便宜上、上記のような2システム構成です。
赤枠のシステムは、D52でANT+信号を受信し、ArduinoProMini8Mhz(3.3v動作)でテキストに変換してシリアル送信します。
オレンジ枠のシステムは、上記ArduinoProMiniからテキストを受信し、Nokia5110液晶に表示します。
D52とArduinoProMiniの接続図
電源Vcc, GNDとTx、Rxを接続するだけです。
D52のPINOUT
ArduinoUnoは5v動作のため、D52のような最大電圧3.7v程度のモジュールを接続するにはいちいち電圧を落とす必要があり面倒です。
私は5vが必要なデバイスをほとんともっていないので、秋月の基板のパターンを以下のようにカットして、5vラインを切断、代わりに3.3vを供給し、システム全体を3.3v動作に改造しています。3.3vで16Mhz動作となるので、オーバークロックとなりますが、短時間であれば、動作します。安定性が必要な場合は、クロックダウンが必要です。
今回のD52でANT受信を行うArduinoソースコード、および
Nokia5110で値を表示するArduinoソースコード(別途Nokia5110用ライブラリが必要)を以下のサイトに置きました(本日の日付をファイル名としています)。
(実際にアクセスする場合、末尾の000を削除して1138で終わるようURLを修正する必要があります。ロボット除けのためで、お手数をお掛けします)
ttps://sites.google.com/site/myfiles1138000
なお、ANT通信を行うには、NETWORK KEYを入手してソースコードに書き込む必要があります。
このあたりは信州Makers管理人様が詳しく公開されております。
いつもありがとうございます。
http://maru-yo.net/shinshu_makers/2017/08/15/%E3%80%90%E3%83%91%E3%83%AF%E3%83%BC%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%80%91antatmega328p%EF%BC%88%E5%86%85%E8%94%B58mhz%E6%8E%A5%E7%B6%9A%EF%BC%9C5v-3-3v%E3%82%82%EF%BD%8F%EF%BD%8B%EF%BC%9E/
0 件のコメント:
コメントを投稿