UNIVERSIDAD DE BOYAC FACULTAD DE CIENCIAS E INGENIERA
PROGRAMA DE INGENIERA MECATRNICA TALLER PROGRAMACIN ARDUINO
DOCENTE: MSC ELKIN YESID VESLIN DAZ TUNJA 05 DE OCTUBRE DE 2012
Qu es Arduino?
Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en
software y hardware flexibles y fciles de usar.
Arduino puede tomar informacin del entorno a travs de sus pines de entrada 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).1
La estructura de programacin es muy sencilla a comparacin de otros compiladores, los cuales
trabajan a travs de lenguaje assembler o ensamblador que es una secuencia digital combinada
con funciones. Este lenguaje no es fcil de entender y generalmente constituye un impedimento
para comenzar a trabajar con Microcontroladores. Arduino facilita este aspecto, permitiendo el
desarrollo de programas en lenguaje estructurado que se pueden entender.
El Microcontrolador Atmega 328P
ATMEGA 328P es el Microcontrolador que se implementa en el Kit Arduino Uno, consta de una
memoria flash de 32KB la cual tiene la posibilidad de leer y escribir al mismo tiempo, una memoria
RAM EEPROM de 1024 Bytes y 2KB de memoria SRAM. Fsicamente consta de 14 pines de
entrada/salida digital para propsito general, es decir que un pin puede ser utilizado tanto como
para entrada como para salida, un puerto de comunicacin serial, 6 canales analgicos con
capacidad para convertir datos en formato digital, 5 canales digitales funcionan como salidas PWM
que permiten controlar servomotores y otro sensores que requieran salidas de este tipo, adems
de eso posee otras bondades para programacin de alto nivel, que involucra Watch Dogs,
registros, interface serial, entre otros.
1 Extrado del sitio oficial: www.arduino.cc/es
La
Figura 1 describe como estn ubicados fsicamente los elementos mencionados en el prrafo
anterior.
Figura 1. Mapeado de los pines del Microcontrolador ATMEGA 328P-PU
Sin embargo, si se desea realizar una instalacin del Microcontrolador ATMEGA fuera de la
estacin de desarrollo Arduino es posible, lo importante es administrar correctamente la
alimentacin elctrica y configurar otros elementos como el cristal, el reset y el led de encendido,
para esto se recomienda visitar el siguiente Link donde se describe paso a paso cmo se puede
realizar dicha tarea.
http://arduino.cc/en/Main/Standalone
Descripcin Fsica de la Tarjeta Arduino UNO La estacin de trabajo Arduino UNO reorganiza la localizacin de los pines descritos en la Figura 1,
cuenta tambin con un mdulo de comunicacin que facilita la comunicacin serial a travs de la
USB, un mdulo de alimentacin externa en caso de que no se pueda conectar a un computador,
botn de Reset para reiniciar el Microcontrolador en caso de bloqueo, un led Indicador de
encendido ON y los leds de comunicacin Rx, Tx que indican cando se est haciendo
comunicacin con el computador. La organizacin de los pines se distribuye en tres grupos:
Se entiende a Arduino como una estacin de desarrollo que conecta al micrcontrolador con el PC, para editar, compilar y cargar el programa realizado por el usario. Fsicamente, la estrucutra de Arduino contiene elementos clsicos para el funcionamiento del chip, como lo son la alimentacin regulada a 5 V y el cristal de cuarzo que proporciona el reloj, adems cuenta con puertos de conexin que facilitan la interaccin con otros componentes electrnicos, mejorando as la experiencia del usuario.
Nota
Figura 2. Arquitectura Estacin de desarrollo Arduino 1.
Entorno de trabajo Arduino
El entorno de trabajo del programa de computador que controla a Arduino UNO es bastante
simple, bsicamente consta de tres secciones muy bien diferenciadas descritas en la
Para crear un nuevo programa, bsicamente basta con dar clic en el espacio de trabajo y
aparecer el cursor titilante de texto
Cuenta con conexin fsica para extraer 5V, 3,3 V, GND y el voltaje de alimentacin para el microcontrolador (el cual no se usa porque es suministrado a travs del cable USB). Power proporciona estas seales elctricas para ser usadas en los proyectos, si se requiere de 5V se conecta en el pin sealado.
Power
Cuenta con 6 pines de tipo analgico, descritas anteriormente que proporcionan una interfaz I/O con dispositivos de las mismas caractersticas como sensores, potencimetros, entre otros.
Analog In (AI)
Proporciona 14 entradas digitales de tipo I/O que permiten la interfaz con dipositivos de similares caractersitcas tales como interruptores, leds, algunos sensores digitlales, entre otros. Tambin cuenta con pines denominados PWM~ que permiten enviar seales de este tipo para controlar servomotores.
Digital (PWM~)
Power
AI
Digital PWM~
Figura 3. Descripcin del espacio de trabajo de ARDUINO.
Estructura de Programacin Arduino
El siguiente programa presenta una estructura ejemplo que muestra cmo se ordena un cdigo de
programacin en Arduino, posteriormente se explicarn ciertas particularidades.
int pinLed=13;
void setup( ) {
pinMode(pinLed, OUTPUT); }
void loop( ) {
digitalWrite(pinLed, HIGH); // Enciende un Led delay(1000); // Espera un segundo digitalWrite(pinLed, LOW); // Apaga el Led delay(1000); // Espera un segundo
}
Libreras: Son archivos del programa que guardan funciones exclusivas con determinados propsitos. Existen libreras para controlar servomotores (Servo.h), para controlar pantallas de
Espacio de trabajo donde el usario edita
el programa que se cargar en el micrcontolador.
Iconos de accin que en orden realizan las siguientes
acciones: Compilar Programa, Cargar Programa, Crear Nuevo Programa, Abrir Programa y Salvar Programa.
Men de opciones generales, tomar nota del men Tools y File/Example que contiene
informacin suficiente para ser autodidacta en el aprendizaje de
programacin atravs de ARDUINO
1
2
3
Encabezado: Aqu van libreras si son necesarias y se definen las variables
que usar el programa
Void Setup: configura al Microcontrolador de acuerdo con las
especificaciones del usuario.
Void Loop: cuerpo del programa, es una estructura que se repite
indefinidamente mientras el
Microcontrolador est alimentado.
cristal lquido (LiquidCrystal.h), para controlar la conexin del Microcontrolador con Ethernet
(Ethernet.h), entre otras. Las libreras se editan de la misma forma que en C++, utilizando la
estructura #include, que se usar en el programa. Algunas veces Arduino no viene preinstalado con todas las libreras
por lo que a veces se tienen que descargar desde men por Sketch/Import Library
Configuracin: A travs del Void Setup es posible configurar elementos del Microcontrolador, por ejemplo los 14 pines I/O se pueden configurar como entradas (INPUT) para recibir seales de un
interruptor o sensor digital, o salidas (OUTPUT) para controlar dispositivos digitales. Esta
configuracin es nica para cada programa, por lo que no se pueden realizar cambios de este tipo
durante el desarrollo del programa.
Void Loop: Durante su ejecucin los Microcontroladores repiten indefinidamente el cdigo en l escrito. El void loop realiza esa analoga dentro del programa, y hace entender al usuario que el
cdigo en l contenido ser ejecutado repetitivamente.
Configuracin de Salidas Digitales
El Programa anterior ejecuta una instruccin que permite al Microcontrolador encender y apagar
el led durante un segundo para cada caso. Para esto se establece en el encabezado que dicho led
estar conectado en el Pin 13 a travs de la constante pinLed. Para este ejemplo, la constante se
define desde el encabezado igual a 13, esto quiere decir que el pin I/O digital nmero 13 del
Microcontrolador se encargar de controlar la activacin del dispositivo.
pinLed=13; //Crea la constante pinLed con un valor de 13
Para definir que el pin 13 ser una salida, desde el void setup se configura como tal con la
instruccin pinMode(pin,modo), donde pin se encarga de definir numricamente cual elemento
ser configurado de acuerdo con modo, el cual slo tiene dos casos INPUT (entrada) u OUTPUT
(salida).
pinMode(pinLed, OUTPUT); //Configura al pin 13 denominado pinLed como salida
Figura 4. Diagrama de Conexiones. Modo Fsico, modo de Esquemas.
Ejercicios:
Realizar el esquema electrnico descrito en Figura 4. Escribir el programa descrito en el
entorno de programacin Arduino.
Una vez escrito el programa en Arduino, utilizar el botn para verificar el programa si
no tiene un error de sintxis, si esto llega a suceder, consultar con el docente para analizar
que sucede.
Si la sintaxis est correcta, se puede cargar el programa al Microcontrolador a travs del
botn . Este se encarga de compilar el programa y enviarlo al microcontrolador.
Durante este proceso es importante verificar si los leds Tx y Rx titilan, esto quiere decir
que se est escribiendo el programa en el dipostivo.
Modificar el programa y el diagrama electrnico de forma que el Microcontrolador pueda
encender el led desde el Pin 6.
Modificar el programa de tal forma que el led permanezca encendido por 2 segundos y
apagado por 500 milisegundos.
Desarrolle el siguiente esquema:
Desarrollar un programa que controle dos leds conectados a los pines 13 y 4 de
forma que primero encienda el led 4 durante dos segundos, se apaga, luego
encienda el led 13 durante dos segundos y luego se apague.
Cree un programa Libremente que ejecute diferentes estrategias de encendido
para los Leds.
Si existen problemas en el momento de cargar el programa es imporante verificar si el entorno de Arduino est configurado para la plataforma Arduino Uno, esto se hace en el men Tools/Board/Arduino Uno.
Si el problema persiste posiblemente el entorno de programacin est conectado a un puerto serial equivocado, para esto en el men Tools/Serial Port/... y se selecciona el puerto correspondiente. La nica forma de conocer en que puerto est conectado el Arduino es atravs del Administrador de Dispositivos de Windows.
Nota