viernes, 6 de junio de 2025

servo

 #include <Servo.h>


Servo servoAleatorio;

Servo servoPot;


int pinPot = A0;

int pinServoAleatorio = 9;

int pinServoPot = 10;


unsigned long tiempoAnterior = 0;

unsigned long intervalo = 2000; // Tiempo entre movimientos aleatorios (ms)


void setup() {

  servoAleatorio.attach(pinServoAleatorio);

  servoPot.attach(pinServoPot);

  Serial.begin(9600);

}


void loop() {

  // Leer el valor del potenciómetro (0 a 1023) y mapearlo a 0-180 grados

  int valorPot = analogRead(pinPot);

  int anguloPot = map(valorPot, 0, 1023, 0, 180);

  servoPot.write(anguloPot);


  // Movimiento aleatorio cada cierto tiempo

  unsigned long tiempoActual = millis();

  if (tiempoActual - tiempoAnterior >= intervalo) {

    tiempoAnterior = tiempoActual;

    

    int anguloAleatorio = random(0, 181); // Ángulo aleatorio entre 0 y 180

    servoAleatorio.write(anguloAleatorio);

    

    // (opcional) imprimir ángulo en el monitor serial

    Serial.print("Servo aleatorio a: ");

    Serial.println(anguloAleatorio);

  }

}


No hay comentarios.:

Publicar un comentario