Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOCIEDAD ANÓNIMA
VER: 1
GUÍA DE LABORATORIO
VIGENTE: 27-09-2016
Auxiliar de Laboratorio:
1. OBJETIVO
Entender el funcionamiento de un servo motor, además de la codificación para la programación del mismo
2. MARCO TEÓRICO
Típicamente los servos disponen de un rango de movimiento de entre 0 a 180º. Es decir, no son capaces de
dar la vuelta por completo (de hecho disponen de topes internos que limitan el rango de movimiento)
Internamente un servo frecuentemente consta de un mecanismo reductor. Por tanto proporcionan un alto
par y un alto grado de precisión (incluso décimas de grado). Por contra, las velocidades de giro son pequeñas
frente a los motores de corriente continua.
Los servos se admiten una tensión de alimentación entre 4,8V a 7,2V, siendo el valor más adecuado es 6V.
Con tensiones inferiores el motor tiene menos fuerza y velocidad. Con tensiones superiores a 6,5V los servos
empiezan a oscilar demasiado, lo cual los hace poco útiles.
3. EQUIPOS Y MATERIALES
Microcontrolador o Microprocesador
Protoboard
Conductores o jumpers
Fuente de alimentacion
4. DESARROLLO DE LA PRÁCTICA
Para completar la practica se debe realizar el código para posicionar el servo de acuerdo a la siguiente tabla:
Debe realizar un código adicional donde el servomotor se mueva de acuerdo al movimiento del
potenciómetro.
Se valorará que haya completado el laboratorio realizando videos de cada uno de las posiciones en los grados,
acompañado de un video y el código correspondiente, por cada posicionamiento.
2
CUADRO ELECTRONICO
CODIGO 1
#include <Servo.h>
Servo Servo1;
void setup() {
Servo1.attach(3);
}
void loop() {
Servo1.write(0);
delay(2000);
Servo1.write(15);
delay(2000);
Servo1.write(0);
delay(2000);
Servo1.write(20);
delay(2000);
Servo1.write(0);
delay(2000);
Servo1.write(45);
delay(2000);
Servo1.write(0);
delay(2000);
Servo1.write(60);
delay(2000);
Servo1.write(0);
delay(2000);
Servo1.write(180);
delay(2000);
Servo1.write(0);
delay(2000);
}
CODIGO 2
#include <Servo.h>
Servo servo;
int grados;
void setup() {
Serial.begin(9600);
servo.attach(2);
}
void loop() {
grados = analogRead(A5),0,1023,0,90;
Serial.println(grados);
delay(500);
servo.write(grados);
}