/********* Car Bumper Sensor ******/
// Pins
const int TRIG_PIN = 4;
const int ECHO_PIN = 1;
int RED = 13;
int GREEN = 7;
int BUZZER = 8;
// Anything over 400 cm (23200 us pulse) is "out of range"
const unsigned int MAX_DIST = 232000;
void setup() {
Serial.begin(115200);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BUZZER, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
float readDistanceCM ()
{
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN,HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration *0.034 / 2;
}
void loop() {
float distance = readDistanceCM();
bool isNOTNearby = distance > 100;
bool isNearby = distance < 100;
digitalWrite(GREEN, isNOTNearby);
digitalWrite(RED, isNearby);
digitalWrite(BUZZER, isNearby);
Serial.print ("Measured distance: ");
Serial.println(readDistanceCM());
delay(100);
}