Arduino UNO R4 - Servomotor de potenciómetro

Este tutorial le enseña a controlar un servomotor con un potenciómetro utilizando Arduino Uno R4. Este tutorial demuestra cómo ajustar el ángulo del servomotor girando un potenciómetro. Aprenderás:

Acerca del servomotor y del potenciómetro

Antes de continuar, si no estás familiarizado con los servomotores y potenciómetros (su distribución de pines, funcionamiento y programación), por favor consulta los tutoriales que se encuentran a continuación:

Diagrama de Cableado

  • El diagrama de cableado entre Arduino UNO R4, motor servo y potenciómetro clásico
Diagrama de cableado del potenciómetro del servomotor Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino UNO R4, servomotor y módulo de potenciómetro
Diagrama de cableado del módulo de potenciómetro para servomotor en Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Cómo programar

  • Lee el valor del potenciómetro (los valores van de 0 a 1023)
int analogValue = analogRead(A0);
  • Lo ajusta a un ángulo (valor entre 0 y 180)
int angle = map(analogValue, 0, 1023, 0, 180);
  • Cambia la posición del servo según el ángulo.
myServo.write(angle);

Código Arduino UNO R4

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-potentiometer-servo-motor */ #include <Servo.h> Servo myServo; // create servo object to control a servo void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); myServo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { // reads the value of the potentiometer (value between 0 and 1023) int analogValue = analogRead(A0); // scales it to use it with the servo (value between 0 and 180) int angle = map(analogValue, 0, 1023, 0, 180); // sets the servo position according to the scaled value myServo.write(angle); // print out the value Serial.print("Potentiometer's Value: "); Serial.print(analogValue); Serial.print(" => Servo Motor's Angle: "); Serial.println(angle); delay(100); }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
  • Inicia el IDE de Arduino en tu computadora.
  • Selecciona la placa adecuada Arduino Uno R4 (por ejemplo, Arduino Uno R4 WiFi) y el puerto COM.
  • Copia y pega el código anterior en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para transferir el código a la placa Arduino UNO R4.
Subir código al IDE de Arduino
  • Abre el Monitor Serial
  • Gira el potenciómetro
  • Observa cómo gira el servomotor
  • Comprueba el resultado en el Monitor Serial
COM6
Send
Potentiometer's Value: 0 => Servo Motor's Angle: 0 Potentiometer's Value: 85 => Servo Motor's Angle: 14 Potentiometer's Value: 201 => Servo Motor's Angle: 35 Potentiometer's Value: 286 => Servo Motor's Angle: 50 Potentiometer's Value: 370 => Servo Motor's Angle: 65 Potentiometer's Value: 444 => Servo Motor's Angle: 78 Potentiometer's Value: 521 => Servo Motor's Angle: 91 Potentiometer's Value: 608 => Servo Motor's Angle: 106 Potentiometer's Value: 690 => Servo Motor's Angle: 121 Potentiometer's Value: 793 => Servo Motor's Angle: 139 Potentiometer's Value: 907 => Servo Motor's Angle: 159 Potentiometer's Value: 1023 => Servo Motor's Angle: 180 Potentiometer's Value: 1023 => Servo Motor's Angle: 180
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Explicación del código

Verifique las explicaciones dadas en los comentarios del código fuente, escritas línea por línea!

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!