ホームページ タイトル
本文へジャンプ
NEXT

Beetleを親機モードで、Arduino UNO等互換機やDENSUKEに搭載時のスケッチサンプルを以下に示します。
(Arduino UNOの接続例は、Beetle 説明書(関連資料に掲載)を参照してください。

<以下のスケッチは、IDEにコピーペーストして使用してください>

///////////////////////////////////////////////////////////////////////////////
// DENSUKE For Beetle サンプル
// 2016 1/11 By obi
//
///////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <SoftwareSerial.h>

SoftwareSerial BLE_SwSerial(4, 5); // RX, TX

#define POWER 6 //
void temp_loop(void);

// 初期化
void setup(void) {

pinMode(POWER, OUTPUT);
digitalWrite(POWER, HIGH);

// Open serial communications and wait for port to open:
Serial.begin(9600);

while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}

Serial.println("Goodnight moon!");

// set the data rate for the SoftwareSerial port
BLE_SwSerial.begin(9600);
// mySerial.println("Hello, world?");
}

void loop() {
temp_loop();
}


void temp_loop(void) {
uint16_t val;
float tmp;
int val1;
int val2;
int ival;
int id;
int DAT1, DAT2, DAT3, DAT4;
int avail_buf;
int dust_buf;

// CB02_SWSProc(void) Copy
int avail_bytes;
int i;
char CR_ok;
int add;
unsigned short us16tmp;
short temp_d16;
float temp_df;
int temp_iINT, temp_iFRAC;
unsigned char uc8_digh, uc8_digl;
unsigned char uc8_flag;



avail_buf = BLE_SwSerial.available();

if (avail_buf >= 5 ) {

//=========================================================
id = BLE_SwSerial.read();
DAT1 = BLE_SwSerial.read();
DAT2 = BLE_SwSerial.read();
DAT3 = BLE_SwSerial.read();
DAT4 = BLE_SwSerial.read();

// Print
if (id >= 0xF0) {
Serial.print(" Beetle ID = ");
}
else {
Serial.print(" BLE ID = ");
}
Serial.println(id, HEX);
Serial.print(" ADT7410 TEMP DATA = ");
Serial.print(DAT1, HEX);
Serial.print(" ");
Serial.print(DAT2, HEX);
Serial.print(" -CR&LF- ");
Serial.print(DAT3, HEX);
Serial.print(" ");
Serial.print(DAT4, HEX);
//===========

val = (uint16_t)DAT1 << 8; // データの読み出し(上位)
val |= DAT2; // データの読み出し(下位)
val >>= 3; // 13bit化
ival = (int)val; // 整数化
if (val & (0x8000 >> 3)) { // 符号判定
ival = ival - 8192; // 負数のとき
}

tmp = (float)ival / 16.0 ; // 摂氏温度換算
Serial.print(" TEMP = ");
Serial.println(tmp, 2); // xx.xx 温度値をシリアル送信
}
}


======= END ====
opyright 2014 @ミューテック

IDE Ver 1.6.6

inserted by FC2 system