« mbed HRM1017 (5)温度を計測(konashi.js編) | トップページ | mbed HRM1017 (3)konashi.jsでナイトライダー »

mbed HRM1017 (7)techBASICでナイトライダー

Knight700t
「 (3)konashi.jsでナイトライダー」で使った「BLE_Knight_Rider_PIO_Sample※新しいタイプのコードに書き換えないと動作しません)」のmbed HRM1017のPIOのサンプルで、techBASICで動かすサンプルを作ってみたいと思います。

mbedプログラム少し復習

BLE_Knight_Rider_PIO_Sample」のmain.cppで、サービスおよびPIOデータのキャラクタリスティックは、それぞれ

  • KONASHI_SERVICE_UUID = 0xFF00
  • KONASHI_PIO_OUTPUT_UUID = 0x3002

としてあります。
PIOのデータは1バイトで、それぞれのビットでP0_0ピン〜P0_7ピンまでのオン・オフを示すようになっています。
Safariscreensnapz043

techBASICのプログラム

techBASICのプログラムは、「 (3)konashi.jsでナイトライダー」のプログラムに似せて組んでみました。

BLE用techBASIC空コード」を元に、まず、サービスおよびPIOデータのキャラクタリスティックをそれぞれ、FF00と0x3002にします。

Tbeditorscreensnapz004

次にPIOの送信データ処理です。nullEventループ関数の中にkonashi.jsと同じ0.1秒間隔でPIOのピンの番号を変えながらsendByteで送信しています。ざっと簡単に説明すると、

  • targetledは、光らせるLEDのピン番号です。
  • shiftdirは、次にピン番号を増すか減らすかの方向をしめしていて、1から4番ピンを行ったり来たりするようにしています。
  • lastTickは最後に送信した時間です。0.1秒間隔で処理するようにしています。
  • isReadyは接続して各種データを取得できたら"1"に、そうでないなら"0"です。
  • sendCharは、送信用のキャラクタリスティックです。3002のPIOデータのキャラクタリスティックが取得できていれば処理するようにしてます。

Tbeditorscreensnapz003

配線

「 (3)konashi.jsでナイトライダー」と同じです。1から4番ピンを行ったり来たりするようにしてるので、P0_1,P0_2,P0_3,P0_4にLEDを繋げています。
Knight700x

Warning

LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。
画像のLEDは抵抗入りのLEDを使ってます。

動作確認

  1. techBASIC起動
  2. 新規にファイルを作って「KnightRider.txt」をペーストします。
  3. 「Console」をタップ:図①
  4. 「Run」をタップ:図②
  5. mbed HRM1017を選択して、接続が完了するとLEDが点灯し始めます。

Img_5502

さて、動きましたでしょうか?
今回は、techBASICを使って、データを送信するプログラムを作ってみました。前回と合わせて、とりあえず受送信のプログラムをtechBASICでやってみました。簡単なプログラムなら、techBASICもそれなりに便利かと思いますので、是非利用してみて下さい

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

Photo
 

|

« mbed HRM1017 (5)温度を計測(konashi.js編) | トップページ | mbed HRM1017 (3)konashi.jsでナイトライダー »

techBASIC」カテゴリの記事

mbed/LPC/REWBPIC」カテゴリの記事

無線(mbed HRM1017)」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: mbed HRM1017 (7)techBASICでナイトライダー:

« mbed HRM1017 (5)温度を計測(konashi.js編) | トップページ | mbed HRM1017 (3)konashi.jsでナイトライダー »