mbed HRM1017 (7)techBASICでナイトライダー
「 (3)konashi.jsでナイトライダー」で使った「BLE_Knight_Rider_PIO_Sample(※新しいタイプのコードに書き換えないと動作しません)」のmbed HRM1017のPIOのサンプルで、techBASICで動かすサンプルを作ってみたいと思います。
- techBASICに関しては「(6)温度を計測(techBASIC編)」を参考にして下さい。
- mbedの「BLE_Knight_Rider_PIO_Sample(※新しいタイプのコードに書き換えないと動作しません)」に関しては「 (3)konashi.jsでナイトライダー」を参考にして下さい。
mbedプログラム少し復習
「BLE_Knight_Rider_PIO_Sample」のmain.cppで、サービスおよびPIOデータのキャラクタリスティックは、それぞれ
- KONASHI_SERVICE_UUID = 0xFF00
- KONASHI_PIO_OUTPUT_UUID = 0x3002
としてあります。
PIOのデータは1バイトで、それぞれのビットでP0_0ピン〜P0_7ピンまでのオン・オフを示すようになっています。
techBASICのプログラム
techBASICのプログラムは、「 (3)konashi.jsでナイトライダー」のプログラムに似せて組んでみました。
「BLE用techBASIC空コード」を元に、まず、サービスおよびPIOデータのキャラクタリスティックをそれぞれ、FF00と0x3002にします。
次にPIOの送信データ処理です。nullEventループ関数の中にkonashi.jsと同じ0.1秒間隔でPIOのピンの番号を変えながらsendByteで送信しています。ざっと簡単に説明すると、
- targetledは、光らせるLEDのピン番号です。
- shiftdirは、次にピン番号を増すか減らすかの方向をしめしていて、1から4番ピンを行ったり来たりするようにしています。
- lastTickは最後に送信した時間です。0.1秒間隔で処理するようにしています。
- isReadyは接続して各種データを取得できたら"1"に、そうでないなら"0"です。
- sendCharは、送信用のキャラクタリスティックです。3002のPIOデータのキャラクタリスティックが取得できていれば処理するようにしてます。
配線
「 (3)konashi.jsでナイトライダー」と同じです。1から4番ピンを行ったり来たりするようにしてるので、P0_1,P0_2,P0_3,P0_4にLEDを繋げています。
Warning
LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。
画像のLEDは抵抗入りのLEDを使ってます。
動作確認
- techBASIC起動
- 新規にファイルを作って「KnightRider.txt」をペーストします。
- 「Console」をタップ:図①
- 「Run」をタップ:図②
- mbed HRM1017を選択して、接続が完了するとLEDが点灯し始めます。
さて、動きましたでしょうか?
今回は、techBASICを使って、データを送信するプログラムを作ってみました。前回と合わせて、とりあえず受送信のプログラムをtechBASICでやってみました。簡単なプログラムなら、techBASICもそれなりに便利かと思いますので、是非利用してみて下さい
----------------
にほんブログ
| 固定リンク
「techBASIC」カテゴリの記事
- tBeditor v0.45 公開(2014.10.26)
- mbed HRM1017 (7)techBASICでナイトライダー(2014.07.28)
- RFduino 実験 (6) techBASICで温度計(2014.01.13)
- RFduino 実験 (5) techBASICで動かしてみる(2014.01.11)
- FirmaSBBLE(浜サブレー) 公開(2013.12.30)
「mbed/LPC/REWBPIC」カテゴリの記事
- mbedワークショップ 2014 VOL1.1 〜mbedハンズオン〜(2014.08.20)
- mbed HRM1017 (7)techBASICでナイトライダー(2014.07.28)
- 「ハイパー・マイコンmbedでインターネット電子工作」発売予定(2014.06.19)
- 『mbed LPC1114FN28』のファームを更新してみた(2014.06.03)
「無線(mbed HRM1017)」カテゴリの記事
- mbed HRM1017 (7)techBASICでナイトライダー(2014.07.28)
- mbed HRM1017 (5)温度を計測(konashi.js編)(2014.07.26)
- mbed HRM1017 (4)温度を計測(nRF Toolbox編)(2014.07.22)
- mbed HRM1017 (3)konashi.jsでナイトライダー(2014.07.29)
この記事へのコメントは終了しました。
コメント