ESP8266

http://188.166.206.43/SVqHuimxomfHge_1pRhbHvvqHo_yCRHR/update/D2

*********************************************************

LAB 4.3 MQ-2

**********************************************************

int ledPin = D2;

int analogPin = A0; //ประกาศตัวแปร ให้ analogPin 

int val = 0;

void setup() {

  pinMode(ledPin, OUTPUT);  // sets the pin as output

  Serial.begin(9600);

}

void loop() {

  val = analogRead(analogPin);  //อ่านค่าสัญญาณ analog 

  Serial.print("val = "); // พิมพ์ข้อมความส่งเข้าคอมพิวเตอร์ "val = "

  Serial.println(val); // พิมพ์ค่าของตัวแปร val

  if (val > 500) { // สามารถกำหนดปรับค่าได้ตามสถานที่ต่างๆ

    digitalWrite(ledPin, HIGH); // สั่งให้ LED ติดสว่าง

  }

  else {

    digitalWrite(ledPin, LOW); // สั่งให้ LED ดับ

  }

  delay(100);

}

********************************************************

LAB_5

************************************************************

#define trigPin D7  // Trigger Pin

#define echoPin D8 // Echo Pin

#define LEDPin D1 // Onboard LED

int maximumRange = 200; // Maximum range needed

int minimumRange = 0; // Minimum range needed

long duration, distance; // Duration used to calculate distance

void setup() {

  Serial.begin (115200);

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)

}

void loop() {

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  //Calculate the distance (in cm) based on the speed of sound.

  distance = duration / 58.2;

  if (distance >= maximumRange || distance <= minimumRange) {

    Serial.println("-1");  //เมื่ออยู่นอกระยะให้ใช้ Print -1

    digitalWrite(LEDPin, HIGH);

  }

  else {

    Serial.println(distance);  //แสดงค่าระยะทาง

    digitalWrite(LEDPin, LOW);

  }

  delay(100);

}

//***********************************************************

LAB_9.2_

************************************************************

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

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

/***********************************/

#include "DHT.h"

#define DHTPIN     D4     // what digital pin the DHT22 is conected to

#define DHTTYPE DHT22   // there are multiple kinds of DHT sensors

//#define DHTTYPE DHT11   // there are multiple kinds of DHT sensors

DHT dht(DHTPIN, DHTTYPE);

/**************************************/

const int sensor_pin = A0;  /* Connect Soil moisture analog sensor pin to A0 of NodeMCU */

int Relay1           = D1; //A0

int Relay2           = D2; //Tem

char auth[] = "SVqHuimxomfHge_1pRhbHvvqHo_yCRHR";

bool MODE1             = 0;

void setup()

{

  Serial.begin(9600);

  Blynk.begin(auth, "TP-LINK_E1BB", "14244186");

  

  Serial.println(F("DHTxx test!"));

  dht.begin();

  

  pinMode(Relay1,OUTPUT);

  pinMode(Relay2,OUTPUT);

}

void MODE_Temperature_MANUAL()

{

       delay(2000);

    float h = dht.readHumidity();

    float t = dht.readTemperature();

    float f = dht.readTemperature(true);

    if (isnan(h) || isnan(t) || isnan(f)) {

      Serial.println("Failed to read from DHT sensor!");

//      timeSinceLastRead = 0;

      return;

    }

    float hif = dht.computeHeatIndex(f, h);

    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity:");

    Serial.print(h);

    Serial.print("%\t");

    Serial.print("Temperature:");

    Serial.print(t);

    Serial.print("*C");

    Serial.print(f);

    Serial.print("*F\t");

    Serial.print("Heat index:");

    Serial.print(hic);

    Serial.print("*C");

    Serial.print(hif);

    Serial.println("*F");

    Blynk.virtualWrite(14,t);

    Serial.println("Temperature_MANUAL"); 

  }

void MODE_Temperature_Auto()

{

      delay(2000);

    float h = dht.readHumidity();

    float t = dht.readTemperature();

    float f = dht.readTemperature(true);

    if (isnan(h) || isnan(t) || isnan(f)) {

      Serial.println("Failed to read from DHT sensor!");

//      timeSinceLastRead = 0;

      return;

    }

    float hif = dht.computeHeatIndex(f, h);

    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity:");

    Serial.print(h);

    Serial.print("%\t");

    Serial.print("Temperature:");

    Serial.print(t);

    Serial.print("*C");

    Serial.print(f);

    Serial.print("*F\t");

    Serial.print("Heat index:");

    Serial.print(hic);

    Serial.print("*C");

    Serial.print(hif);

    Serial.println("*F");

   if(t <= 34)            {Serial.println("Relay2 OFF");  digitalWrite(Relay2,HIGH);}

   if(t >= 35 && t <= 100){Serial.println("Relay2 ON");   digitalWrite(Relay2,LOW);}

   Serial.println("Temperature_Auto");

   Blynk.virtualWrite(14,t);  

  }

void MODE_Soil_Moisture_Auto()

  {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

   if(moisture_percentage <=10 ){digitalWrite(Relay1,LOW);Serial.println("Relay1_ON");}

   if(moisture_percentage >=15 ){digitalWrite(Relay1,HIGH);Serial.println("Relay1_OFF");}

  delay(1000);

  Serial.println("Soil_Moisture_Auto");

  Blynk.virtualWrite(13, moisture_percentage);  

  }

void MODE_Soil_Moisture_MANUAL()

 {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

  delay(1000);

  Blynk.virtualWrite(13, moisture_percentage); 

  Serial.println("Soil_Moisture_MANUAL"); 

  }

BLYNK_WRITE(V31)

{

 if(param.asInt() == 0){Serial.println("MODE_M1");MODE1=0;delay(1000);  }

 if(param.asInt() == 1){Serial.println("MODE_A1");MODE1=1;delay(1000);  }

}

void loop()

{

  Blynk.run();

    if (MODE1 == 0) 

    {

      Serial.println("MODE_MANUAL");

      MODE_Soil_Moisture_MANUAL();

      MODE_Temperature_MANUAL();

    } 

  if(MODE1 == 1)

   {

    Serial.println("MODE_AUTO");

    MODE_Soil_Moisture_Auto();

    MODE_Temperature_Auto();

  }

}

************************************************************

LAB_9_FUNC_Blynk_AtoD

************************************************************

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

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

const int sensor_pin = A0;  /* Connect Soil moisture analog sensor pin to A0 of NodeMCU */

int Relay1           = D1; 

char auth[] = "SVqHuimxomfHge_1pRhbHvvqHo_yCRHR";

bool MODE1             = 0;

void setup()

{

  Serial.begin(9600);

  Blynk.begin(auth, "TP-LINK_E1BB", "14244186");

  pinMode(Relay1,OUTPUT);

}

void MODE_Soil_Moisture_Auto()

  {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

   if(moisture_percentage <=10 ){digitalWrite(Relay1,LOW);Serial.println("Relay1_ON");}

   if(moisture_percentage >=15 ){digitalWrite(Relay1,HIGH);Serial.println("Relay1_OFF");}

  delay(1000);

  Blynk.virtualWrite(13, moisture_percentage);  

  }

void MODE_Soil_Moisture_MANUAL()

 {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

  delay(1000);

  Blynk.virtualWrite(13, moisture_percentage);  

  }

BLYNK_WRITE(V31)

{

 if(param.asInt() == 0){Serial.println("MODE_M1");MODE1=0;delay(1000);  }

 if(param.asInt() == 1){Serial.println("MODE_A1");MODE1=1;delay(1000);  }

}

void loop()

{

  Blynk.run();

    if (MODE1 == 0) 

    {

      Serial.println("MODE_MANUAL");

      MODE_Soil_Moisture_MANUAL();

    } 

  if(MODE1 == 1)

   {

    Serial.println("MODE_AUTO");

    MODE_Soil_Moisture_Auto();

  }

}

************************************************************

LAB8_Blynk_AtoD

************************************************************

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

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

const int sensor_pin = A0;  /* Connect Soil moisture analog sensor pin to A0 of NodeMCU */

int Relay1           = D1; 

char auth[] = "SVqHuimxomfHge_1pRhbHvvqHo_yCRHR";

void setup()

{

  Serial.begin(9600);

  Blynk.begin(auth, "TP-LINK_E1BB", "14244186");

  pinMode(Relay1,OUTPUT);

}

void loop()

{

  Blynk.run();

  

   float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

   if(moisture_percentage <=10 ){digitalWrite(Relay1,LOW);}

   if(moisture_percentage >=15 ){digitalWrite(Relay1,HIGH);}

  delay(1000);

  Blynk.virtualWrite(13, moisture_percentage);

}

************************************************************

LAB4

************************************************************

const int sensor_pin = A0;  /* Connect Soil moisture analog sensor pin to A0 of NodeMCU */

void setup() {

  Serial.begin(9600); /* Define baud rate for serial communication */

}

void loop() {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

  delay(1000);

}

************************************************************

LAB4.1

************************************************************

const int sensor_pin = A0;  /* Connect Soil moisture analog sensor pin to A0 of NodeMCU */

int Relay1  = D1; 

void setup() {

  Serial.begin(9600); /* Define baud rate for serial communication */

  pinMode(Relay1,OUTPUT);

}

void loop() {

  float moisture_percentage;

  moisture_percentage = ( 100.00 - ( (analogRead(sensor_pin)/1023.00) * 100.00 ) );

  Serial.print("Soil Moisture(in Percentage) = ");

  Serial.print(moisture_percentage);

  Serial.println("%");

   if(moisture_percentage <=10 ){digitalWrite(Relay1,LOW);}

   if(moisture_percentage >=15 ){digitalWrite(Relay1,HIGH);}

   

  delay(1000);

}

************************************************************

 1. 

https://notify-bot.line.me/my/ 

********************************************************

2.  ดาวน์โหลด library จาก https://github.com/TridentTD/TridentTD_LineNotify

*********************************************************

3. code

**********************************************************

#include <TridentTD_LineNotify.h>

#define SSID        "TP-LINK_E1BB"

#define PASSWORD    "14244186"

#define LINE_TOKEN  "Y68UTsZFNcxEKph1g5ic3bG6PmqUQLOYTeEyztv0p59"

void setup() {

  Serial.begin(115200); Serial.println();

  Serial.println(LINE.getVersion());

  WiFi.begin(SSID, PASSWORD);

  Serial.printf("WiFi connecting to %s\n",  SSID);

  while(WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(400); }

  Serial.printf("\nWiFi connected\nIP : ");

  Serial.println(WiFi.localIP());  

  LINE.setToken(LINE_TOKEN);

}

void loop() {

  delay(5000);

    LINE.notify("สวัสดีชาวโลก");

}

************************************************************

LAB_7.2

****************************

#include <TridentTD_LineNotify.h>

#define SSID        "TP-LINK_E1BB"

#define PASSWORD    "14244186"

#define LINE_TOKEN  "Y68UTsZFNcxEKph1g5ic3bG6PmqUQLOYTeEyztv0p59"

const int buttonPin = D0;

int buttonState;

void setup() {

  Serial.begin(115200); Serial.println();

  Serial.println(LINE.getVersion());

  WiFi.begin(SSID, PASSWORD);

  Serial.printf("WiFi connecting to %s\n",  SSID);

  while(WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(400); }

  Serial.printf("\nWiFi connected\nIP : ");

  Serial.println(WiFi.localIP());  

  LINE.setToken(LINE_TOKEN);

  pinMode(buttonPin, INPUT);

}

void loop() {

  delay(100);

   buttonState = digitalRead(buttonPin);

   if (buttonState == LOW){ LINE.notify("มีคนประตูบ้าน");}

}

******************************************************

lab 3.1

********************************************

#include "DHT.h"

#define DHTPIN     D4     // what digital pin the DHT22 is conected to

#define DHTTYPE DHT22   // there are multiple kinds of DHT sensors

//#define DHTTYPE DHT11   // there are multiple kinds of DHT sensors

DHT dht(DHTPIN, DHTTYPE);

int Relay1  = D2; 

void setup() {

  Serial.begin(9600);

  Serial.println(F("DHTxx test!"));

  dht.begin();

  pinMode(Relay1,OUTPUT);

}

void loop() 

{

     delay(2000);

    float h = dht.readHumidity();

    float t = dht.readTemperature();

    float f = dht.readTemperature(true);

    if (isnan(h) || isnan(t) || isnan(f)) {

      Serial.println("Failed to read from DHT sensor!");

//      timeSinceLastRead = 0;

      return;

    }

    float hif = dht.computeHeatIndex(f, h);

    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity:");

    Serial.print(h);

    Serial.print("%\t");

    Serial.print("Temperature:");

    Serial.print(t);

    Serial.print("*C");

    Serial.print(f);

    Serial.print("*F\t");

    Serial.print("Heat index:");

    Serial.print(hic);

    Serial.print("*C");

    Serial.print(hif);

    Serial.println("*F");

   if(t <= 34)            {Serial.println("Relay2 OFF");  digitalWrite(Relay1,HIGH);}

   if(t >= 35 && t <= 100){Serial.println("Relay2 ON");   digitalWrite(Relay1,LOW);}

 //   timeSinceLastRead = 0;

}

************************************************************

7.3*********************************************

#include <TridentTD_LineNotify.h>

#include "DHT.h"

#define SSID        "TP-LINK_E1BB"

#define PASSWORD    "14244186"

#define LINE_TOKEN  "Y68UTsZFNcxEKph1g5ic3bG6PmqUQLOYTeEyztv0p59"

/*******************************************/

#define DHTPIN     D4     // what digital pin the DHT22 is conected to

#define DHTTYPE DHT22   // there are multiple kinds of DHT sensors

//#define DHTTYPE DHT11   // there are multiple kinds of DHT sensors

DHT dht(DHTPIN, DHTTYPE);

int Relay1  = D2; 

void setup() {

  Serial.begin(9600);

  /************************************/

   Serial.println();

  Serial.println(LINE.getVersion());

  WiFi.begin(SSID, PASSWORD);

  Serial.printf("WiFi connecting to %s\n",  SSID);

  while(WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(400); }

  Serial.printf("\nWiFi connected\nIP : ");

  Serial.println(WiFi.localIP());  

  LINE.setToken(LINE_TOKEN);

  /***************************************/

  Serial.println(F("DHTxx test!"));

  dht.begin();

  pinMode(Relay1,OUTPUT);

}

void loop() 

{

     delay(2000);

    float h = dht.readHumidity();

    float t = dht.readTemperature();

    float f = dht.readTemperature(true);

    if (isnan(h) || isnan(t) || isnan(f)) {

      Serial.println("Failed to read from DHT sensor!");

//      timeSinceLastRead = 0;

      return;

    }

    float hif = dht.computeHeatIndex(f, h);

    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity:");

    Serial.print(h);

    Serial.print("%\t");

    Serial.print("Temperature:");

    Serial.print(t);

    Serial.print("*C");

    Serial.print(f);

    Serial.print("*F\t");

    Serial.print("Heat index:");

    Serial.print(hic);

    Serial.print("*C");

    Serial.print(hif);

    Serial.println("*F");

   if(t <= 34)            {Serial.println("Relay1 OFF");  digitalWrite(Relay1,HIGH);}

   if(t >= 35 && t <= 100){Serial.println("Relay1 ON");   digitalWrite(Relay1,LOW);}

   if(t >= 37 && t <= 100){Serial.println("on fire");    LINE.notify("เกิดเพลิงไหม้");

   delay(2000);

    }

}

*********************************************************