Buletooth module(RX-42XVP) sample program

Dependencies:   mbed

Buletoothモジュール(RN-42XVP)の青mbed(LPC1768)での動作確認

<概要>

トランジスタ技術2014年3月号 3章のBuletoothモジュール(RN-42XVP)とLPC810を使った作例で、LPC810を青mbed(LPC1768)に変更して、配線とmbedプログラムを簡素化して動作確認をしやすくしました。

動作例動画:

<機材準備>

  1. 配線 Buletoothモジュールへの電源供給はmbedから行います。またシリアル通信線2本をmbedに接続します。
RN-42XVPmbed(LPC1768)
Pin1(Vcc)VOUT(3.3V)
Pin2(DOUT)p14(rx)
Pin3(DIN)p13(tx)
Pin10GND(0V)
  1. Androidアプリ AndroidアプリはCQ出版社のwebからダウンロードします。 http://toragi.cqpub.co.jp/tabid/707/Default.aspx
    パソコンからandroidへのインストールはトランジスタ技術の記事を参照してください。
  1. 青mbed(LPC1768)のプログラム Mbedのwebからダウンロードしてください。

    Import programRN-42XVPsample

    Buletooth module(RX-42XVP) sample program

<動作>

Androidアプリはテンキー(0~9)と”LED ON/OFF”のボタンがあり、これらのボタンを押すとアスキーコードの’0’~’9’,’+’,’-‘が送信されます。これを青mbedで受信して、mbed上の4つのLEDを制御します。また受信したデータをmbedのUSB-Serialで外部に送信します。パソコンでターミナルソフト(TeraTarmなど)で確認できます。

以上

Committer:
suupen
Date:
Sun Feb 23 00:24:55 2014 +0000
Revision:
0:66a02c06ec33
Buletooth module(RN-42XVP)sample program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:66a02c06ec33 1 /**
suupen 0:66a02c06ec33 2 Transistor Gijutsu 2014nen 3gatugo page.64 3syo
suupen 0:66a02c06ec33 3 Buletooth ban
suupen 0:66a02c06ec33 4 LPC810 wo LPC1768 ni henko sita sample program
suupen 0:66a02c06ec33 5
suupen 0:66a02c06ec33 6
suupen 0:66a02c06ec33 7 RN-42XVP LPC1768
suupen 0:66a02c06ec33 8 -------------------
suupen 0:66a02c06ec33 9 Pin1 VOUT
suupen 0:66a02c06ec33 10 Pin2 p14(rx)
suupen 0:66a02c06ec33 11 Pin3 p13(tx)
suupen 0:66a02c06ec33 12 Pin10 GND
suupen 0:66a02c06ec33 13
suupen 0:66a02c06ec33 14 */
suupen 0:66a02c06ec33 15 #include "mbed.h"
suupen 0:66a02c06ec33 16
suupen 0:66a02c06ec33 17 BusOut myleds(LED1, LED2, LED3, LED4);
suupen 0:66a02c06ec33 18
suupen 0:66a02c06ec33 19 Serial pc(USBTX, USBRX); // (tx, rx)
suupen 0:66a02c06ec33 20 Serial xbee(p13, p14); // (tx,rx) RN-42XVP tuusinyo serial
suupen 0:66a02c06ec33 21
suupen 0:66a02c06ec33 22 int main()
suupen 0:66a02c06ec33 23 {
suupen 0:66a02c06ec33 24 uint8_t rawData;
suupen 0:66a02c06ec33 25 uint8_t newData;
suupen 0:66a02c06ec33 26
suupen 0:66a02c06ec33 27 xbee.baud(115200);
suupen 0:66a02c06ec33 28
suupen 0:66a02c06ec33 29 while(1) {
suupen 0:66a02c06ec33 30
suupen 0:66a02c06ec33 31 if(1 == xbee.readable()) {
suupen 0:66a02c06ec33 32 rawData = xbee.getc();
suupen 0:66a02c06ec33 33
suupen 0:66a02c06ec33 34 pc.printf("rawData = %02x\n",rawData);
suupen 0:66a02c06ec33 35
suupen 0:66a02c06ec33 36 if(rawData != 0x00) {
suupen 0:66a02c06ec33 37 if(rawData == '+') {
suupen 0:66a02c06ec33 38 newData = 0x0f;
suupen 0:66a02c06ec33 39 } else if(rawData == '-') {
suupen 0:66a02c06ec33 40 newData = 0x00;
suupen 0:66a02c06ec33 41 } else if(rawData == '0') {
suupen 0:66a02c06ec33 42 newData = 0x0a;
suupen 0:66a02c06ec33 43 } else {
suupen 0:66a02c06ec33 44 newData = rawData - '0';
suupen 0:66a02c06ec33 45 }
suupen 0:66a02c06ec33 46
suupen 0:66a02c06ec33 47 myleds = newData;
suupen 0:66a02c06ec33 48
suupen 0:66a02c06ec33 49
suupen 0:66a02c06ec33 50 }
suupen 0:66a02c06ec33 51
suupen 0:66a02c06ec33 52 }
suupen 0:66a02c06ec33 53 }
suupen 0:66a02c06ec33 54 }