Der folgende Code lässt die LED an Pin 6 leuchten, wenn ein Objekt näher als 5cm ist, die LED an Pin 7 näher als 10cm.
int pingPin = 13;
int inPin = 12;
uint8_t led5cm = 6;
uint8_t led10cm = 7;
void setup() {
Serial.begin(9600);
pinMode(pingPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop()
{
long duration, inches, cm;
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
duration = pulseIn(inPin, HIGH);
cm = microsecondsToCentimeters(duration);
digitalWrite(led5cm, cm <= 5 ? HIGH : LOW);
digitalWrite(led10cm, cm <= 10 ? HIGH : LOW);
Serial.println(cm, DEC);
delay(100);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}