# data[].attributes.body
1.นางสาวโชติรส แก้วลาย เลขที่ 11
2.นางสาวพาขวัญ เอียดแก้ว เลขที่ 18
3.นางสาวปาริญา หัสสาคร เลขที่ 22
4.นางสาวเสาวลักษณ์ หัสสาคร เลขที่ 31

# data[].attributes.body
1.นายวีรภาพ อำหมัด เลขที่9

2.นางสาวกรศศิรินทร์ อนันตทวีกุล เลขที่12

3.นางสาวอรวีร์ ผาณิตพรหม เลขที่23

4.นางสาวอนัญญา นาคช่วย เลขที่32

# data[].attributes.body
1.นายจิรภัทร  กิจชล  เลขที่ 7
2.นางสาวเสาวนีย์  บัวคง  เลขที่ 24
3.นางสาวกัลยรัตน์  ทองขำดี  เลขที่ 25
4.นางสาวศิริรัตน์ ย้อยดำ เลขที่ 30

# data[].attributes.headline
ระบบแจ้งเตือนเมื่อมีผู้มาเยือน

# data[].attributes.subject
ระบบแจ้งเตือนเมื่อมีผู้มาเยือน

# data[].attributes.headline
ระบบการเปิด-ปิดไฟจราจรอัตโนมัติ

# data[].attributes.subject
ระบบการเปิด-ปิดไฟจราจรอัตโนมัติ

# data[].attributes.body
/*************************************************************

This is a simple demo of sending and receiving some data.
Be sure to check out other examples!
*************************************************************/

/* Fill-in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPLXmupETjF"
#define BLYNK_TEMPLATE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "Tq6DwifRy6299T6L8Hwcfi5gOpM3ec7X"

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "babyhoney";
char pass[] = "07985511";

BlynkTimer timer;

// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V1)
{
// Set incoming value from pin V0 to a variable
int value1 = param.asInt();
digitalWrite(D1,value1);
// Update state

}
BLYNK_WRITE(V2)
{
// Set incoming value from pin V0 to a variable
int value2 = param.asInt();
digitalWrite(D2,value2);
// Update state

}
BLYNK_WRITE(V3)
{
// Set incoming value from pin V0 to a variable
int value3 = param.asInt();
digitalWrite(D3,value3);
// Update state

}
// This function is called every time the device is connected to the Blynk.Cloud

void setup()
{
// Debug console
Serial.begin(115200);

Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(D1,OUTPUT);
pinMode(D2,OUTPUT);
pinMode(D3,OUTPUT);
}

void loop()
{
Blynk.run();
timer.run();
// You can inject your own code or combine it with other sketches.
// Check other examples on how to communicate with Blynk. Remember
// to avoid delay() function!
}

# data[].attributes.body
1.นางสาวนันทิชา บุญสมาน เลขที่15
2.นางสาวพัชรี รอดรัก เลขที่17
3.นางสาวนิชาภัทร กิ่งเกาะยาว เลขที่26
4.นางสาวเกวลิน ไขแสง เลขที่28

# data[].attributes.headline
ตรวจจับระยะเพื่อเปิดไฟในบ้าน

# data[].attributes.subject
ตรวจจับระยะเพื่อเปิดไฟในบ้าน

# data[].attributes.body
1.นายชุติพนธ์ เมืองเเก้ว เลขที่1
2.นายทินภัทร โพธิ์นาค เลขที่2
3.นายธนาวุฒิ จงไกรจักร เลขที่3
4.นายพัชรพล รอดดี เลขที่6

# data[].attributes.body
1.นายกิตติศักดิ์ เกตุแก้ว เลขที่ 8
2.นางสาวกัญญาพัชร ปรางหมู่ เลขที่ 14
3.นางสาวพรทิพย์ ทองแย้ม เลขที่ 16
4.นางสาวสุตาภัทร อภัยพงค์ เลขที่ 27

# data[].attributes.headline
ระบบเปิด-ปิดไฟอัตโนมัติด้วยมือถือ

# data[].attributes.subject
ระบบเปิด-ปิดไฟอัตโนมัติด้วยมือถือ

# data[].attributes.body
1.นายยศกร เผือกโสภา เลขที่4
2.นายอดิศักดิ์ คำปล้อง เลขที่5
3.นายวรวุฒิ อัตกลับ เลขที่10
4.นางสาวรุ่งไพริน พิทักษ์ เลขที่ 19

# data[].attributes.headline
สมาชิกในกลุ่ม

# data[].attributes.subject
สมาชิกในกลุ่ม

# data[].attributes.body
1.นางสาวกฤติพร ช่วยเมือง เลขที่13 2.นางสาววรรณภา ปูเงิน เลขที่20 3.นางสาวหทัยรัตน์ นวลศรี เลขที่21 4.นางสาวบัณฑิตา อินทรพรหม เลขที่29

# data[].attributes.headline
เครื่องวัดความชื้นในดิน

# data[].attributes.subject
เครื่องวัดความชื้นในดิน

# data[].attributes.headline
ระบบทดสอบสายตาไฟจราจรผ่านสมาร์ทโฟน

# data[].attributes.subject
ระบบทดสอบสายตาไฟจราจรผ่านสมาร์ทโฟน

# data[].attributes.headline
เปิดปิดประตู

# data[].attributes.subject
เปิดปิดประตู

# data[].attributes.body
#include <Servo.h>
Servo myservo;
const int pingPin = D5;  //trig
int inPin = D6; //echo
//Vcc-Vin
//Gnd-Gnd

void setup() {

myservo.attach(D4);
Serial.begin(9600);
pinMode(D2,OUTPUT);
//brown-Gnd
//red-3V3
//orange-D0-8
}

void loop()
{
long duration, cm;

pinMode(pingPin, OUTPUT);

digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);

cm = microsecondsToCentimeters(duration);

Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);

if(cm<20)
{
digitalWrite(D2,1);
myservo.write(180);
}
else
{
digitalWrite(D2,0);
myservo.write(1);
}
}

long microsecondsToCentimeters(long microseconds)
{
// The speed of sound is 340 m/s or 29 microseconds per centimeter.
// The ping travels out and back, so to find the distance of the
// object we take half of the distance travelled.
return microseconds / 29 / 2;
}

# data[].attributes.headline
ถังขยะเปิด-ปิด อัตโนมัติ

# data[].attributes.subject
ถังขยะเปิด-ปิด อัตโนมัติ

# data[].attributes.body
#include <Servo.h>
Servo myservo;
const int pingPin = D5;  //trig
int inPin = D6; //echo
//Vcc-Vin
//Gnd-Gnd

void setup() {

myservo.attach(D4);
Serial.begin(9600);
pinMode(D2,OUTPUT);
//brown-Gnd
//red-3V3
//orange-D0-8
}

void loop()
{
long duration, cm;

pinMode(pingPin, OUTPUT);

digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);

cm = microsecondsToCentimeters(duration);

Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);

if(cm<20)
{
digitalWrite(D2,1);
myservo.write(180);
}
else
{
digitalWrite(D2,0);
myservo.write(1);
}
}

long microsecondsToCentimeters(long microseconds)
{
// The speed of sound is 340 m/s or 29 microseconds per centimeter.
// The ping travels out and back, so to find the distance of the
// object we take half of the distance travelled.
return microseconds / 29 / 2;
}