Membuat alat Monitoring Jarak dengan ESP8266 dan Blynk

Membuat alat Monitoring Jarak dengan ESP8266 dan Blynk

Proyek ini menggunakan ESP8266 dan sensor ultrasonik untuk mengukur jarak objek. Data jarak yang diperoleh akan dikirim ke aplikasi Blynk untuk pemantauan jarak secara real-time. Jika jarak objek kurang dari 10 cm, buzzer dan LED akan menyala sebagai tanda peringatan.

Alat yang Digunakan :
– ESP8266
– Sensor Ultrasonik (HC-SR04)
– Buzzer
– LED
– Kabel Jumper


Wiring :
Sensor Ultrasonik (HC-SR04)
VCC → 5V (ESP8266)
GND → GND (ESP8266)
TRIG → D6 (GPIO 12)
ECHO → D5 (GPIO 14)
Buzzer:
Positif (panjang) → D3
Negatif (pendek) → GND
LED:
Anoda (panjang) → D1 (GPIO 5) melalui resistor 220 Ohm
Katoda (pendek) → GND

Set Up Blynk.cloud:

/*
  Blynk example
  You should get Auth Token in the Blynk App.
  You need to write the right wifiCredentials.
*/

/* Comment this out to disable prints and save space */
#define BLYNK_TEMPLATE_ID "TMPL6w-8ZaLet"
#define BLYNK_TEMPLATE_NAME "Jarak"
#define BLYNK_AUTH_TOKEN "zZeCC0Q44S8EpFIxkqVs0Gq5hzvIvxWQ"

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

int trig_sensor_jarak = 12; // Trigger pin
int echo_sensor_jarak = 14; // Echo pin
int buzzer_pin = 2; // Pin untuk buzzer
int led_pin = 5; // Pin untuk LED

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "zZeCC0Q44S8EpFIxkqVs0Gq5hzvIvxWQ";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Lab Robotika"; //nama hotspot yang digunakan
char pass[] = "lab_robotika"; //password hotspot yang digunakan

BlynkTimer timer;

void setup()
{
  // Debug console
  Serial.begin(9600);
  pinMode(trig_sensor_jarak, OUTPUT);
  pinMode(echo_sensor_jarak, INPUT);
  pinMode(buzzer_pin, OUTPUT); // Set buzzer pin as output
  pinMode(led_pin, OUTPUT); // Set LED pin as output

  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  timer.setInterval(1000L, sendSensor); // Send data every second
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
  Blynk.run();
  timer.run();
}

void sendSensor() {
    long duration, distance;
    
    // Clear the trigPin condition
    digitalWrite(trig_sensor_jarak, LOW);
    delayMicroseconds(2);
    
    // Trigger the sensor
    digitalWrite(trig_sensor_jarak, HIGH);
    delayMicroseconds(10);
    digitalWrite(trig_sensor_jarak, LOW);
    
    // Read the echoPin, returns the sound wave travel time in microseconds
    duration = pulseIn(echo_sensor_jarak, HIGH);
    
    // Calculate the distance (in cm)
    distance = duration * 0.034 / 2;
    
    // Print distance to Serial Monitor
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println(" cm");
    
    // Send distance data to Blynk
    Blynk.virtualWrite(V14, distance); // Use V0 for a display widget in your Blynk app

    // Check if distance is less than 10 cm
     if (distance < 10) {
        digitalWrite(buzzer_pin, HIGH); // Turn on buzzer
        digitalWrite(led_pin, HIGH);    // Turn on LED
        Blynk.logEvent("notif_sensor");
    } else {
        digitalWrite(buzzer_pin, LOW); // Turn off buzzer
        digitalWrite(led_pin, LOW);    // Turn off LED
    }
} 

Penulisan code pada Arduino IDE :

Hasil:

Selamat Mencoba !!

Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP