Sei sulla pagina 1di 23

Universidad de San Carlos de Guatemala

Facultad de Ingeniera

CONOCIMIENTOS BSICOS DE ARDUINO

Elio Josu Alvarado Velsquez


16 de septiembre de 2014
PREFACIO

El siguiente trabajo fue desarrollado por Elio Josu Alvarado Velsquez en el mes
de Septiembre del ao 2014, en la ciudad de Guatemala, Guatemala. Debido a que
es muy poco el conocimiento que se tiene en Guatemala sobre recursos de
OpenSource como por ejemplo el dispositivo electrnico llamado Arduino, se
planteo realizar un trabajo informativo de lo qu se necesita y como usarlo para
crear aplicaciones proyectos en este dispositivo. El trabajo se desarrollo
nicamente con contenido de internet, por lo que cualquiera con un ordenador e
internet ser capaz de ver las fuentes consultadas, cabe resaltar que los ejemplos
de configuraciones se hicieron en la plataforma de MacOs X y que estas varan
segn el sistema operativo a usar.
INDICE

1. NDICE ........................... 3
2. INTRODUCCIN........................ 4
3. OBJETIVOS .......................... 5
4. JUSTIFICACIN.......................... 6
5. CONTENIDO............................. 7
5.1 Por Qu Usar Arduino..................... 7
5.2 Ventajas de Usar Arduino..................... 7
5.3 Instalacin y Configuracin..................... 7-10
5.4 Tipos de Arduinos........................ 10-11
5.5 Estructura del Lenguaje, Funciones Principales, Ejemplos ..... 11-13
6. ERRORES COMUNES.................... 14
7. PREGUNTAS FRECUENTES.................. 15
8. CONCLUSIONES ..................... 16
9. RECOMENDACIONES ..................... 17
10. BIBLIOGRAFA .......................... 18
11. ENLACES DE AYUDA ................... 19
12. ANEXOS ...........................20-23
INTRODUCCIN

Arduino es un dispositivo electrnico relativamente nuevo en la actualidad que


llega al mundo con el objetivo de facilitarle la vida a las personas y de poder crecer
como proyecto con la ayuda del mundo entero, por esta misma razn cualquiera
puede comprar o crear su propio Arduino e inventar sus propios proyectos y
subirlos a internet para que ms personas puedan apreciar las capacidades de este
dispositivo y compartir informacin del mismo sin ningn inters lucrativo. En
este documento se muestra la forma en que se debe trabajar con Arduino,
desarrollando temas sobre configuraciones, programacin, tipos de software y las
ventajas que trabajar con Arduino conlleva.
OBJETIVOS

OBJETIVO GENERAL

Crear inters en las personas para utilizar la plataforma de open-source


llamado Arduino

OBJETIVO ESPECIFICO

Mostrar de qu manera se debe configurar Arduino para cargar programas.

Ensear cmo se debe programar para la plataforma Arduino.

Demostrar que el aprendizaje de Arduino tiene beneficios.


JUSTIFICACIN

El gran auge que el internet tiene en la actualidad permite que cualquier persona
con un ordenador pueda aprender absolutamente cualquier cosa que desee pero
muchas veces el conocimiento tiene un costo, inclusive si este yace en internet por
lo que hace varios aos se empezaron proyectos de open-source que tiene por
objetivo el libre aprendizaje y modificacin de proyectos tanto de software
teniendo por ejemplo a Linux as tambin como de hardware teniendo de ejemplo
a Arduino, este documento se creo con el objetivo de explicar el funcionamiento de
un proyecto de open-source llamado Arduino de forma gratuita para que cualquier
persona en el mundo que lea este documento quede sin dudas de cmo? y el por
qu? utilizar este dispositivo electrnico.
Por qu usar Arduino?:

Debido a que Arduino es un Hardware de open-source el conseguirlo es


sumamente fcil por lo que el precio es bajo o puede incluso ser gratis si nos
proponemos quemar en placa en circuito y soldar por nuestra cuenta los
integrados y componentes electrnicos necesarios, por otro lado el programar
aplicaciones para Arduino no implica ser un Ingeniero Electrnico, basta con
conocer como funciona un lenguaje de programacin bsico como Java para
familiarizarse rpido con este lenguaje.

Ventajas de usar Arduino:

Varios Modelos existentes: Arduino puede venir en varias presentaciones


de acuerdo a las necesidades del cliente por lo que la gran variedad hace
posible que Arduino en general tenga un amplio campo de aplicacin.

Documentacin Fcil de Conseguir: En la red existen varios tipos de


documentacin con el fin de ensear cmo trabajar con Arduino, hay
contenidos de todo tipo como Documentos, Presentaciones, Videos y
Audios.

OpenSource: S ningn modelo de Arduino satisface nuestras necesidades


podemos hacer modificaciones a nivel de Hardware o Software sin ligar
problemas legales, cabe mencionar que Arduino es muy flexible con esta
idea sin embargo si se deben respetar algunas polticas de la empresa si se
desean realizar modificaciones.

Instalacin y Configuracin de Arduino Uno ( MacOs X ):

Antes de seguir leyendo asegurarse que la versin de arduino a utilizar sea Uno
en caso contrario buscar la gua de instalacin para su versin de arduino1. En
esencia la instalacin y configuracin se caracterizan por su simpleza, tomando un
panorama general para cargar un programa a arduino basta con conectarlo al
ordenador, cargar un programa en l y listo, pero para una mejor explicacin a
continuacin se explicar paso a paso la instalacin del software de arduino y la
configuracin del mismo:

1. Tener a mano el Arduino Uno y un cable USB del tipo de impresora.


2. Descargar el IDE2 (Integrated Development Envirioment) para configurar y
darle funcionalidad al arduino cargndole programas o Sketches.
3. Conectar el arduino al ordenador, independientemente del tipo de maquina,
el arduino tomar corriente del ordenador y se encender una luz verde
indicando que esta conectado, al mismo tiempo aparecer un cuadro de
dialogo indicando que se ha conectado un nuevo dispositivo. Veremos que
el ordenador nos indicar que el dispositivo no esta configurado pero esto
no es impedimento para empezar a utilizar y configurar el Arduino.

1. http://arduino.cc/en/Guide/HomePage
2. http://arduino.cc/en/Main/Software
4. Cargar el IDE, saldr una ventana que dir Sketch que debe entenderse
como Nuevo Programa para empezar a codificar, hay que saber que el IDE
es muy simple as que al ver la simpleza de la ventana no hay que
preocuparse, siempre y cuando luzca as ( omitir el texto ):

Por ahora vamos a suponer que tenemos un programa ya creado en nuestro


nuevo sketch y que ser hora de cargarlo a nuestro arduino, ms adelante
se explicar como crear un programa para arduino desde 0, por ahora
tomando una salida fcil podemos cargar un ejemplo del IDE, dando clic en
el recuadro que contiene una flecha apuntando haca arriba, veremos
desplegar un men de ejemplos as que elegimos cualquiera ( para fines
prcticos es mejor si seleccionamos algn ejemplo de Basics ).
5. Seleccionar el tipo de Arduino con el que estamos trabajando siguiendo los
siguientes paso: HerramientasTarjeta y seleccionar a partir de ese men,
en este caso ser Arduino Uno

6. Seleccionar el Puerto Serial seleccionando la opcin de


HerramientasPuerto Serial. Para las versionas para Mac regularmente las
opciones a elegir son las que empiezan con /dev/tty. Para versiones nuevas
seleccionar usbmodem... y para versiones antiguas seleccionar
usbserial, a continuacin se presentar la siguiente imagen1 de cmo
debe verse el men

1. Fuente: http://arduino.cc/en/uploads/Guide/ToolsMenu.png
7. Cargar el programa, para esto basta con ir al encabezado del IDE de
arduino, dar clic en la flecha que apunta a la derecha y listo, mientras se
carga el programa se notaran dos leds intermitentes, si se carga
exitosamente aparecer un dialogo indicando que la operacin se realizo
con xito

Luego de terminar, se observar una led intermitente de color anaranjado,


si esto sucede se ha terminado de cargar correctamente el programa.

Tipos de Arduino:

1. Arduino Uno:

Es un microcontrolador con dimensiones de 2.7 pulgadas x 2.1 pulgadas de


largo y ancho respectivamente, tiene un dispositivo en el puerto USB que
permite proteger el puerto USB del ordenador en caso de sobrecarga o
problemas de corriente. En su placa se sitan 14 pines para ser exactos,
cada uno de los cuales pueden usarse como entrada y salida
programndolos con mtodos como pinMode (), digitalWrite (), y las
funciones digitalRead (). En casi todos las presentaciones de Arduinos hay
dos pines llamados RX y TX que se utilizan para recibir y transmitir datos
en serie respectivamente, tambin pueden configurarse para activar
interrupciones con la funcin attachInterrupt(). Tiene 32 KB usando 0.5 Kb
para el gestor e arranque, 2 Kb de SRAM. El Arduino Uno puede
alimentarse por USB o por cargador externo.

2. Arduino Yun:

Las dimensiones del Yun son de 2,7 x 2,1 pulgadas para largo y ancho
respectivamente , con un peso de 0.0406 Kg. Tiene Ethernet, Wifi, entrada
para Micro-SD y 20 pines de entrada y salida, de los que 7 son para salidas
de PWM y el resto son entradas anlogas, un cristal de 16 MHz oscilador,
una conexin micro USB, una cabecera ICSP, y un 3 botones de reposicin (
ver imagen#3 ). Tiene 32 Kb usando 4 Kb para el gestor de arranque, tiene
tambin 2,5 KB de SRAM y 1 KB de EEPROM . Para administrar los 20
terminales se debe auxiliar de los mtodos: pinMode (), digitalWrite (), y
digitalRead (). Adems, algunos pines tienen funciones especializadas: (RX)
y (TX), Se utiliza para recibir (RX) y transmitir (TX) TTL datos en serie.
Para ver como es fsicamente este tipo de arduino ver las imgenes 3, 4 y 5
en la seccin de Anexo.
3. Arduino Micro:

El Arduino Micro se compone de 20 pines digitales de entrada / salida, de


los cuales 7 se utilizan para salidas PWM y 12 entradas como analgicas, un
oscilador de cristal de 16 MHz, una conexin micro USB, un header ICSP, y
un botn de reinicio. Para su funcionamiento basta con conectarlo a un
ordenador con un cable micro USB para empezar. Tiene 32 Kb con 4 Kb
utilizados por el gestor de arranque, tambin tiene 2,5 KB de SRAM y 1 KB
de EEPROM . Cada uno de los terminales 20 digitales en el Micro se pueden
utilizar como una entrada o salida, utilizando pinMode (), digitalWrite (), y
digitalRead ().

Algunos pines especiales como (RX) y (TX) son utilizados para recibir (RX)
y transmitir (TX) datos en serie, y al igual que con los Arduinos uno o yun,
estos pines pueden ser configurados para provocar una interrupcin en un
valor bajo, un flanco ascendente o descendente, o un cambio en el valor.
Para ver como es fsicamente este tipo de arduino ver las imgenes 6, 7 y 8
en la seccin de Anexo.

4. Arduino Robot:

Con una memoria de 32 KB usando 4 Kb por el gestor de arranque, tiene


tambin 2,5 Kb de SRAM y 1 Kb de EEPROM. Cuenta tambin con un lector
de tarjetas SD externa conectada a la pantalla GTFT que se puede acceder
por el procesador de la tarjeta de control para el almacenamiento adicional.
Se distingue fcilmente de los dems modelos por ser el primer Arduino
sobre ruedas, teniendo 19cm de dimetro (ver imagen#9 e imagen#10 en la
seccin de Anexos). El dispositivo Incluye las ruedas, pantalla GTFT y otros
conectores. El Arduino Robot tiene dos lados o tableros en los cuales tiene
dos procesadores en total ( 1 procesador por cada tablero ), estos tableros
se programan utilizando el IDE antes descrito. El robot viene con una serie
de conectores pre-soldadas. Hay una serie de puntos adicionales para usted
para instalar piezas adicionales si es necesario ( ver imagen#11 e
imagen#12 ).

Estructura del Lenguaje de Programacin de Arduino:

Un programa o Sketch en arduino se compone de tres partes esenciales que son:


Estructuras, Valores y Funciones.

Estructuras: Existen estructuras de control relacionadas como bifurcaciones,


ciclos, etc. As como estructuras referentes a la sintaxis del programa por ejemplo:
la manera de definir un comentario, operadores aritmticos o lgicos acceso con
apuntadores; Pero de todo lo ms importante son dos estructuras llamadas
setup() y loop().
La estructura Setup, juega el rol de un constructor de clase visto desde el punto de
vista del lenguaje Java, es decir, nada ms se ejecuta una sola vez y en esa ejecucin
se inicializan las variables, los modos de los pines ( definiendo cuales ser de
entrada o salida ) y como se menciono antes, solo se ejecutar una vez cada que se
encienda el arduino o se reinicie.

La estructura Loop, hace exactamente lo que su nombre dice, es un ciclo repetitivo


del cual se auxilia arduino para pruebas y poder observar el comportamiento de
este bajo ciertos casos que se especifican con programacin.

Valores: Este se divide en valores constantes y valores variables, como panorama


general se mencionar que el lenguaje de programacin de este es muy parecido a
java.

Constantes:

o Hi/Low: Referentes a los valores que puede tomar un pin en su lectura o


escritura, s el voltaje en el pin es mayor o igual a 3 voltios se debe usar Hi
en caso contraro s el voltaje es menor o igual a 2 voltios se usa Low, cabe
mencionar que esto depender mucho de si el pin es para Input o OutPut y
tambin depender de qu pin es el que se utilizar.

o True/False: Entendidos como valores lgicos como en cualquier lengauje de


programacin con la diferencia que True debe entenderse como cualquier
valor diferente de 0, es decir -20 20 pueden representar un valor de true
mientras que el 0 siempre representar un false.

o Led_Builtin: Es un led que se puede manipular como variable a nivel de


programacin, usualmente en los modelos de arduino se trabaja con el pin
13.

Variables: La forma de declarar variables es colocando primero el tipo de la


variable, en segundo lugar el nombre ( declaracin simple ) y puede llevar
como tercer lugar una asignacin de la variable ( esta asignacin puede
venir en la misma declaracin o ir en otra lnea )

o Void: Usado nicamente en mtodos haciendo referencia a que el mtodo


no devolver ningn valor, Ejemplo:

void encenderLed()
{
// sentencias
}
o Boolean: Usa 1 byte de memoria y puede almacenar solo dos valores True o
False, Ejemplo:

boolean flag = true;

o Char: Define un solo carcter entre comilla simpe y ocupa 1 byte de


memoria, Ejemplo:

char carcter = a ;

o Int: Se almacena en 2 bytes de memoria logrando guardar nmeros enteros


que van de -32,768 a 32,767, Ejemplo:

int numero = 0;

o Double: Se almacena en 4 bytes de memoria y guarda valores de coma


flotante o nmeros decimales, Ejemplo:

doble decimal ;
decimal = 3.12;

o Word: Se almacena 2 bytes de informacin guardando nmeros enteros sin


signos que van de 0 a 65536, Ejemplo:

word numero = 123;

Mtodos: La sintaxis para un mtodo es:

Tipo nombre ( parmetros ) {


// sentencias
}

Tipo: Se refiere al tipo de variable que el mtodo devolver.


Nombre: Nombre del mtodo
Parmetros: pueden venir o no y su sintaxis es: tipo nombre.
Sentencias: Ac ya va el cdigo de programacin.

Ejemplo:
int getSuma( int numero1, int numero2)
{
return numero1+numero2;
}
Errores Comunes:

1. No puedo cargar mi programa a mi arduino? Esto puede deberse a una serie


de causas tanto de software ( tener el driver incorrecto del arduino por
ejemplo ) como de hardware ( tener un cable usb no funcional ) pero la
mayora de veces se resuelve revisando el cable usb, puertos usb del
arduino y 3 veces, para solucionar este problema del ordenador y se el
problema sigue, verificar que el Serial Port sea el correcto para el arduino
con el que se trabaja.

2. Por qu no corre mi programa en mi arduino cuando lo enciendo con una


fuente externa? La mayora de veces se debe a que un pin de la placa esta
desconectada, suele ser el pin RX que debe ir a tierra con una resistencia de
10k.

3. Por qu mi arduino tarda mucho en cargar un sketch? Este problema esta


ligado comnmente al bootloader llamado NG, para identificar que el
arduino posee este bootloader basta con resetear (con software ) el
arduino y verificar que el led en el pin 13 se apagar y encender 3 veces,
para solucionar este problema se debe instalar un bootloader ms
actualizado al arduino.

4. Al compilar el sketch no me encuentra la Main Class? Seguramente no se


descomprimi correctamente el archivo de arduino, el archivo que no se
encuentra especficamente es este: pde.jar localizado en la carpeta lib.

5. Mi programa se carga exitosamente pero mi arduino no hace nada? Este


problema se resuelve en su mayora de veces seleccionando el arduino
correcto en el momento de seleccionar algn modelo especifico para cargar
el sketch. Asegurar que el modelo seleccionado coincida con el modelo con
el que se trabaja.
Preguntas Frecuentes:

1. Puedo crear un proyecto basado en arduino y hacer dinero con ello? S, de


hecho la idea de arduino sea de open-source hardware es esa, que cada
quien modifique y use a su conveniencia el arduino siempre y cuando
respetando las polticas de uso.

2. Al modificar el hardware de arduino, corro algn problema legal? No, el


propsito de arduino es ese mismo, ya que al ser de open-source cada
quien puede comprar o crear su propio arduino de desearlo, solo basta con
bajar los circuitos de la pagina de arduino, conseguir los componentes,
soldarlos y listo.

3. Tengo que informar a la empresa de Arduino obligatoriamente cada


proyecto que creo, aunque este sea de uso personal sin fines de lucro? No, el
objetivo que se busca es que cada proyecto que se haga usando arduino se
suba a internet y se comparta para que ms personas en el mundo
aprendan, se inspiren y colaboren, pero no es una obligacin.

4. Puedo usar otros IDEs para cargar mis sketches a mi arduino? Si, se
recomienda que se use el IDE Arduino pero no es una obligacin.

5. En donde se crean los Arduinos Oficiales? Italia.


CONCLUSIONES

Aprender a usar Arduino sin conocer absolutamente nada es fcil

Trabajar con Arduino es barato

Hay mucha documentacin de Arduino en internet

Arduino es una buena opcin para crear proyectos propios debido a


la gran comunidad que se aloja en internet que apoya los proyectos
ajenos
RECOMENDACIONES

Se recomienda al lector que de una atencin especial a la versin de


Arduino ( Uno ) con el que se creo este trabajo ya que hay otras versiones
como el Omega que trabajan y se configuracin de la misma forma que el
Arduino Uno pero la gran mayora de estos dispositivos electrnicos siguen
lineamientos diferentes por lo que si se trabaja con un Arduino como el Yun
por ejemplo lo ms probable esta teora no respalde el funcionamiento de
este.
BIBLIOGRAFA

http://arduino.cc/en/Guide/Troubleshooting

http://arduino.cc/en/Guide/MacOSX

http://arduino.cc/en/Guide/HomePage

http://arduino.cc/en/Main/Products

http://arduino.cc/en/Reference/HomePage

http://arduino.cc/en/Main/FAQ

http://es.wikipedia.org/wiki/Arduino

http://gizmologia.com/2014/03/hardware-novatos-arduino

http://alt1040.com/2013/04/usos-creativos-de-arduino

http://www.arduteka.com/arduino/
ENLACES DE AYUDA

https://www.youtube.com/watch?v=Kgz0vD1vSxY

https://www.youtube.com/watch?v=UoBUXOOdLXY

https://www.youtube.com/watch?v=lQNCwEGOUUE
ANEXOS

Imagen#1: Arduino Uno, Vista Frontal.

Imagen#2: Arduino Uno, Vista Trasera.

Imagen#3: Arduino Yun, Esquema General:


Imagen#4: Arduino Yun, Vista Frontal:

Imagen#5: Arduino Yun, Vista Trasera:

Imagen#6: Arduino Micro, Esquema General:

Imagen#7: Arduino Micro, Vista Frontal:


Imagen#8: Arduino Micro, Vista Trasera:

Imagen#9: Arduino Robot, Vista Trasera:

Imagen#10: Arduino Robot, Vista Trasera:


Imagen#11: Arduino Robot, Vista Frontal:

Imagen#12: Arduino Robot, Vista Frontal:

Potrebbero piacerti anche