Professional Documents
Culture Documents
BSICO
SERVOMOTORES
Carlos Prez
www.TecBolivia.com
MOTORES
Los motores son actuadores que transforman la electricidad
en movimiento.
Existen tres tipos principales de motores que trabajan en
corriente contnua:
Motores DC (2 cables)
Motores Paso a paso o de pasos (3 cables)
Servomotores (4 cables)
SERVOMOTORES
Bsicamente son motores
Capacidad de ubicarse y
mantenerse estable en
cualquier posicin dentro
de su rango de operacin
Rango de operacin
normalmente es menor a
360
SERVOMOTORES
Tienen un torque muy
fuerte.
Puede trabajar ms all
ms de 360 no tienen
control de posicin.
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
SERVOMOTORES
ESTRUCTURA INTERNA
Un servomotor se compone de:
Motor DC: alta velocidad bajo
torque
Caja reductora: juego de engranajes,
reduce la velocidad y aumenta el
torque
Potencimetro: alineado con el eje
del motor para el control de la
posicin.
Tarjeta controladora: con los datos
del potencimetro mueve el motor
DC
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
SERVOMOTORES
CABLE DE CONEXIN
Los servomotores
Cables de Alimentacin:
La tensin de
alimentacin puede
variar de 4 a 8 voltios
(dependiendo del
servo), vara velocidad y
torque.
SERVOMOTORES
FUNCIONAMIENTO
Cable de Seal:
La posicin del motor
LIBRERAS
Una librera es un programa que contiene funciones las
LIBRERA SERVO
El Arduino UNO deshabilita la funcin analogWrite() en
LIBRERA SERVO
attach(): Asocia la variable servo a un pin
nombre_servo.attach(pin)
nombre_servo.attach(pin, min, max)
LIBRERA SERVO
write(): Ajusta el eje al ngulo deseado
nombre_servo.write(ngulo)
asociada a un pin
nombre_servo.attached()
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
CIRCUITO SWEEP
SWEEP
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup()
{
myservo.attach(9);
}
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
SWEEP
void loop() {
// Se hace el recorrido total en ambas direcciones
for(pos = 0; pos < 180; pos += 1){
myservo.write(pos);
delay(15);
}
for(pos = 180; pos>=1; pos-=1){
myservo.write(pos);
delay(15);
}
}
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
CIRCUITO KNOB
KNOB
#include <Servo.h>
Servo myservo;
int potpin = 0;
int val;
void setup(){
myservo.attach(9);
}
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
KNOB
void loop()
{
val = analogRead(potpin);
// Lectura potencimetro
myservo.write(val);
// Mover servo
delay(15);
// Retardo movimiento
TALLER DE ARDUINO
BSICO
PREGUNTAS
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
TECLADO MATRICIAL
Su disposicin en forma de matriz facilita el uso de cada tecla.
La cantidad de pines depende del nmero de filas y columnas.
TECLADO MATRICIAL
3X4 & 4X4
LIBRERA KEYPAD
La librera keypad se puede descargar del
siguiente enlace:
playground.arduino.cc/code/Keypad
La carpeta de la librera debe ser instalada en
ARRAY
Un array (arreglo) es una coleccin de
siguiente expresin:
tipo_elemento nombre_array[numero_elementos];
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
ARRAY
Puede obviarse el nmero de elementos.
maneras:
int numeros[5] = {0,1,2,3,4};
int numeros[] = {2,1,0};
int numeros[8];
ARRAY
Las posiciones de un array empiezan en cero.
letras[3] = {'d'};
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
MATRIZ
Se puede crear arrays de ms dimensiones
(matrices).
En una matriz cuadrada es un array en otro array
array.
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM
OBJETO KEYPAD
const byte ROWS = 4;
// Nmero de filas
// Nmero de columnas
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
LIBRERA KEYPAD
char getKey():
Devuelve el valor tipo caracter de la tecla
CIRCUITO KEYPAD
CUSTOM KEYPAD
#include <Keypad.h>
int num;
// Nmero de filas
// Nmero de columnas
char hexaKeys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
CUSTOM KEYPAD
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
num = customKey '0';
if (customKey){
// Caracter en entero
Serial.println(customKey);
}
}
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM