Tutorial Sensor Pir dan ESP8266 : Mengirim Notifikasi ke Telegram Saat Ada Gerakan

www.tutorialiot.com

Apa itu Sensor PIR?

Sensor PIR adalah sebuah sensor yang dapat mendeteksi adanya gerakan dengan menerima pancaran sinar infra merah dari benda yang ada di depannya, jadi perlu diperhatikan ya temen-temen, sensor ini tidak mengeluarkan sinar infra merah melainkan hanya menerima pancaran sinar infra merah saja.

Datasheet sensor PIR bisa temen-temen (Download disini), perhatikan juga gambar di bawah ini supaya lebih mengerti beberapa bagian yang ada di sensor PIR




Tutorial Mengirim Notifikasi Sensor PIR ke Telegram 

Sensor PIR dan ESP8266 ketika disatukan bisa menghasilkan sebuah alat yang dapat memberikan pengamanan pada rumah kita, kantor kita, dll, kebayang nggak? hehehe. Saat ini temen-temen bisa langsung mempraktekannya, jangan lupa untuk menyiapkan bahan-bahannya seperti :

1. NodeMCU (ESP8266)
2. Sensor PIR

Rangkaian Sensor PIR dengan NodeMCU 

Perhatikan gambar di bawah ini dan rangkai bahan-bahan yang sudah disebutkan diatas dengan baik dan benar.



Kode Program Sensor PIR dengan NodeMCU

Temen-temen bisa mendownload kode programnya (Disini), tapi sebelumnya temen-temen harus memiliki library Telegrambot bisa di (Download disini), seteah semuanya lengkap, baru temen-temen bisa memakai file hasil download atau mengcopy kode program di bawah ini.

//Inisialisasi Telegram Bot dan WiFI
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
char ssid[] = "Nama WiFi temen2";     
char password[] = "password wifi temen2"; 
// Initialize Telegram BOT
#define BOTtoken "Masukkan Bot Token milik temen2"  
#define chat_id "ID Bot Telegram temen2"
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

//Inisialisasi sensor PIR
#define PIR_MOTION_SENSOR D2
#define LED  D4

void connectwifi(){
  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);

  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void setup(){
  Serial.begin(115200);
  pinMode(PIR_MOTION_SENSOR, INPUT);
  pinMode(LED,OUTPUT);
  pinMode(button1, INPUT);
  connectwifi();
}

void loop() {
  //Pir Setting 
  if(isPeopleDetected())
    turnOnLED();    
  else
    turnOffLED();
}

void turnOnLED(){
  digitalWrite(LED,HIGH);
  Serial.println("Gerakan Terdeteksi");
  bot.sendChatAction(chat_id, "Sedang Mengetik");
  Serial.println("Mengidentifikasi Adanya Gerakan");
  bot.sendMessage(chat_id, "Gerakan Terdeteksi", "");   
}

void turnOffLED(){
  digitalWrite(LED,LOW);
  Serial.println("Tidak ada Gerakan Terdeteksi");
  bot.sendChatAction(chat_id, "Sedang Mengetik");
  Serial.println("Mengidentifikasi Sensor");
  bot.sendMessage(chat_id, "Tidak ada Gerakan Terdeteksi", "");  
}

boolean isPeopleDetected(){
  int sensorValue = digitalRead(PIR_MOTION_SENSOR);
  if(sensorValue == HIGH)
  {
    return true;
  }
  else
  {
    return false;
  }
}

Terimakasih sudah membaca tutorial dari Tutorial IoT, jika kakak mendapatkan ilmu dan pengalaman baru jangan lupa untuk share ke temen-temen kakak ya biar bisa menjadi ilmu yang berkah. semoga kakak sukses selalu dan dilancarkan segala urusannya Aaaamiiin.

Post a Comment

7 Comments

  1. Min, gimana caranya agar sistem mengirim pesan hanya saat diaktifkan via perintah, misalnya "/PIR_ON". Jika diberi perintah via telegram "/PIR_OFF" sistem tidak mengirimkan pesan.

    ReplyDelete
  2. Kalau ditambah magnetic switch programnya seperti apa ya mas?

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. saya coba di wemos D1 R1 kenapa sensornya terus2an bilang motion detect, pdhl udh ndk ada motion

    ReplyDelete
  5. gan gimana cara mengetahui id bot telegram nya

    ReplyDelete