Taller Programación de Arduino I

6
UNIVERSIDAD DE BOYACÁ FACULTAD DE CIENCIAS E INGENIERÍA PROGRAMA DE INGENIERÍA MECATRÓNICA TALLER– PROGRAMACIÓN ARDUINO DOCENTE: MSC ELKIN YESID VESLIN DÍAZ TUNJA 05 DE OCTUBRE DE 2012 ¿Qué es Arduino? Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Arduino puede tomar información del entorno a través 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 programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). 1 La estructura de programación es muy sencilla a comparación de otros compiladores, los cuales trabajan a través de lenguaje assembler o ensamblador que es una secuencia digital combinada con funciones. Este lenguaje no es fácil 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. Físicamente consta de 14 pines de entrada/salida digital para propósito general, es decir que un pin puede ser utilizado tanto como para entrada como para salida, un puerto de comunicación serial, 6 canales analógicos 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, además de eso posee otras bondades para programación de alto nivel, que involucra Watch Dogs, registros, interface serial, entre otros. 1 Extraído del sitio oficial: www.arduino.cc/es

Transcript of Taller Programación de Arduino I

  • 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