HC-SR04
Sensor ultrasonik HC-SR04 menggunakan sonar untuk menentukan jarak ke objek seperti
yang dilakukan kelelawar. Sensor ini menawarkan proses pendeteksian non-kontak yang
sangat baik dengan akurasi tinggi dan pembacaan yang stabil dalam bentuk modul yang
mudah digunakan. Sensor ini mampu membaca jarak dari 2 cm sampai 400 cm atau 1” sampai
13 kaki. Modul sensor ini dilengkapi dengan modul pemancar dan penerima ultrasonik.
Bekerja dengan berbagai model sensor ultrasonik: SR04, SRF05, SRF06, DYP-ME007 &
Parallax PING))) ™.
Opsi untuk berinteraksi dengan semua sensor kecuali sensor SRF06 hanya
menggunakan satu pin Arduino.
Tidak ketinggalan selama satu detik penuh jika tidak ada ping gema diterima seperti
semua library ultrasonik lainnya.
Kompatibel dengan seluruh line-up Arduino (dan klon), keluarga Teensy (termasuk $
19,80 96Mhz 32 bit Teensy 3.2) dan mikrokontroler non-AVR.
Sensor Ping konsisten dan andal hingga 30 kali per detik.
Metode timer interupt.
Built-in digital filter method ping_median() untuk koreksi kesalahan yang mudah.
Menggunakan register port ketika mengakses pin untuk eksekusi yang lebih cepat dan
ukuran kode yang lebih kecil.
Mengizinkan pengaturan jarak maksimum ketika pembacaan ping di luar jarak.
Kemudahan menggunakan beberapa sensor (misalnya rangkaian dengan 15 sensor).
Penghitungan jarak yang lebih akurat (cm, inci).
Tidak menggunakan pulsaIn yang lambat dan memberikan hasil yang salah dengan
beberapa model sensor ultrasonik.
Dikembangkan secara aktif dengan fitur yang ditambahkan dan bug / masalah
ditangani.
Gambar 3. Rangkaian Sensor Ultrasonik HC-SR04 dengan Arduino serial dan LCD
Langkah Kerja
1. Buatlah rangkaian simulasi seperti pada gambar 2 dan gambar 3 menggunakan
software Proteus
2. Simpan file tersebut sesuai nama gambar
3. Buka Aplikasi Arduino IDE dan masukkan library NewPing seperti pada penjelasan
sebelumnya
4. Buatlah program pembacaan sensor ultrasonik seperti pada listing program di bawah
5. Lakukan compile pada program yang telah di buat dan pastikan tidak ada yang error
6. Upload program tersebut kedalam Arduino melalui simulasi rangkaian elektronika.
7. Lakukan perubahan nilai pembacaan sensor ultrasonik pada simulasi proteus untuk
mendapatkan nilai yang dinamis pada serial monitor.
Kode Program:
int TrigPin = 9;
int EchoPin = 12:
long duration, cm, inches;
void setup() {
//Serial Port begin
Serial.Begin (9600);
//Define inputs and outputs
pinMode(Trigpin, OUTPUT);
pinMode(Echopin, INPUT);
}
void loop()
{
// The sensor is triggered by a HIGH pulse of 10 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(100);
digitalWrite(trigPin, LOW);
// Read the signal from the sensor: a HIGH pulse whose
// duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
// convert the time into a distance
Cm = (duration/2) / 29.1;
inches = (duration/2) / 74;
Serial.print(inches);
Serial.print(‘in, ‘);
Serial.print(Cm);
Serial.print(cm’);
Serial.print();
delay(250);
}
Kode Program menggunakan library NewPing:
#include <NewPing.h>
#define TRIGGER_PIN 9
#define ECHO_PIN 12
#define MAX_DISTANCE 200
// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(5400);
}
void loop() {
delay(50);
unsigned int Sensor = sonar.ping_cm();
Serial.Print(Sensor);
Serial.Println(‘‘cm’’ );
}
****Selamat Bekerja****