3 Servomotores Keypad

October 30, 2020 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download 3 Servomotores Keypad...

Description

TALL ALLER ER DE ARDU ARDUINO INO BÁSICO SERVOMOTORES Carlos Pérez www.TecBolivia.com

MOTORES 

Los motores son actuadores que transforman la electricidad en movimiento movimiento..



Existen tres tipos principales de motores que trabajan en en corriente contínua: •





Motores DC (2 cables) Motores Paso a paso o “de pasos” (3 cables)

Servomotores (4 cables)

© 2014 RAÚL ÁLVAREZ ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

MOTORES 

Los motores son actuadores que transforman la electricidad en movimiento movimiento..



Existen tres tipos principales de motores que trabajan en en corriente contínua: •





Motores DC (2 cables) Motores Paso a paso o “de pasos” (3 cables)

Servomotores (4 cables)

© 2014 RAÚL ÁLVAREZ ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

SERVOMOTORES Básicamente son motores DC con una placa de control.  Capacidad de ubicarse y mantenerse estable en cualquier posición dentro de su rango de operación  Rango de operación normalmente es menor a 360º 

© 2014 RAÚL ÁLVAREZ ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

SERVOMOTORES 

Tienen un torque muy fuerte.



Puede trabajar más allá de los 360º, en este caso se controla la velocidad.



Los que trabajan en más de 360º no tienen control de posición.

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

SERVOMOTORES ESTRUCTURA INTERNA 

Un servomotor se compone de: •







© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

Motor DC: alta velocidad bajo torque Caja reductora: juego de engranajes, reduce la velocidad y aumenta el torque Potenciómetro: alineado con el eje del motor para el control de la posición. Tarjeta controladora: con los datos del potenciómetro mueve el motor DC

SERVOMOTORES CABLE DE CONEXIÓN Los servomotores tienen tres cables: alimentación, tierra, y señal.  Cables de Alimentación: 



La tensión de alimentación puede variar de 4 a 8 voltios (dependiendo del servo), varía velocidad y torque.

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

SERVOMOTORES FUNCIONAMIENTO 

Cable de Señal: •



La posición del motor se define por el ancho de pulso de una señal PWM. Los servomotores de rotación continua utilizan la señal PWM para variar la velocidad de rotación

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍAS Una librería es un programa que contiene funciones las cuales pueden ser utilizadas por otros programas para su utilización.  Para llamar a una librería, se coloca al inicio del Sketch la palabra de invocación seguido del nombre de la librería: 

#include 

Un objeto es una variable que contiene todas las especificaciones de la librería, algunas librerías requieren que sean creadas: Servo nombre_servo;

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍA SERVO 

El Arduino UNO deshabilita la función analogWrite() en los puertos 9 y 10.



Los servos consumen energía de manera considerable, se recomienda el uso de fuentes externas alimentando directamente los cables de alimentación de los servos.

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍA SERVO 



attach(): Asocia la variable servo a un pin •

nombre_servo.attach(pin)



nombre_servo.attach(pin, min, max) 

min: ancho de pulso ángulo mínimo (544)



max: ancho de pulso ángulo máximo (2400)

detach(): Desasocia la variable servo de un pin •

nombre_servo.detach(pin)

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍA SERVO 

write(): Ajusta el eje al ángulo deseado •



read(): Lee el ángulo Actual del servo •



nombre_servo.write(ángulo)

nombre_servo.read()

attached(): Devuelve TRUE si la variable servo está asociada a un pin •

nombre_servo.attached()

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

CIRCUITO SWEEP

© 2011 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

SWEEP #include

// Llamada a la librería Servo

Servo myservo;

// Creación del objeto tipo Servo

int pos = 0;

// Variable donde se guarda la // posición del servo

void setup() { myservo.attach(9);

// Se asocia el servo al pin 9 (PWM)

} © 2014 RAÚL Á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);

// Retardo de 15 ms para el movimiento del motor

} for(pos = 180; pos>=1; pos-=1){ myservo.write(pos); delay(15); } } © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

CIRCUITO KNOB

© 2011 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

KNOB #include

Servo myservo; int potpin = 0;

// Pin del potenciómetro

int val;

// Variable lectura potenciómetro

void setup(){ myservo.attach(9); } © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

KNOB void loop() { val = analogRead(potpin);

// Lectura potenciómetro

// Mapeo a rango de 0º a 180º val = map(val, 0, 1023, 0, 179); myservo.write(val);

// Mover servo

delay(15);

// Retardo movimiento

}

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

TALLER DE ARDUINO BÁSICO PREGUNTAS © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

TECLADO MATRICIAL 

Su disposición en forma de matriz facilita el uso de cada tecla.



La cantidad de pines depende del número de filas y columnas.

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

TECLADO MATRICIAL 3X4 & 4X4

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍA KEYPAD La librería keypad se puede descargar del siguiente enlace: playground.arduino.cc/code/Keypad La carpeta de la librería debe ser instalada en la dirección donde se instaló el IDE de Arduino: ..\Arduino\libraries\ 

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

ARRAY Un array (arreglo) es una colección de variables que se almacenan en posiciones sucesivas, determinadas por índices numéricos. Para la creación de un arreglo se usa la siguiente expresión: 

tipo_elemento nombre_array[numero_elementos]; © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

ARRAY Puede obviarse el número de elementos. Pueden ser definidos de las siguientes maneras: 

int numeros[5] = {0,1,2,3,4}; int numeros[] = {2,1,0}; int numeros[8];

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

ARRAY Las posiciones de un array empiezan en cero. Es decir que la última posición es el tamaño del array menos uno. Para acceder a un elemento de la matriz sólo hay que indicar la posición del elemento: 

char letras[4] = {'a','b','c','d'};

letras[3] = {'d'}; © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

MATRIZ Se puede crear arrays de más dimensiones (matrices).  En una matriz cuadrada es un array en otro array donde se declara primero la fila luego la columna: 

char letras[2][3] = {{'a','b','c'}, {'d','e','f'}};



El acceso a la matriz es el mismo que el acceso al array.

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

OBJETO KEYPAD const byte ROWS = 4;

// Número de filas

const byte COLS = 4;

// Número 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};

// 1ra 2da 3ra 4ta filas

byte colPins[COLS] = {5, 4, 3, 2};

// 1ra 2da 3ra 4ta columnas

Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS); © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERÍA KEYPAD char getKey():





Devuelve el valor tipo caracter de la tecla presionada, definida en la matriz del objeto de tipo keypad

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

CIRCUITO KEYPAD

© 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

CUSTOM KEYPAD #include int num;

// Variable para guardar el caracter convertido en número entero

const byte ROWS = 4;

// Número de filas

const byte COLS = 3;

// Número de columnas

char hexaKeys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte rowPins[ROWS] = {8, 7, 6, 5}; byte colPins[COLS] = {4, 3, 2};

// Pines de entrada filas // Pines de entrada columnas

Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS); © 2014 RAÚL ÁLVAREZ TORRICO - WWW.TECBOLIVIA.COM

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF