ANT
BC-ANT-SERIAL 使用例 - データディスプレイ †
BC-ANT-SERIAL を使ったサンプルです。 LCD表示ユニットを備え、ANTモジュールの通信状態を表示します。
BC-ANT-SERIALは わずか 5ピンでマイコン等に接続することができます。 1.9〜3.3Vの電源とグランドのほかに シングルエンドの TXD, RXD, RTS という3本のラインのみです。(ほかに リセット、スリープ、サスペンドを追加することもできます)
この 5ピンは広く使われている 2.54mm (0.1インチ)ピッチのピンヘッダを使うことができます。
この使用例では、CPUに Microchip Tecnology社さんの PIC24FJ64GA002 (28ピン、300mil幅のDIP品) を利用したものです。
回路図: maker-2012-0005a.pdf
実装例:
使用部品一覧
No | 数量 | リファレンス | 品名 | スペック等 | 備考 |
1 | 2 | C1, C2 | 積層セラミックコンデンサ | 0.1uF | 汎用品でOK |
2 | 1 | C3 | タンタルコンデンサ | 10uF | 電解コンデンサ等、極性に注意 |
3 | 1 | C4 | 積層セラミックコンデンサ | 10uF | 積層セラミックのこと。電解コンデンサ等は不可 |
4 | 4 | D1, D2, D3, D4 | LED | | チップタイプでも リード付 φ3〜5mmでも OK |
5 | 1 | J2 | ピンヘッダ用ソケット | 1列 x 5ピン | 2.54mmピッチ BC-ANT-SERIALモジュールに合わせる |
6 | 1 | J3 | ピンヘッダ | 1列 x 6ピン | 2.54mmピッチ PICKit等プログラマ接続用 |
7 | 1 | R1 | 抵抗 1/16〜1/4W | 10kΩ | |
8 | 4 | R2,R3,R4,R5 | 抵抗 1/16〜1/4W | 1.5kΩ | 330〜3.9kΩ程度。使用するLEDに応じて値を選択してください。リード付 外形5mmのLEDの場合は 330〜510Ω程度。チップLEDの場合は高い値でもOK |
9 | 1 | R6 | 抵抗 1/16〜1/4W | 10kΩ | 半固定抵抗 |
10 | 4 | S1, S2, S3, S4 | プッシュスイッチ | モーメンタリタイプ | 押すと ONになるタイプ |
11 | 1 | U1 | CPU | PIC24FJ64GA002 | 秋月電子、マルツなどで購入可能 |
12 | 1 | U4 | LCD | SC1602BS-B(-XA-GB-K) | 他のモデルにも差し替え可能ですが、一部にピン非互換があるようです。秋月電子で購入可能 |
13 | 1 | U5 | DCDCコンバータ | 昇圧型DC-DCコンバータ 5V0.2A出力 StepUP・DIP-Ver.2 | 秋月電子で購入可能。3.3Vから5Vへ昇圧可能なもの 3.3V対応のLCDパネルの場合は不要です |
14 | 1 | | BC-ANT-SERIAL | | |
15 | 1 | | ピンヘッダ | 1列 x 5ピン | 2.54mmピッチのものを BC-ANT-SERIALに半田付けし、J2に接続します |
LED、抵抗、コンデンサ、スイッチ、ピンヘッダ、CPUなどは 秋葉原等で購入できます。 通信販売を利用するときは、秋月電子通商さん、千石電子さん、マルツさんなどの通信販売でそろえることができると思います。
実際に、組み立てるときの注意事項については、回路図にも記載しましたが、この回路図に対する補足説明を記述します。
C3は、電源ラインが不安定な場合に、追加します。だいたい 1〜10uF程度のタンタルコンデンサが良いでしょう。
一部を除き極性があります。 コンデンサの+端子を Vdd 側に -端子を GND側に接続します。
LEDは、出力ポートに 0 を書き込むと点灯し、 1 を書き込むと消灯します。実装するLEDのタイプによって、R2 〜 R5 に使う
抵抗の値を調整する必要があります。
1608サイズのチップLEDの場合、少ない電流(500μA弱)でも LEDが発光しているのを見ることができますので 回路図では 1.5kΩを
指定しています。。しかし リード線のあり、外形が 5mm程度あるLEDの場合、2〜3mA程度の電流を流さないと、発光していることが
見えませんので 抵抗値を小さくする必要があります。チップLEDでも 2〜3mA流しても問題ありませんから、抵抗の値は 330〜510Ω
でも特に問題ありません。(消費電流が増加した分、明るく光りますが、明るすぎると感じているのでチップLEDを使うときは
2kΩ前後にしています)
プッシュスイッチは CPU内蔵のプルアップ抵抗を有効にしながら、GNDに接続します。スイッチを離している状態では 1 が読み込まれ、
押している状態では 0 が読み込まれます。
プログラムのミス等により、プルアップ抵抗を無効にしたまま動作させると、入力端子が不安定になります。多くの場合は、
1が読み込まれるようですが、動作は保証されなくなります。また、最悪の場合は CPUを熱暴走により、破壊してしまいます。
もし、プルアップ抵抗が無効になって、CPUが不安定になるのを避けたい場合は、電源に向かってプルアップ抵抗を追加してください。
開発環境には MPLAB IDE を利用しました。
新しいプロジェクトを作成し CPUに PIC24FJ64GA002 を選択してください。プログラマには PICKit2やPICKit3 が使えます。また、ソースコードデバッガも使うことができます。
単独で、電源を供給する場合は、3.3Vの電源を J3 の 2番ピンに +極を、 3番ピンに -極を接続します。
サンプルプログラム †
サンプルプログラムは 下記の通りです。 それぞれを 作成したプロジェクトに追加してコンパイル/プログラム(PICへダウンロード)してください。
- ANT API
- LCD ディスプレイ
- Delay 関数
- 本体
- UART
- ANT APIヘッダ
- LCD ディスプレイ ヘッダ
- Delay 関数 ヘッダ
- UART ヘッダ
説明 †
このサンプルプログラムを実行すると、最初にタイトルを表示します。 SW4 を押すと、実行を始めます。
LCDパネルの 1行目には ANTモジュールから受信したデータのうち、コマンドとペイロードの一部を 16進数表記で表示します。 2行目には、受信したデータの数を表示します。
SW1 を押すと、チャンネルを送信モードでオープンし、データをブロードキャストします。 LED1 が点灯します
SW2 を押すと、チャンネルを受信モードでオープンし、データを受信します。LED2 が点灯します。 ANTの電波を受信できずに タイムアウトすると、チャンネルを閉じて LED2 を消灯します。
SW3 を押すと、ANTモジュールにソフトウェアリセットを送信し、LED1 および LED2 を消灯し、待機します。
主な処理は main() 関数の中に書かれています。
2012.11.29 初版: サンプル回路図掲載等