1月22日(木)はIoTLTのSIer版を主催されていらっしゃる@CharaDenMitzさんが初めてのNefryでチャラくてハデなLチカを投稿してくださいました。
Mitzさんロゴで光るLEDがとてもかっこいいです!!IFTTTの特定ワードをキックに点灯する仕組みも是非参考にさせていただきます!
今年からプログラミングを始めてたペーペーな私は、簡単なところから、先日購入したGROVEスターターキットと一緒に始めたいと思います。
Nefryはお詳しい方にも、私のような初心者にも、馴染みやすくて非常に助かっています。
#〇今日のアジェンダ
1.IFTTTでLINEメッセージを飛ばす
2.タッチセンサーをつなげ、触ったら(近づけたら)LINEメッセージを飛ばす
3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばす
1,2はそれぞれわみさんのNefry BTとIFTTTでスイッチを押したらLINEを送る仕組みを作ってみようと、nefry.studioさんの記事にそって進めました。前編に記入しています。
今回は3を扱います。
3はtseigoさんのアドバイスをベースに作成しました、ありがとうございます!
それでは内容に入ります!!
#〇3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばす
まず、IFTTでLINEへメッセージを送る設定が下準備が必要です。
そちらはわみさんの記事を参考に行ってください。
最終的にこんな感じで、電気が付くなど光が強くなった時にLINEでメッセージが送られてきます。
私は友達とシェアハウスに住んでいるので、誰かがリビングの電気を付けると自動でメッセージが飛んできます。夜会社にいる時メッセージが送られてくると、「あ、誰か帰ったんだな、、、いいなあ、、、」なんて気持ちになります。
深夜や早朝にメッセージが送られていると、誰か寝付けなかったのかな、、、なんて思います。気味が悪いですね、、、、汗。
コードは以下です。
#include <Nefry.h>
#include <NefryIFTTT.h>
String Event, SecretKey;
int sensorValueNow;
int sensorValueBefore = 0;
void setup() {
Nefry.setStoreTitle("SecretKey",0); //Nefry DataStoreのタイトルを指定
Nefry.setStoreTitle("Event",1); //Nefry DataStoreのタイトルを指定
SecretKey = Nefry.getStoreStr(0); //Nefry DataStoreからデータを取得
Event = Nefry.getStoreStr(1); //Nefry DataStoreからデータを取得
Nefry.println("Grove Light sensor SETUP");
Nefry.setLed(0,0,0);
pinMode(A2,INPUT_PULLUP);//入力モード切り替え
}
void loop() {
sensorValueNow = analogRead(A2);
Nefry.print("sensorValueBefore=");
Nefry.println(sensorValueBefore);
Nefry.print("sensorValueNow=");
Nefry.println(sensorValueNow);
if(sensorValueBefore < 300){
if(sensorValueNow > 700){
bool sendData = IFTTT.send(Event, SecretKey,"Nefry_LightON","前:"+(String)sensorValueBefore,"今:"+(String)sensorValueNow);//IFTTTにデータを送信
}
}
sensorValueBefore = sensorValueNow;
Nefry.print("sensorValueBefore=");
Nefry.println(sensorValueBefore);
Nefry.println("");
Nefry.ndelay(10000);
}
1.2のコードに@n0bisukeさんのGroveの光センサをNefryで使うメモ #nefry #dotstudioのコードを参考に作らせて頂きました。本当に、多くの方々の知恵を勝手に拝借してすみません、、、、。汗
「マイコンボードに書き込む」するとシリアルポートにこんな感じでます。
700以上で電気はついている、と判断しています。
映像が乱れていて随分見にくいですが、実際の動きはこんな感じになります。
Nefry&光センサー:IFTTでメッセージを送ってくれる pic.twitter.com/BAyozNaM0o
— takahirochiku (@Hiro_Chiku) 2017年12月22日
#〇出来た後に学んだ事
閾値をどこにするかが難しいです。最初500にしていたのですが、それだと隣のキッチンの光を拾ったりします。結局700にしました。
本来はライトのすぐ数cmとか、すごく近くに置いて高い閾値を設定するものなんでしょうね、、、、
とは言え、身近な生活に介入してくる仕組みを作れると嬉しいですね。
明日はtseigoさんで「NefryBTで音を鳴らす予定」ですね、楽しみです!!
ありがとうございました!