Hi Community,
ich bin ziemlicher Anfänger in der Arduino Welt.
so ich habe einen Ultraschallsensor, eine LED und einen Signalgeber. Wenn der Sensor einen Abstand unterschritten hat soll die Led blinken und der Signalgeber einen Ton abgeben und zwar solange bis er zurückgesetzt wird. so jetzt zum Problem: der erste Wert des Ultraschallsensors ist irgendwie bei 6 cm (muss er sich vielleicht erstmal hochfahren oder ähnliches ?) deswegen ist er schon direkt am Anfang am durchdrehen und macht das was er machen soll aber halt nicht so richtig. Hat jemand eine Idee wie ich den ersten Sensorwert außer acht lassen kann oder einen andren Vorschlag ? Danke :))
int led = 13;
int sound = 4;
int trigger = 9;
int echo = 10;
long dauer = 0;
long entfernung = 0;
boolean state = 0;
void setup()
{
Serial.begin (9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(2, OUTPUT);
pinMode(sound, OUTPUT);
digitalWrite(2, HIGH);
}
void loop()
{
digitalWrite(trigger, LOW);
delay(5);
digitalWrite(trigger, HIGH); .
delay(10);
digitalWrite(trigger, LOW);
dauer = pulseIn(echo, HIGH); .
entfernung = (dauer / 2) * 0.03432;
if (entfernung >= 500 || entfernung <= 0) …
{
Serial.println("Kein Messwert");
}
else
{
Serial.print(entfernung);
Serial.println(" cm");
}
delay(100); .
if ( entfernung < 40) {
state = 1;
}
if (state == 1) {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
digitalWrite(sound, LOW);
delay(500);
digitalWrite(sound, HIGH);
delay(500);
}
Serial.println(state);
}