// membuat progam sensor ultrasonik di tambah led dan buzzer
// Penjelasan:
// Sensor Ultrasonic memiliki 2 sensor kiri dan kanan, seperti yang kiri itu adalah Transmitter (pengirim sinyal suara) sebutannya adalah Trigger,
// (*lanjutan kalimat di atas) dan yang kanan itu adalah Receiver (penerima sinyal suara) sebutannya adalah Echo.
#define echoPin 3
#define trigPin 2
//Catatan:
// 1.Pasang pin VCC HC-SR04 ke pin 5V Arduino
// 2.Pasang pin Trig HC-SR04 ke pin 11 Arduino
// 3.Pasang pin Echo HC-SR04 ke pin 12 Arduino
// 4.Pasang pin GND HC-SR04 ke pin GND Arduino
// 5.pasang pin LED (led1:C) ke pin GND Arduino
// 6.pasang pin LED (led1:A) ke pin 4 atau bebas
// 7.pasang pin buzzer (bz1:1) ke pin GND Arduino
// 8.pasang pin buzzer (bz1:2) ke pin 5 atau bebas
void setup() {
// put your setup code here, to run once:
// Mengatur mode pin
pinMode(trigPin, OUTPUT); // Pin trigger sebagai output
pinMode(echoPin, INPUT); // Pin echo sebagai input
pinMode(4, OUTPUT); //pin pada led
pinMode(5, OUTPUT); //pin pada buzzer
// Inisialisasi komunikasi serial
Serial.begin(9600); // Kecepatan 9600 baud
}
void loop() {
// put your main code here, to run repeatedly:
// Mengirimkan sinyal ultrasonic untuk mengukur jarak
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menghitung durasi pulsa ultrasonic yang diterima
int durasiPantulan = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan durasi
float jarak = durasiPantulan * 0.034 / 2; // Rumus: jarak = (durasi * kecepatan suara) / 2
float jarakM = jarak / 100; //rumus jarak ubahan dari cm ke m
// Untuk menampilkan jarak di Serial Monitor
Serial.print("jarak : ");
Serial.print(jarak);
Serial.print("cm ");
Serial.print(jarakM);
Serial.println("m");
if (jarak >= 200){
digitalWrite(4, HIGH); // high untuk menyalakan led
tone(5, 200); //untuk menyalakan / mengeluarkan suara dari buzzer
} else {
digitalWrite(4, LOW); // low untuk mematikan led
noTone(5); //untuk mematikan buzzer
}
// Delay sebelum melakukan pengukuran berikutnya
delay(1000); // Delay 1 detik
}