Arduino - Servo Motor Controlado por Potenciômetro

Em um tutorial anterior, aprendemos como um potenciômetro aciona um servo motor. Neste tutorial, vamos aprender a girar um servo motor de acordo com o valor de saída do potenciômetro

Sobre o Servo Motor e o Potenciômetro

Se você não conhece o servo motor e o potenciômetro (pinagem, como funciona, como programar...), aprenda sobre eles nos seguintes tutoriais:

Diagrama de Ligação

Diagrama de Ligação do Arduino com Servo Motor e Potenciômetro

This image is created using Fritzing. Click to enlarge image

Como Programar

  • Lê o valor do potenciômetro (valor entre 0 e 1023)
int analogValue = analogRead(A0);
  • Converte o valor para um ângulo (valor entre 0 e 180)
int angle = map(analogValue, 0, 1023, 0, 180);
  • Define a posição do servo de acordo com o ângulo
myServo.write(angle);

Código Arduino

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-servo-motor-controlled-by-potentiometer */ #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("Analog: "); Serial.print(analogValue); Serial.print(", Angle: "); Serial.println(angle); delay(100); }

Passos Rápidos

  • Conecte o Arduino ao PC usando o cabo USB
  • Abra a Arduino IDE, selecione a placa e a porta corretas
  • Copie o código acima e abra-o na Arduino IDE
  • Clique no botão Upload na Arduino IDE para carregar o código no Arduino
Arduino IDE - Carregar o Código
  • Abra o Serial Monitor
  • Gire o potenciômetro
  • Veja o servo motor girar
  • Veja o resultado no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Analog: 0, Angle: 0 Analog: 85, Angle: 14 Analog: 201, Angle: 35 Analog: 286, Angle: 50 Analog: 370, Angle: 65 Analog: 444, Angle: 78 Analog: 521, Angle: 91 Analog: 608, Angle: 106 Analog: 690, Angle: 121 Analog: 793, Angle: 139 Analog: 907, Angle: 159 Analog: 1023, Angle: 180 Analog: 1023, Angle: 180
Ln 11, Col 1
Arduino Uno on COM15
2

Explicação do Código

Leia a explicação linha por linha nos comentários do código-fonte!

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!