Modulare la velocità di un servo a 360 usando un sensore a ultrasuoni

Ciao a tutti!

Sto ultimando un'installazione artistica in cui in base alla distanza rilevata da un sensore a ultrasuoni un servomotore a 360 giri ad un certa velocità per azionare la manovella di un carillon.

Per ora sono riuscito solo a far sì che vada a una certa velocità e poi si fermi. È possibile fare in modo che se la distanza rilevata è compresa tra due numeri vada a una velocità diversa? ( tipo if (30 < distanza < 40) myservo.write(110))

Qui di seguito lo sketch da cui sono partito

#include <Servo.h>

Servo myservo;

const int trigPin = 6; const int echoPin = 7; long timeFront; int distanceFront = 0; // Ultra Sensor on pins D6 & D7

void setup() {

  pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
  Serial.begin(57600);
  myservo.attach(8); // attaches the servo on pin 8 to the servo object
}

void loop() {
  digitalWrite(trigPin, LOW); delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);
  timeFront = pulseIn(echoPin, HIGH, 2940); distanceFront = timeFront * 0.034 / 2; // 50 cm maximum distance

  if (distanceFront > 0)  {
    
    distanceFront = Serial.read();

    

    Serial.print (distanceFront);
    if (distanceFront < 20); {
      Serial.println(" sent 180 Rotaing CCW ");
      myservo.write(180);
    }
  } else {
    Serial.println(" sent Stopped ");
    myservo.write(90);
  }
}











Grazie in anticipo a chi avrà voglia di rispondere :slight_smile:

Buongiorno,
in conformità al REGOLAMENTO della sezione Italiana del Forum, punto 13, il cross-posting è proibito (anche tra lingue diverse) e tu hai già posto la stessa/simile domanda QUI

Non solo, in quel thread ti stanno già rispondendo ed è veramente poco carino abbandonare una discussione e chi ti stava aiutando, per venire di qua a porre la stessa/simile domanda … :roll_eyes:

Poi, non avendolo tu ancora fatto, ti chiedo cortesemente, nel rispetto del regolamento della suddetta sezione Italiana , di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO.

Infine, per rispetto verso chi ti stava già aiutando nell'altro thread, questo tuo thread viene chiuso e ti prego di continuare dove avevi cominciato. Grazie.

Guglielmo