สอนแสดงค่าความชื้นในดินในแอพ Blynk

บทความนี้จะสอนใช้งานบอร์ด ESP 8266 เชื่อมต่อกับโมดูลเซ็นเซอร์ วัดความชื้นในดิน (Soil Moisture Sensor Module) ในแสดงค่าความชื้นในดินผ่านแอพ Blynk และจะใช้เครื่องมือ Slider ในการกำหนดค่าความชื้นในดิน หากความชื้นในดินน้อยกว่าค่าที่หนดจะสั่งให้ LED ติด จะมีวิธีการทำอย่างไรกันนั้น ไปดูกันเลยครับ

Soil Moisture Sensor Module

เป็นเซ็นเซอร์เพื่อการวัดความชื่นในดิน โดยการวัดค่าความต้านทานระหว่างอิเล็กโทรดที่ชุบโลหะอย่างดีเพื่อป้องกันการเกิดออกซิเดชั่น เพิ่มอายุการใช้งานและลดการสึกหรอเนื่องจากความชื้น การอ่านค่าขาอนาล็อก A0 จากเซนเซอร์ค่าที่อ่านได้จะเป็น 1023 คือไม่ความความชื้นเลย และถ้ามีความชื้นค่าก็จะลดลง ทั้งนี้ตัวโมดูลยังมีขาดิจิตอล D0 ให้เราเลือกใช้งานได้อีกตัว เพื่อแค่เราปรับ VR บนโมดูลเพื่อตั้งระดับความชื้น เมื่อความชื้นในดินเกินที่เราตั้งไว้ขาดิจิตอลจะส่งสัญญาณ HIGH ออกมาที่ขาดิจิตอล  จึงเหมาะสมกับการใช้งานเพื่อการทำระบบรดน้ำอัตโนมัติ

Specification

  • Power supply: 3.3v or 5v
  • Output voltage signal: 0~4.2v
  • Current: 35mA
  • Pin definition:
    • Analog output(Blue wire)
    • GND(Black wire)
    • Power(Red wire)
  • Size: 60x20x5mm
  • Surface finish:Immersion Gold

การต่อวงจร

Soil Moisture Sensor ⇒  ESP 8266

A 0          →        A0

Vcc          →        Vin

GND       →        GND

LED      ⇒  ESP 8266

ขา +        →        D2

ขา –         →        GND

การติดตั้งโปรแกรม Arduino IDE  →  คลิก

สอนการใช้งาน NodeMCU ESP8266 กับโปรแกรม Arduino IDE  →  คลิก

หมายเหตุ หากใครยังไม่ได้ลงบอร์ด NodeMCU ESP8266 กับโปรแกรม Arduino IDE ให้ดูหัวข้อเรื่องนี้นะครับ

โหลดLibrary

Blynk   →   https://github.com/blynkkk/blynk-library.git

สอนการติดตั้ง Library สำหรับโปรแกรม Arduino IDE  →  คลิก

ดาวโหลดแอพ Blynk  → คลิก

ตัวอย่างโค้ด

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#define LED1 D2 // เสียบPin D2

char auth[] = “xxxxxxxxxxxxxxxxxxxxxxxxxx”; //Auth Token ที่ได้จากเมลล์
char ssid[] = “xxxxxxxxxxxxxx”; //ใส่ชื่อไวไฟ
char pass[] = “xxxxxxxxxxxxxx”; // ใส่พาสเวิดไวไฟ

int soil = 0;
int SoilSensor = A0; // เสียบPin A0
float Soil_auto = 0;

void setup() {
Serial.begin (9600);
pinMode(LED1, OUTPUT);
Blynk.begin(auth, ssid, pass);

}

BLYNK_WRITE(V1)
{
Soil_auto = param.asInt(); //กำหนดค่าความชื้นในดินจากBlynk
}

void loop(){
Blynk.run();
soil = analogRead(SoilSensor);
float LevelSoil = (soil * (100.0 / 1024.0))-100;
float LevelSoil1 = LevelSoil*(-1);
Serial.print(“soil = “);
Serial.println(LevelSoil1);
Blynk.virtualWrite(V2, LevelSoil1);

if (LevelSoil1 < Soil_auto ) {
digitalWrite(LED1, HIGH); //หากความชื้นในดินน้อยกว่าค่าที่ตั้งไว้ LED1 ทำงาน

}
else {
digitalWrite(LED1, LOW);

}

}

ดาวโหลดโค้ด  → คลิก

ขั้นตอนการใช้งานแอพ Blynk

1. เมื่อเข้าแอพ Blynk  และทำการ Login เข้ามาเรียบร้อยแล้ว ให้กด New Project จากนั้นทำตามขั้นตอน ดังรูป

2. แอพจะส่ง Token ไปยังอีเมลล์ของเรา หลังจากนั้นกด OK  หมายเหตุ “เดี๋ยวเราจะนำ Token นี้ไปใส่ในโค้ด Arduino IDE ของเรา เดี๋ยวผมจะสอนในขั้นตอนท้าย ๆ ครับ”

3. กดตรงเครื่องหมาย บวก ดังรูป 

4. จะเจอหน้าต่างแถบเครื่องมือต่าง ๆ มากมาย ในที่นี้เราจะเลือกเครื่องมือ “Gauge” ดังรูป

5. คลิกเพิ่มเครื่องมืออีกครั้ง และเลือกเป็น “Slider” ดังรูป

6. คลิกที่ตัว Gauge  หนึ่งครั้ง จะเจอหน้าต่างให้เซ็ทค่าตาม ดังรูป

7. คลิกที่ตัว Slider  หนึ่งครั้ง จะเจอหน้าต่างให้เซ็ทค่าตาม ดังรูป

8. เมื่อเซ็ทค่าครบทุกอันแล้วเราจะได้หน้าตาแอพ ดังรูป

9. คลิกที่ “สามเหลี่ยม” มุมขวาบนไว้รอเชื่อมต่อกับบอร์ดจะได้ ดังรูป

ขั้นตอนในโปรแกรม Arduino IDE

1. ไปที่อีเมลของเรา หาเมลที่ชื่อ Blynk จะเห็น Token ที่ได้มา ดังรูป และทำการคัดลอกไว้

2. ดาวน์โหลดโค้ดที่ผมอัพไว้ให้เมื่อข้างต้น และเปิดไฟล์ขึ้นมา นำ Token ที่ได้ไปวาง ดังรูป และใส่ชื่อ ไวไฟ และรหัสให้เรียบร้อย

3. หลังจากนั้นให้เข้าไปเมนู Tools → Board : “xxxxxxx” → ESP8266 Board (3.0.2) → เลือกรุ่นของบอร์ด

4. ไปที่เมนู Tools อีกครั้ง เลือก Port ที่ NodeMCU ESP8266 เชื่อมต่ออยู่ ในที่นี้เป็น COM8

5. กดอัปโหลดโปรแกรมลงบอร์ด รอจนเสร็จ

เมื่ออัพโหลดโค้ดลงบอร์ดเรียบร้อยแล้ว ทำการทดสอบจะได้ผล ดังรูป

Banner Content

0 Comments

Leave a Comment

RECENT POSTS