[[labs.beatcraft.com]]
[[ANT]]

* BC-ANT-SERIAL 使用例-その1 [#u845c6dd]

BC-ANT-SERIAL を使ったサンプル その1です。

サンプル その1では BC-ANT-SERIALを使った電子オルゴールの送信ユニットを組み立てます。~
BC-ANT-SERIALは わずか 5ピンでマイコン等に接続することができます。 1.9〜3.3Vの電源とグランドのほかに シングルエンドの TXD, RXD, RTS という3本のラインのみです。(ほかに リセット、スリープ、サスペンドを追加することもできます)
この 5ピンは広く使われているピンヘッダを使うことができます。

このサンプル その1は、CPUに NXP社さんの LPC1114FN28/102 (28ピンのDIP品) を利用したものです。
下記の回路図は、最低限度 接続するネットにのみ、配線したものです。CPUへは 電源、SWDおよび BC-ANT-SERIALの配線のみ行ったものです。このうち RTS は 28番ピン (CTS) に接続されていますが、ハードウェアフローでなく ソフトウェアからPIOを通じて制御することもできますので、他のピンに移動させることもできます。なお、移動した場合はハードウェアフローは使えなくなりますから、ソフトウェアで代用することが必要となります。(X-ON/OFFを使う ソフトウェアフローとは異なりますので注意してください。RTSの状態を ソフトウェアで読み込み、ソフトウェアで送信のタイミングを調整することになります)

回路図: &ref(MAKER-2012-0001A.pdf);~

このままでは、BC-ANT-SERIAL と通信できても、ユーザとのやりとりが見えませんので、LEDとプッシュボタンをそれぞれ 4個追加したものが、下記の回路図です。これで、ANTでプッシュボタンの状態を送信したり、ANTで受信した情報を LEDでモニタしたりすることができるようになります。


回路図: &ref(MAKER-2012-0002A.pdf);~
実装例: &ref(DSCF8129.JPG,,25%);~

使用部品一覧
|No|数量|リファレンス|品名|スペック等|備考|
| 1|   2|C1, C2      |積層セラミックコンデンサ|  0.1uF|汎用品でOK|
| 2|   1|C3          |タンタルコンデンサ      |   10uF|電解コンデンサ等、極性に注意|
| 3|   4|D1, D2, D3, D4|LED                   |       |チップタイプでも リード付 φ3〜5mmでも OK|
| 4|   1|J1          |ピンヘッダ              |1列 x 8ピン|2.54mmピッチ|
| 5|   1|J2          |ピンヘッダ用ソケット    |1列 x 5ピン|2.54mmピッチ BC-ANT-SERIALモジュールに合わせる|
| 6|   4|R1, R2, R3, R4|抵抗 1/16〜1/4W       |330〜2.2kΩ|LEDのタイプにあわせて 抵抗値を選ぶ|
| 7|   4|S1, S2, S3, S4|プッシュスイッチ      |モーメンタリタイプ|押すと ONになるタイプ|
| 8|   1|U1          |CPU                     |LPC1114FN28/102|秋月電子、マルツなどで購入可能|
| 9|   1|            |BC-ANT-SERIAL           | ||
|10|   1|            |ピンヘッダ              |1列 x 5ピン|2.54mmピッチのものを BC-ANT-SERIALに半田付けし、J2に接続します|

LED、抵抗、コンデンサ、スイッチ、ピンヘッダ、CPUなどは 秋葉原等で購入できます。 通信販売を利用するときは、秋月電子通商さん、千石電子さん、マルツさんなどの通信販売でそろえることができると思います。

実際に、組み立てるときの注意事項については、回路図にも記載しましたが、この回路図に対する補足説明を記述します。~

C3は、電源ラインが不安定な場合に、追加します。だいたい 1〜10uF程度のタンタルコンデンサが良いでしょう。
一部を除き極性があります。 コンデンサの+端子を Vdd 側に -端子を GND側に接続します。

LEDは、出力ポートに 0 を書き込むと点灯し、 1 を書き込むと消灯します。実装するLEDのタイプによって、R1 〜 R4 に使う
抵抗の値を調整する必要があります。~
1608サイズのチップLEDの場合、少ない電流(500μA弱)でも LEDが発光しているのを見ることができますので 回路図では 2.2kΩを
指定しています。。しかし リード線のあり、外形が 5mm程度あるLEDの場合、2〜3mA程度の電流を流さないと、発光していることが
見えませんので 抵抗値を小さくする必要があります。チップLEDでも 2〜3mA流しても問題ありませんから、抵抗の値は 330〜510Ω
でも特に問題ありません。(消費電流が増加した分、明るく光りますが、明るすぎると感じているのでチップLEDを使うときは
2kΩ前後にしています)~

プッシュスイッチは CPU内蔵のプルアップ抵抗を有効にしながら、GNDに接続します。スイッチを離している状態では 1 が読み込まれ、
押している状態では 0 が読み込まれます。~
プログラムのミス等により、プルアップ抵抗を無効にしたまま動作させると、入力端子が不安定になります。多くの場合は、
1が読み込まれるようですが、動作は保証されなくなります。また、最悪の場合は CPUを熱暴走により、破壊してしまいます。
もし、プルアップ抵抗が無効になって、CPUが不安定になるのを避けたい場合は、電源に向かってプルアップ抵抗を追加してください。

この回路の LEDおよび SWの動作テストを行うプログラムは、下記のものになります。~
このプログラムではスイッチの状態を読み取り、対応する LEDを点灯させるだけの単純なものになります。まだ、
BC-ANT-SERIALとの通信については記述してありません。 

簡単な確認プログラム: &ref(sample1-1_main.c);

開発環境には LPCXpresso IDE を利用しました。(Version: LPCXpresso v4.3.0)~
新しいプロジェクトを作成して、main.c にコピーしてください。プロジェクトをビルドしてから、LPC1114FN28 にダウンロード
してから、スイッチを押すと、対応するLEDが点灯することを確認してください。

LPC-Link等を使わずに、単独で、電源を供給する場合は、2〜3.3Vの電源を J1 の 1番ピンに +極を、 8番ピンに -極を接続します。


* サンプルプログラム [#o4def6a2]

(サンプルプログラムについては、後日追加します)

- main関数
-- &ref(main.c);
- ANT APIヘッダ
-- &ref(ant.h);
- ANT API
-- &ref(ant.c);

----
2012.11.09 初版: サンプル回路図掲載等~
2012.11.19 部品リストを追加

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS