Tres Potenciómetros y Servos


Aquí tienes el código para que cada uno de los tres potenciómetros controle directamente su servomotor correspondiente:

Cpp


#include <Servo.h>

Servo servo1;  // Servomotor 1
Servo servo2;  // Servomotor 2
Servo servo3;  // Servomotor 3

// Pines de entrada para los potenciómetros
int potPin1 = A0;  // Potenciómetro para servo1
int potPin2 = A1;  // Potenciómetro para servo2
int potPin3 = A2;  // Potenciómetro para servo3

int micromin = 700;   // Pulso mínimo (en microsegundos)
int micromax = 1290;  // Pulso máximo (en microsegundos)

void setup() {
  // Asigna cada servomotor a su pin digital respectivo y configura el rango de pulsos
  servo1.attach(9, micromin, micromax);
  servo2.attach(10, micromin, micromax);
  servo3.attach(11, micromin, micromax);

  Serial.begin(9600); // Inicia la comunicación serial para la depuración
}

void loop() {
  // Lee los valores de los potenciómetros (0 a 1023)
  int potValue1 = analogRead(potPin1);
  int potValue2 = analogRead(potPin2);
  int potValue3 = analogRead(potPin3);

  // Mapea cada lectura al rango de ángulos de 0 a 180 grados
  int angle1 = map(potValue1, 0, 1023, 0, 180);
  int angle2 = map(potValue2, 0, 1023, 0, 180);
  int angle3 = map(potValue3, 0, 1023, 0, 180);

  // Mueve cada servomotor al ángulo correspondiente
  servo1.write(angle1);
  servo2.write(angle2);
  servo3.write(angle3);

  // Envía los valores leídos y los ángulos por el monitor serial para depuración
  Serial.print("Servo1 -> Pot: ");
  Serial.print(potValue1);
  Serial.print(" | Angle: ");
  Serial.print(angle1);
  
  Serial.print(" || Servo2 -> Pot: ");
  Serial.print(potValue2);
  Serial.print(" | Angle: ");
  Serial.print(angle2);
  
  Serial.print(" || Servo3 -> Pot: ");
  Serial.print(potValue3);
  Serial.print(" | Angle: ");
  Serial.println(angle3);

  delay(15);   // Pequeña pausa para un movimiento suave
}
En este código cada potenciómetro está conectado a un pin analógico (A0, A1 y A2) y controla su servomotor asignado (en pines 9, 10 y 11 respectivamente) mediante la función map() para convertir la lectura analógica en un ángulo de 0 a 180 grados.
Buscar componentes
Agregar componentes al esquema
Definir conexiones analógicas
Traducir lógica a circuito
No schematic yet

Talk to Flux to get started.