//Sensor Ultrasonik dari instruktur
#define ECHO_PIN 2 //deklarasi pin echo di sensor ultrasonik
#define TRIG_PIN 15 //deklarasi pin trigger
void setup() {
Serial.begin(115200); //insialisasi serial monitor dan baudrate
pinMode(TRIG_PIN, OUTPUT); //inisialisasi pin trigger sebagai pin output
pinMode(ECHO_PIN, INPUT); //inisialisasi pin echo sebagai pin input
}
float readDistanceCM() { //fungsi pembacaan sensor ultrasonik
digitalWrite(TRIG_PIN, LOW); //perintah agar transmitter tidak memancarkan gelombang ultrasonik
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); //perintah agar transmitter memancarkan gelombang ultrasoniknya
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW); //perintah agar transmitter memutus pancaran gelombang ultrasoniknya
int duration = pulseIn(ECHO_PIN, HIGH); //perintah untuk membaca durasi pantulan gelombang ultrasonik yang diterima oleh receiver dan disimpan ke dalam variabel duration
return duration * 0.034 / 2; //perintah konversi durasi pantulan menjadi nilai jarak dalam CM kemudian disimpan ke dalam fung readDistanceCM
}
void loop() {
/*digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);*/
float distance = readDistanceCM(); //perintah menyimpan nilai pembacaan ultrasonik ke dalam variabel distance
Serial.print("Jarak: "); //perintah untuk menampilkan karakter jarak ke serial monitor
Serial.println(distance); //perintah untuk menampilkan nilai dari variabel distance ke serial monitor
delay(100);
}