NODEMCU ESP8266 + ULTRASONIC HC-SRO4
Sementara itu, sensor ultrasonik HC-SR04 adalah sensor jarak yang bekerja dengan memancarkan gelombang ultrasonik dan mendeteksi waktu yang diperlukan untuk gelombang tersebut memantul kembali ke sensor setelah memantul dari objek di depannya. Sensor ini biasanya digunakan untuk mendeteksi jarak antara kendaraan atau robot dengan objek atau dinding di sekitarnya.
Berikut Tutorialnya:ALAT DAN BAHAN1. HC-SR042. NodeMCU V3SCHEMATIC RANGKAIANHubungkan Ultrasonic anda dengan NodeMCU seperti berikut:
- pin vcc ultrasonic →pin 3V NodeMCU
- pin gnd ultrasonic →pin GND NodeMCU
- pin trig ultrasonic →pin D4 NodeMCU
- pin echo ultrasonic →pin D3 NodeMCU
CODING ARDUINO
const int trigPin = 2; //D4
const int echoPin = 0; //D3
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Pastikan pinTrig Mati selama 2us
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Aktifkan trigger pin selama 10us
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// baca pin echo
duration = pulseIn(echoPin, HIGH);
// masukkan rumus jarak dari ultrasonic
distance= duration*0.034/2;
// tampilkan jarak
Serial.print("Distance: ");
Serial.println(distance);
delay(1000);
}
Penjelasan Koding
const int trigPin = 2; //D4Deklarasi kan pin trigger dan pin echo yaitu 2 dan 0,pada nodemcu tertera no pin seperti D4 D3 D0 dan seterusnya,
const int echoPin = 0; //D3 2 dan 0 pada trigPin dan echoPin adalah no pin GPIO pada nodeMCU bukan no pin yang anda lihat pada board nodemcu,
untuk melihat no GPIO nodemcu anda dapat melihatnnya di internet.(D4 = 2) dan (D3 = 0)
long duration;
int distance; //Deklarasi varibael duration dan distance dengan tipe masing-masing yaitu long dan int.
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); //men-set pin trigger(trigPin) sebagai OUTPUT dan pin echo (echoPin) sebagai INPUT
digitalWrite(trigPin, LOW);
delayMicroseconds(2); //Pastikan pin trigger anda tidak aktif selama 2us
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Aktifkan pin trigger selama 10us
duration = pulseIn(echoPin, HIGH); //Membaca panjang durasi gelombang pantul ultrasonic dari pin echo
distance= duration*0.034/2; //rumus mencari jarak menggunakan durasi gelombang pantul ultrasonic
Serial.print("Distance: ");
Serial.println(distance); //Menampilkan jarak