Loading...
OUR BLOG

Pengesan halangan menggunakan Ultrasonic Sensor dengan Telegram Bot dan NodeMCU ESP8266

Hi BDX-ian!

 

Dalam tutorial sebelum ini, kita telah belajar macam mana cara nak menggunakan Kawal LED menggunakan Telegram Bot dan NodeMCU ESP8266. Jadi untuk blog tutorial kali ini kita akan belajar macam mana nak membuat pengesan halangan menggunakan buzzer dan ultrasonic sensor dengan Telegram Bot dan NodeMCU ESP8266. User akan mendapat notifikasi amaran halangan daripada Telegram Bot dan buzzer akan berbunyi apabila ada halangan dihadapan ultrasonic sensor.

Sebelum memulakan projek menggunakan Telegram Bot, anda hendaklah mengikut semua langkah yang terdapat di Kawal LED menggunakan Telegram Bot dan NodeMCU ESP8266.

 

Dapatkan Chat ID

 

Langkah ini adalah untuk mendapatkan chat id akaun telegram anda.

 

Buat carian "IDBot” dan klik seperti yang ditunjukkan di bawah.

 

 

Tekan /getid

 

 

Kemudian, copy dan paste id anda ke dalam code CHAT_ID

 

 

Komponen yang diperlukan

 

Litar

 

Ultrasonic sensor

 

Piezo buzzer

 

Code

#include <ESP8266WiFi.h>

#include <WiFiClientSecure.h>

#include <UniversalTelegramBot.h>

 

#define triggerPin D7

#define echoPin D8

 

#define WIFI_SSID "Nama wifi anda"

#define WIFI_PASSWORD "Password wifi anda"

#define BOT_TOKEN "Bot Token (Dapat melalui BotFather"

#define CHAT_ID "Chat ID (Dapat melalui IDBot)"

const unsigned long BOT_MTBS = 1000;

 

X509List cert(TELEGRAM_CERTIFICATE_ROOT);

WiFiClientSecure secured_client;

UniversalTelegramBot bot(BOT_TOKEN, secured_client);

unsigned long bot_lasttime;

 

int distance;

long duration;

String distance_1;

 

void setup() {

  Serial.begin(115200);

  configTime(0, 0, "pool.ntp.org");

  secured_client.setTrustAnchors(&cert);

  Serial.println();

 

  pinMode(triggerPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(D5, OUTPUT);

 

  Serial.print("Connecting to Wifi SSID "); 

  Serial.print(WIFI_SSID);

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 

  while (WiFi.status() != WL_CONNECTED) 

  {

    Serial.print(".");

    delay(500);

  }

  Serial.print("\nWiFi connected. IP address: ");

  Serial.println(WiFi.localIP());

 

  bot.sendMessage(CHAT_ID, "Bot started up", "");

}

 

void loop(){

 

  digitalWrite(triggerPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(triggerPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = (duration/2)/29.1;

  distance_1 = String (distance);

 

  if(distance >=0 && distance <=15){

    

    Serial.print(distance);

    Serial.println("  cm HALANGAN DIHADAPAN");

    tone(D5,250);

    delay(50);

    

    String text = "AMARAN " + distance_1 + "cm\n";

    bot.sendMessage(CHAT_ID, text, "Markdown");

    }

 

    else {

    Serial.print(distance);

    Serial.println("  cm");

    noTone(D5);

    delay(100);

    bot.sendMessage(CHAT_ID, "");

 

    }

    

    if (millis() - bot_lasttime > BOT_MTBS)

    {    

      bot_lasttime = millis();      

      }    

 

 

Peringatan

Masukkan wifi, password wifi, bot token dan chat id ke dalam code.

#define WIFI_SSID "Nama wifi anda"

#define WIFI_PASSWORD "Password wifi anda"

#define BOT_TOKEN "Bot Token (Dapat melalui BotFather"

#define CHAT_ID "Chat ID (Dapat melalui IDBot)"

 

Output 

 

Setelah upload code, Bot akan menghantar Bot started up.

 

Apabila terdapat halangan antara 0 hingga 15cm daripada sensor

 

 

 

 

 

 

 

 

 

Apabila halangan berada melebihi 15 cm.

 

 

 

 

 

Jika anda suka dengan perkongsian tutorial dalam blog kami ni, jangan lupa untuk follow Facebook dan Instagram kami, kat situ ada bermacam info dan update terkini yang akan kami kongsikan kepada anda. Itu sahaja untuk tutorial kami. Stay update dan selamat mencuba!

 

Unsure Whether You Need Our Help?

Have you got an awesome new idea or project that you want to talk about? We're here to talk you through it. Flick us an email or give us a call to get started.