class HCSR04 {
private:
byte _triggerPin;
byte _echoPin;
long _duration;
int _distance;
public:
HCSR04(byte triggerPin, byte echoPin){
_triggerPin = triggerPin;
_echoPin = echoPin;
}
void mulai(){
pinMode(_triggerPin, OUTPUT);
pinMode(_echoPin, INPUT);
}
int bacaJarak(){
digitalWrite(_triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(_triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(_triggerPin, LOW);
_duration = pulseIn(_echoPin, HIGH);
_distance = _duration / 58;
return _distance;
}
};
#define triggerPin 12
#define echoPin 14
HCSR04 ultrasonic(triggerPin, echoPin);
void setup() {
Serial.begin(9600);
ultrasonic.mulai();
}
void loop() {
int jarak = ultrasonic.bacaJarak();
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println(" Cm");
delay(500);
}