Servo bei 90 Grad stehen lassen

Hallo,

ich hab das Servo Beispiel ausprobiert und es funktioniert ganz gut.

Nur, wie schaffe ich es, dass der Servo am Anfang bei 90 Grad stehen beibt, währen dessen soll ein Ultraschall Modul abgefragt werden, und erst wenn ein Hindernis kommt, dann soll er sich von 0-180 Grad drehen.

Kann mir jemand helfen?

Wie sieht denn dein bisheriger Code aus?

#include <Ultrasonic.h>
int entfernung;
int ledPin = 13; 
// Festlegen des Servo Pins
int servo = 7;
int links;

// Weitere Variablen für PWM und Drehwinkel (Position)
int pwm;
int pos;

/* Funktion um das Servo zu bewegen. Hier wird die Position
berechnet und der Wert der neuen Position an das Servo
übergeben. */

void servoMove(int servo, int pos){
  //Winkel in Mikrosekunden umrechnen
  pwm = (pos * 11) + 500;
  // Servo Pin auf HIGH zum aktivieren des Servos
  digitalWrite(servo, HIGH);
  // Kurze Zeit warten
  delayMicroseconds(pwm);
  // Servo Pin auf LOW zum deaktivieren des servos
  digitalWrite(servo, LOW);
  // 20 ms warten
  delay(20);
}

Ultrasonic ultrasonic( 11, 12 );

void setup()
{
  Serial.begin( 9600 );
  pinMode(ledPin, OUTPUT); 
  pinMode(servo, OUTPUT);
}

void loop()
{
  entfernung=ultrasonic.Ranging(CM);
  if (entfernung<=10){
  digitalWrite(ledPin, HIGH);
Serial.println("Objekt!!");
for(pos=0; pos<180; pos++) {
    servoMove(servo, pos);
   
}else
{
    digitalWrite(ledPin, LOW);}
  
  Serial.print( ultrasonic.Ranging(CM) );
  Serial.println( "cm" );
    
  delay(1000);
}

Nicht abschrecken lassen:

Solange die Entfernung zum Gegenstand größer ist wie 10cm passiert nichts.

Wird die Entfernung kleiner, dreht sich der Servo.

Ich hätte gerne, dass Servo bei 90 Grad Steht, den Ultraschall Sensor abfragt, wenn ein Hindernis kommt soll
er von 0 bis 180 Grad drehen. Bei 0 Grad und 180 Grad soll der Sensor auch noch mal die Entfernung messen.