Advertisement
xdesig

Servo_serie_pc

Feb 2nd, 2025
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | Software | 0 0
  1. #include <Servo.h>
  2.  
  3. // Definir o obxecto do servo
  4. Servo servo;
  5.  
  6. // Pino onde está conectado o servo
  7. const int PIN_SERVO = 8;
  8.  
  9. void setup() {
  10.   Serial.begin(9600);
  11.   Serial.println("Introduce un ángulo (0-180) para mover o servo:");
  12.  
  13.   // Unha primeira activación para asegurar que o servo está listo
  14.   servo.attach(PIN_SERVO);
  15.   servo.write(90);  // Posición inicial (opcional)
  16.   delay(500);
  17.   servo.detach();   // Desactivar ata recibir unha nova orde
  18. }
  19.  
  20. void loop() {
  21.   // Comprobar se hai datos dispoñibles no monitor serie
  22.   if (Serial.available()) {
  23.     int angulo = Serial.parseInt(); // Ler o valor introducido
  24.  
  25.     // Verificar se está no rango válido
  26.     if (angulo >= 0 && angulo <= 180) {
  27.       servo.attach(PIN_SERVO); // Activar o servo
  28.       servo.write(angulo);     // Mover o servo
  29.       delay(500);              // Tempo para que o servo chegue á posición
  30.       servo.detach();          // Parar o servo ata nova orde
  31.  
  32.       // Mostrar confirmación no monitor serie
  33.       Serial.print("Servo movido a: ");
  34.       Serial.print(angulo);
  35.       Serial.println(" graos");
  36.     } else {
  37.       Serial.println("Erro: introduce un número entre 0 e 180.");
  38.     }
  39.  
  40.     // Limpar o buffer de entrada
  41.     while (Serial.available()) {
  42.       Serial.read();
  43.     }
  44.   }
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement