IoT

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 );

}