Cara Menggunakan Sensor Ultrasonik pada NodeMCU

Sensor ultrasonik merupakan sensor yang berfungsi untuk mendeteksi suatu benda dengan jarak tertentu sesuai dengan jenis sensornya. Nah pada kesempatan kali ini, saya akan membahas cara menggunakan sensor ultrasonik pada NodeMCU. Sensor ultrasonik yang digunakan adalah HC-SR04 dengan jarak yang dapat untuk mendeteksi benda 2 cm - 4 m dan akurasi 3 mm. Sensor ini memiliki pin Trigger, dimana pin ini berfungsi sebagai pengirim sinyal dan pin Echo yang berfungsi sebagai penerima sinyal yang didapat dari pantulan benda. Lalu bagaimana cara menerapkannya pada NodeMCU? simak terus ya teman-teman.

Pada sensor ini akan dibahas dengan 3 pembahasan :
  1. Menampilkan pada Serial Monitor
  2. Menampilkan pada LCD I2C
  3. Menampilkan pada Aplikasi Blynk.
Yang dibutuhkan pada project ini adalah sebagai berikut :
Software : Arduino IDE

Hardware :
  1. NodeMCU Lolin v3/Amica juga boleh
  2. Sensor Ultrasonik HC-SR04
  3. Kabel Jumper.
Rangkaian :
Nodemcu

Download part NodeMCU, fritzing.

Keterangan :

Sensor Ultrasonik HC-SR04
- Pin Trigger dihubungkan ke pin D3 NodeMCU
Pin Echo dihubungkan ke pin D4 NodeMCU
- VCC dihubungkan ke VU NodeMCU
GND dihubungkan ke GND NodeMCU

Langkah-langkah :
Menampilkan pada Serial Monitor
  1. Rangkai komponen hardware seperti petunjuk di atas
  2. Buka Arduino IDE, masuk ke Tools > pastikan Board : NodeMCU 1.0 (ESP-12E Module) dan Port terceklis, misalnya COM20
  3. Upload sketch berikut ini :
    #define triggerPin  D3
    #define echoPin D4

    void setup() {
    Serial.begin (9600);
    pinMode(triggerPin, OUTPUT);
    pinMode(echoPin, INPUT);
    pinMode(BUILTIN_LED, OUTPUT);
    }

    void loop() {
    long duration, jarak;
    digitalWrite(triggerPin, LOW);
    delayMicroseconds(2);
    digitalWrite(triggerPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(triggerPin, LOW);
    duration = pulseIn(echoPin, HIGH);
    jarak = (duration/2) / 29.1;
    Serial.print(jarak);
    Serial.println(" cm");
    delay(1000);
    }
  4. Jika berhasil diupload, silahkan buka Serial Monitor dengan baudrate 9600.
  5. Kemudian coba tempatkan benda di depan sensor ultrasonik, maka akan tampil hasil jaraknya.
  6. Selesai.
Menampilkan pada LCD I2C

Tambahkan komponen LCD I2C 16x2 pada rangkaian sebelumnya dengan konfigurasi pin :
- pin SDA dihubungkan ke pin D2 NodeMCU
- pin SCL dihubungkan ke pin D1 NodeMCU
- VCC dihubungkan ke VU NodeMCU
- GND dihubungkan ke GND NodeMCU

Perhatikan gambar rangkaian di bawah ini :


Langkah-langkah :
  1. Masukkan library LCD I2C pada Arduino IDE, silahkan download library
  2. Upload sketch di bawah ini :
    #include <Wire.h> 
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27, 16, 2); //atau 0x3F

    #define triggerPin D3
    #define echoPin D4

    void setup() {
    lcd.begin();
    pinMode(triggerPin, OUTPUT);
    pinMode(echoPin, INPUT);
    pinMode(BUILTIN_LED, OUTPUT);
    }

    void loop() {
    lcd.clear();
    long duration, jarak;
    digitalWrite(triggerPin, LOW);
    delayMicroseconds(2);
    digitalWrite(triggerPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(triggerPin, LOW);
    duration = pulseIn(echoPin, HIGH);
    jarak = (duration/2) / 29.1;
    lcd.setCursor(0,0);
    lcd.print("Jarak : ");
    lcd.print(jarak);
    lcd.print(" cm");
    delay(1000);
    }
Silahkan uji coba sensor seperti percobaan pada serial monitor.

Menampilkan pada Aplikasi Blynk

Yang diperlukan :
  1. Library Blynk, download
  2. Aplikasi Blynk, download di playstore
Untuk rangkaian sama seperti pada rangkaian menampilkan pada Serial Monitor
Langkah-langkah :
  1. Instal aplikasi Blynk yang sudah didownload.
  2. Login atau Create new account > buat project baru New Project > misalnya Sensor Ultrasonik > device ESP8266 > Create
  3. Anda akan mendapatkan token yang akan dikirimkan ke email > cek email > copy token dan pastekan ke sketch arduino berikut ini :
    #define BLYNK_PRINT Serial

    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    #define triggerPin D3
    #define echoPin D4

    char auth[] = "masukkan token dari email";
    char ssid[] = "masukkan nama wifi";
    char pass[] = "masukkan password wifi";

    WidgetLCD lcd(V5);

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

    lcd.clear();
    lcd.print(0, 0, "Jarak cm");
    }

    void loop() {
    lcd.clear();
    lcd.print(0, 0, "Jarak cm");
    long duration, jarak;
    digitalWrite(triggerPin, LOW);
    delayMicroseconds(3);

    digitalWrite(triggerPin, HIGH);
    delayMicroseconds(12);

    digitalWrite(triggerPin, LOW);
    duration = pulseIn(echoPin, HIGH);
    jarak = (duration / 2) / 29.1;
    Serial.print(jarak);
    Serial.println("Cm");
    lcd.print(7, 1, jarak);
    Blynk.run();
    delay(3500);
    }
  4. Masukkan juga wifi dan passwordnya kemudian upload sketchnya
  5. Tambahkan widget LCD pada aplikasi Blynk > kemudian setting LCD ke ADVANCED
  6. Ubah Output ke Virtual 5 (V5)
  7. Klik icon play > amati apakah data sensor sudah bisa ditampilkan pada aplikasi Blynk
  8. Selesai.
Teman-teman juga bisa melihat cara pembuatan aplikasi Blynk di sini.

Mudah kan teman-teman? Jika mendapati kesulitan, silahkan tinggalkan komentarnya ya.
Jika hasil sensor adalah 0 cm, solusinya adalah dengan menambahkan catu daya eksternal. Baca solusinya berikut ini :

Solusi NodeMCU tidak mempunyai Output 5V


Terima kasih sudah berkunjung. Salam.

0 Response to "Cara Menggunakan Sensor Ultrasonik pada NodeMCU"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel