NefryBT R2とGrove光センサーを使ってクラウド上でグラフ化してみる


組込み初心者ですが、前回の記事『NefryBT R2とGrove赤外線センサーを使ってクラウド上でグラフ化してみる』に続いて、光センサーを使ってみました。

Grove光センサーは、アナログ信号で受けるようです。

まずはAmbientにグラフ化するためのチャネルを開設します。

次にNefryのGrove端子A0に光センサーを差し込みます。そして以下のようなソースを作成して流し込み。


#include <math.h>
#include <Nefry.h>
#include <NefryAmbient.h>
NefryAmbient nefryAmbient;

float Rsensor; //Resistance of sensor in K

void setup() {
Serial.begin(9600);
Nefry.println("Grove IR Distance Interrupter !");
Nefry.setLed(0,0,0);
pinMode(A0,INPUT); // A0ポート

//ambientを使えるように初期設定をします。
bool ret = nefryAmbient.begin(
xxxx, // チャンネルIDを入力
"xxxxxxxxxxxxxxxx"); // write key
Nefry.setProgramName("Grove_IR_Sensor");//プログラム名を指定します。
if(ret == false){
Nefry.println("Fail of SetupAmbient");
}
}

void loop() {
int sValue = analogRead( A0 );
Rsensor = (float)(1023-sValue)*10/sValue;
Nefry.print("the light sensor value is ");
Nefry.println( sValue );
Nefry.print("the sensor resistance is ");
Serial.println(Rsensor,DEC);//show the ligth intensity on the serial monitor;
int red = (int)(Rsensor / 255);
int green = 128;
int blue = (int)(Rsensor / 255);
Nefry.setLed(red , green, blue); // LEDがランダムに点灯します。

// Ambient の送信
bool ret;
ret = nefryAmbient.set(1, Rsensor); //field,dataの順にセットします。
if(ret == false) Nefry.println("Fail of set");
ret = nefryAmbient.send();//ambientにデータを送信します。
if(ret == false) Nefry.println("Fail of send");

delay( 5000 );

}

 


投稿者: cova

ザムウ取締役CTO。2010年に大阪から香川へ移住しフリーランスSEとして活動をはじめる。領域としてWeb系から組込み系+サーバ構築。中小企業基盤整備機構にて中小企業の経営支援と、小学校にてICT講習を務める。2021年現在、子育て支援NPO理事、短大専任講師を兼任する。 【主な資格】経営学修士(MBA)修了、国家試験応用情報技術者、国内初の夫婦ITコーディネーター。 その他、2021年4月:2児(3歳・0歳)の父に就任。 #赤ちゃんから学ぶ経営学 を配信。