EDUCATIVA: GUIA DE
PRCTICAS
TABLA DE CONTENIDO
INTRODUCCIN. .............................................................................................. 7
CURSO NIVEL BASICO .................................................................................... 8
1. ELEMENTOS ELECTRONICOS. ................................................................ 9
1.1
ARDUINO. ............................................................................................. 9
1.2
1.3
1.4
1.5
1.6
1.7
1.8
SALVALIPO ........................................................................................ 17
1.9
CARGADOR ....................................................................................... 18
2.2
LLANTAS. ........................................................................................... 20
2.3
2.4
RUEDAS DE APOYO.......................................................................... 21
2.5
3.2
3.3
3.4
3.5
3.6
4.2
4.3
4.4
4.5
5.2
5.3
5.4
LISTA DE FIGURAS
Figura 1. Tarjeta de desarrollo Arduino ............................................................ 10
Figura 2. Micro-motores ................................................................................... 11
Figura 3. Board para el control de motores ...................................................... 12
Figura 4. Encoder incremental acoplado a un micro-motor y llanta.................. 14
Figura 5. Sensor GP2Y0D805Z0F ................................................................... 14
Figura 6. Sensor seguidor de lnea .................................................................. 16
Figura 7. Batera de LiPo ................................................................................. 17
Figura 8. Salva LiPo ......................................................................................... 18
Figura 9. Cargador de bateras LiPo. ............................................................... 19
Figura 10. Base de acrlico. .............................................................................. 20
Figura 11. Llantas............................................................................................. 20
Figura 12. Bases de apoyo............................................................................... 21
Figura 13. Bases de apoyo con encoders y llantas .......................................... 21
Figura 14. Rueda de apoyo. ............................................................................. 22
Figura 15. Tornillos metlicos........................................................................... 22
Figura 16. Instalacin del Arduino. ................................................................... 23
Figura 17. Instalacin del Arduino. ................................................................... 23
Figura 18. Rueda de apoyo. ............................................................................. 24
Figura 19. Ventana de inicio. ............................................................................ 29
Figura 20. Ventana de seleccin. ..................................................................... 29
Figura 21. Ventana de trabajo. ......................................................................... 30
Figura 22. Ventana de Hardware. .................................................................... 31
Figura 23. Ventana Blocks. .............................................................................. 32
Figura 24. Pestaa Setup. ................................................................................ 32
Figura 25. Pestaa Output. .............................................................................. 33
Figura 26. Pestaa Input. ................................................................................. 33
Figura 27. Pestaa Operators. ......................................................................... 34
LISTA DE TABLAS
Tabla 1. Resumen de las caractersticas elctricas del Arduino. ..................... 10
Tabla 2. Caractersticas de los micro-motores. ................................................ 11
Tabla 3. Clasificacin de los sensores y actuadores. ....................................... 45
Tabla 4. Clasificacin de los sensores y actuadores. ....................................... 46
INTRODUCCIN.
Manejo de PWM.
1. ELEMENTOS ELECTRONICOS.
El kit de robtica est compuesto diferentes elementos electrnicos que son
analizados a continuacin.
1.1 ARDUINO.
Arduino es una plataforma de electrnica abierta para la creacin de prototipos
basada en software y hardware flexibles y fciles de usar. Se cre para artistas,
diseadores, aficionados y cualquiera interesado en crear entornos u objetos
interactivos1.
Arduino puede tomar informacin del entorno a travs de sus pines de entrada
de toda una gama de sensores y puede afectar aquello que le rodea
controlando luces, motores y otros actuadores. El microcontrolador en la placa
Arduino se programa mediante el lenguaje de programacin Arduino (basado
en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los
proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a
un computador, si bien tienen la posibilidad de hacerlo y comunicar con
diferentes tipos de software (p.ej. Flash, Processing, MaxMSP).
Las tarjetas de Arduino pueden ser hechas a mano o compradas montadas de
fbrica; el software puede ser descargado de forma gratuita. Los ficheros de
diseo de referencia (CAD) estn disponibles bajo una licencia abierta, as
pues eres libre de adaptarlos a tus necesidades.
http://www.arduino.cc/
ENTRADAS/SALIDAS DIGITALES
~ SALIDAS DE PWM
PUERTO USB
MICROCONTROLADOR
JACK PARA
ADAPTADOR DC
ALIMENTACIN DE 5V
ENTRADAS ANALOGAS
ATmega328
5V
7-12V
6-20V
14 (de los cuales 6 pueden tener
salidas PWM)
6
40 mA
50 mA
16 MHz
Figura 2. Micro-motores
Los micro-motores DC poseen las siguientes caractersticas:
13000 rpm
50:1
260 rpm a 6 voltios
40 mA a 6 voltios
360 mA a 6 voltios
10 oz inches a 6 voltios
hasta 12 voltios con una corriente mxima de 2 A cada uno, es decir motores
mximo de 24 W de potencia. Figura 3.
http://www.dynamoelectronics.com
Se integra al Arduino de tal forma que los motores funcionan con las salidas de
PWm del Arduino que son los siguientes puertos:
Dimensiones: 13 x 8mm.
Consumo de corriente: 25 mA
Voltaje 7.4V
Peso 85g.
1.8 SALVALIPO
El salvalipo es una alarma que detecta cuando la batera de LiPo ha bajado
ms de un voltaje determinado. Este elemento es necesario para proteger la
batera ya que no se debe dejar descargar completamente este tipo de bateras
ya que se pueden daar las celdas, Figura 8.
1.9 CARGADOR
El cargador IMAX B6 es un cargador rpido, con un microprocesador de alto
rendimiento, y un software especializado de operacin. Posee funciones que
ajustan la corriente de alimentacin, durante el proceso de carga y descarga.
Especialmente para las bateras de litio, para impedir la sobrecarga, lo que
puede dar lugar a una explosin, debido a la posible negligencia del usuario. El
cargador puede desconectar automticamente el circuito, y activar la alarma
cuando detecta un mal funcionamiento, Figura 9.
Todos los programas de este cargador, estn controlados a travs de un
sistema de control de dos vas, para obtener un mximo de seguridad y
minimizar los problemas. Emplea un equilibrador interno de bateras de Lipo.
No es necesario conectar un equilibrador de bateras externo para
balancearlas.
2.2 LLANTAS.
Estas ruedas plsticas tienen un radio de 42 mm y se acoplan a presin en los
ejes de los micro-motores Dc, que tienen una medida de 3 mm de dimetro.
Los dientes de estas ruedas permiten la reflactancia del sensor usado en los
encoders incrementales con los cuales se puede medir la velocidad de la
rueda, Figura 11.
3. PROGRAMACION EN ARDUINO.
setup()
La funcion setup es usada cuando el programa inicia. Se utiliza para
inicializar variables, modos en los pines (si estn configurados como
entradas o salidas), e iniciar el uso de libreras especiales. Esta estructura
solo es ejecutada una vez cada vez que el programa se inicia despus de
ser encendido el Arduino o despus de un reset .
Ejemplo:
int buttonPin = 3;
void setup()
{
http://arduino.cc/en/Reference/HomePage
loop()
Despus de creada la funcin setup(), la funcin loop() contiene el
programa principal que se va a ejecutar y se repetir indeterminado nmero
de veces.
Ejemplo:
const int buttonPin = 3;
const int OutPin = 4
// setup initializes serial and the button pin
void setup()
{
pinMode(buttonPin, INPUT);
pinMode(OutPin, OUTPUT);
}
// Void loop revisa button pin cada ciclo y activara o desactivara
//la salida en cada ciclo si el botn esta oprimido.
void loop()
{
if (digitalRead(buttonPin) == HIGH)
digitalWrite(OutPin, HIGH);
else
digitalWrite(OutPin, LOW);
delay(1000);
}
Ifelse
(x es igual a y?)
(x es diferente de y?)
(x es menor que y?)
(x es mayor que y?)
(x es menor o igual que y?)
(x es mayor o igual que y?)
Ejemplos:
Si x es mayor de 120 se activara el pin LEDpin.
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120){ digitalWrite(LEDpin, HIGH); }
if (x > 120){
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
}
if (dato < 500)
{
// action A
}
else
{
// action B
}
for
La estructura for, tiene como significado repetir desde X hasta Y con
incremento Z, su estructura es: repetir(inicializacin, condicin, incremento).
Se debe determinar el valor de inicio(x=1), la condicin final(x<10) y el
incremento o decremento que va a tener la variable de inicio(x++).
Ejemplo:
Programa para activar un LED colocado en el pin 10, configurado como
salida, usando PWM.
int PWMpin = 10; // Colocar resistencia de 330 ohm en el pin 10
void setup()
{
// no setup needed
}
void loop()
{
for (int i=0; i <= 255; i++){
analogWrite(PWMpin, i);
delay(10);
}
}
while
La estructura While, tiene como significado repetir hasta que se cumpla la
condicin X. Tiene como estructura while(condicin). Las condiciones son
realizadas con operadores de condicin como los estudiados anteriormente.
Ejemplo:
var = 0;
while(var < 200){
// repite una accion mientras var sea menor de 200
var++;
}
switch case
La estructura switch case tiene como significado seleccionar caso. Tiene
como objetivo brindar ms de 2 opciones como lo hace el if, que brinda la
opcin de verdadero y falso.
Ejemplo:
// Las const son valores que no cambian, aqu est el valor mnimo
y el valor mximo que se lee de un sensor anlogo.
const int sensorMin = 0; // sensor minimum, discovered through
experiment
Ventana Hardware.
Ventana Blocks
En la ventana de los diagramas de bloques, Figura 23, se puede encontrar
todas las diferentes estructuras de programacin estudiadas en el capitulo
3.3, (if, for, while, switch case). En esta ventana, se observa las pestaas de
Setup, Output, Input, Operators, Control y Variables donde se encuentran
cada uno de los elementos a usar.
Ventana Source
En la ventana Source se genera todo el cdigo de programacin que es
cargado al Arduino para su funcionamiento. Figura 30.
El primer paso que se debe seguir es determinar cules son los sensores y
actuadores del robot. Se pueden determinar cmo sensores, los elementos que
recogen informacin y como actuadores los elementos que realizan una accin.
En la Figura 37 se pueden observar el diagrama general del robot donde
presenta cuales son los sensores sensores de lnea, sensores infrarrojos y
encoders, y los actuadores que son los motores.
Sensor
infrarrojo
X
Encoder
Motores
incremental
X
ENTRADA
ANALOGA
DIGITAL
SALIDA
ANALOGA
Una vez identificado la relacin de cada sensor con las entradas y salidas del
Arduino debemos asignar un pin a cada uno de los sensores y actuadores.
Esta asignacin no es de carcter obligatorio sin embargo es una
recomendacin cuando se est empezando a trabajar con el Arduino. En la
Tabla 4 se presenta la asignacin opcional de cada uno de los elementos de
robot.
Tipo
PIN Asignado
Sensor de lnea I
Entrada anloga
A1
Sensor de lnea D
Entrada anloga
A0
Sensor Infrarrojo I
Entrada digital
PIN 8
Sensor Infrarrojo F
Entrada digital
PIN 10
Sensor Infrarrojo D
Entrada digital
PIN 11
Encoder I
Entrada digital
XXXX
Encoder D
Entrada digital
XXXX
Motor I
Salida anloga
PIN 6, PIN 9
Motor D
Salida anloga
PIN 3, PIN 5