:

Node MCU ESP8266 + Ultrasonic Module HC-SR04 + ส่งแจ้งเตือน ผ่าน Line

KC Admin / November 24, 2022

Node MCU ESP8266 + Ultrasonic Module HC-SR04 + ส่งแจ้งเตือน ผ่าน Line


1. อุปกรณ์ Node MCU ESP8266 และ Ultrasonic Module HC-SR04

วิธีการต่ออุปกรณ์  NodeMCU ESP8266 วัดระยะทางด้วย เซ็นเซอร์วัดระยะทาง Ultrasonic Module  HC-SR04

NodeMCU ESP8266 -> เซ็นเซอร์วัดระยะทาง Ultrasonic Module  HC-SR04
ขาD2 -> Echo
ขาD1 -> Trig
Vin -> Vcc
GND -> GND


2. Arduino Software Download เวอร์ชั่น 1.8.16

3. สร้าง Token Line Notify จาก https://notify-bot.line.me/th/
     ดูวิธีการทำที่นี่
4. ดาวน์โหลด Line Notify Library จาก  https://github.com/TridentTD/TridentTD_LineNotify  หรือ TridentTD_LineNotify-master (mediafire.com)


5. Source Code
#include <TridentTD_LineNotify.h>

#define SSID        "xxxxx"      // ใส่ ชื่อ Wifi ที่จะเชื่อมต่อ
#define PASSWORD    "xxxxxxxx"     // ใส่ รหัส Wifi
#define LINE_TOKEN  "xxxxxxxxxx"   // ใส่ รหัส TOKEN ที่ได้มาจากข้างบน

//เชื่อมต่อ ultrasonic
const int pingPin = D1;
int inPin = D2;

void setup() {
  //ultrasonic
  Serial.begin(9600);
  
  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 Token
  LINE.setToken(LINE_TOKEN);

  

/*
  // ตัวอย่างส่งข้อความ
  LINE.notify("อุณหภูมิ เกินกำหนด");
  LINE.notify("myarduino.net");
  // ตัวอย่างส่งข้อมูล ตัวเลข
  LINE.notify(2342);          // จำนวนเต็ม
  LINE.notify(212.43434, 5);  // จำนวนจริง แสดง 5 หลัก

  // เลือก Line Sticker ได้จาก https://devdocs.line.me/files/sticker_list.pdf
  LINE.notifySticker(3, 240);       // ส่ง Line Sticker ด้วย PackageID 3 , StickerID 240
  LINE.notifySticker("Hello", 1, 2); // ส่ง Line Sticker ด้วย PackageID 1 , StickerID 2  พร้อมข้อความ

  // ตัวอย่างส่ง รูปภาพ ด้วย url
  LINE.notifyPicture("https://preview.ibb.co/j6G51n/capture25610417181915334.png");
  LINE.notifyPicture("จตุธาตุ", "https://www.fotoaparat.cz/storage/pm/09/10/23/670915_a5351.jpg");
  */
}

void loop() {
  //delay(1);

  //ultrasonic
  long duration, cm;
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
  pinMode(inPin, INPUT);
  duration = pulseIn(inPin, HIGH);
  cm = microsecondsToCentimeters(duration);
  if (cm <=5){
  LINE.notify("น้ำท่วมแว้วววววววววว");
  }
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(1000);
  }
  long microsecondsToCentimeters(long microseconds)
  {
  // ความเร็วเสียงในอากาศประมาณ 340 เมตร/วินาที หรือ 29 ไมโครวินาที/เซนติเมตร
  //  ระยะทางที่ส่งเสียงออกไปจนเสียงสะท้อนกลับมาสามารถใช้หาระยะทางของวัตถุได้
  // เวลาที่ใช้คือ ระยะทางไปกลับ ดังนั้นระยะทางคือ ครึ่งหนึ่งของที่วัดได้
  return microseconds / 29 / 2;
}

อ้างอิง: 

https://www.cybertice.com/article/187/สอนใช้งาน-nodemcu-esp8266-วัดระ
ยะทางด้วย-เซ็นเซอร์วัดระยะทาง-ultrasonic-module-hc-sr04

https://www.ab.in.th/article/6/nodemcu-esp8266-กับการส่งการแจ้งเตือนเข้า-line-ส่งข้อความ-ภาพ-และสติกเกอร์

https://www.cybertice.com/article/124/สอนใช้งาน-nodemcu-esp8266-ส่งข้อความ-สติ๊กเกอร์-รูปภาพ-แจ้งเตือนผ่าน-line-notify