En ultrasonic sensor udsender en meget høj tone som reflekteres – og man kan på den måde udregne afstanden til de objekter tone reflekteres fra. Som en flagermus eller delfin har gjort i tusindvis af år. Dette er den første sensor vi afprøver. Læs evt mere om teknikken og hvor de anvendes.
int trigPin = 9;
int echoPin = 10;
int led = 7;
void setup()
{
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
}
void loop()
{
long duration, distance; // long angiver en variabel som har en talværdi
digitalWrite(trigPin, LOW); // her sendes lyden ud
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration*.0343)/2;
//distance samlet tid fra lyden sendes til den modtages (lydens hastighed) divideret med 2
if (distance < 40)
{
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
Kan du sætte en ekstra led (eller flere) op som tændes ved forskellige afstande evt. med forskellige blink?