21
Arduino – Lección 0 – Conociendo Arduino En esta primera lección no vamos a aprender mucho acerca de electrónicos, sino que vamos a aprender un poco de lo que es Arduino y sus principales características. Además te diremos que es lo que necesitas para empezar a trabajar con los proyectos que veremos en estas lecciones. Arduino es una plataforma “open source” para prototipado electrónico basado en un hardware y software amigable y de fácil uso. Está pensado para el uso de artistas, diseñadores, aficionados de la electrónica, hardware hackers y cualquier persona interesada en crear objetos, hardware o ambientes interactivos. La plataforma Arduino se compone de dos partes que son: Software: Integrated Development Environment (IDE) en el cual vamos a codificar, compilar y descargar a la tarjeta nuestros programas de Arduino.

Conociendo Arduino UNO

Embed Size (px)

DESCRIPTION

Programacion

Citation preview

  • Arduino Leccin 0 Conociendo Arduino

    En esta primera leccin no vamos a aprender mucho acerca de electrnicos, sino que vamos a

    aprender un poco de lo que es Arduino y sus principales caractersticas. Adems te diremos que

    es lo que necesitas para empezar a trabajar con los proyectos que veremos en estas lecciones.

    Arduino es una plataforma open source para prototipado electrnico basado en un hardware y

    software amigable y de fcil uso. Est pensado para el uso de artistas, diseadores, aficionados

    de la electrnica, hardware hackers y cualquier persona interesada en crear objetos, hardware o

    ambientes interactivos. La plataforma Arduino se compone de dos partes que son:

    Software: Integrated Development Environment (IDE) en el cual vamos a codificar, compilar y

    descargar a la tarjeta nuestros programas de Arduino.

  • Hardware: Se trata de una placa de desarrollo la cual contiene un microcontrolador Atmega,

    existes muchas versiones de la placa pero para motivos de esta leccin vamos a usar la placa de

    Arduino Uno R3. Las partes que conforman la placa son:

    -Microcontrolador Atmega328

    -14 Pines digitales I/O (Entrada/Salida, 6 salidas PWM).

    -6 entradas anlogas.

    -Memoria flash de 32 KB (dentro del Microcontrolador Atmega).

    -SRAM de 2 KB (dentro del Microcontrolador Atmega).

    -Memoria EEPROM de 1 KB (dentro del Microcontrolador Atmega).

    -Reloj de 16 MHz.

  • Arduino Leccin 1 Hello World!

    En esta primer leccin de Arduino por fin nos pondremos a programar un poco en nuestra tarjeta

    de desarrollo y para esto vamos a realizar el famossimo Hello World! que en nuestro caso

    vamos a hacer parpadear un LED. Pero antes vamos a enlistar las cosas que necesitamos para

    nuestro primer hack.

    1.-Arduino Uno (Tarjeta de desarrollo)

    2.-Cable USB-Serial: Este cable nos servir para conectar nuestra tarjeta Arduino a nuestra

    computadora.

    3.-LED: Este pequeo componente es un semiconductor que emite luz y que ser la prueba de

    que nuestro programa funciona.

    http://hardwarehackingmx.files.wordpress.com/2013/05/20130531-015205.jpg
  • Antes que nada debemos de descargar nuestro software de desarrollo, en este software es donde

    vamos a programar nuestro Arduino. Para esto tenemos que ingresar a la siguiente pagina:

    http://www.arduino.cc/en/Main/Software

    Una vez que lo hayas descargado procedemos a abrir el programa y veremos una pantalla como

    la siguiente:

    http://www.arduino.cc/en/Main/Softwarehttp://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_30_05_13_22_17.png
  • Para ahorrarnos un poco de tiempo y no escribir todo el programa haremos uso de los ejemplos

    con los que cuenta el IDE de Arduino. Lo haremos como se muestra en la siguiente imagen:

    http://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_30_05_13_22_23.png
  • Ahora tenemos en nuestro programa el siguiente cdigo:

    http://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_30_05_13_22_50.png
  • Ms adelante explicaremos que es lo que hace cada parte del cdigo, por lo pronto sigamos

    adelante.

    Ahora hay que conectar el LED en el Arduino de la siguiente manera:

    http://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_30_05_13_23_16.png
  • Ahora seleccionamos el tipo de tarjeta que en nuestro caso es un Arduino Uno

    http://hardwarehackingmx.files.wordpress.com/2013/05/untitled_sketch_bb_20-36-10.png
  • Y seleccionamos el puesto Serial correcto para poder bajar el cdigo en nuestra tarjeta.

    http://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_30_05_13_23_42.png
  • Ahora damos click en cargar y empezaremos ver a nuestro LED parpadear.

    http://hardwarehackingmx.files.wordpress.com/2013/05/captura_de_pantalla_2013-05-30_a_la_s__23-44-04.png
  • Explicacin del cdigo

    //Poner doble diagonal significa comentario, lo que nos permite

    //escribir texto sin afectar el cdigo

    //Creamos una variable llamada LED,

    // a esta variable asignamos un numero que

    // en nuestro caso es el 13

    int led = 13;

    // Esta es una rutina de inicializacin donde hacemos configuraciones

    void setup() {

    // inicializamos el Pin 13, que es el del nuestro LED como salida

    pinMode(led, OUTPUT);

    http://hardwarehackingmx.files.wordpress.com/2013/05/evernote-snapshot-20130530-235008.jpg
  • }

    // Aqu creamos una rutina llamada Loop, la cual se corre de manera infinita

    // vaya, significa que cuando termina la rutina vuelve a empezar

    void loop() {

    digitalWrite(led, HIGH); // Escribimos en nuestro pin con HIGH

    // Esto significa que mandamos seal alta o de prendido

    delay(1000); // creamos un retraso o delay de 1000 ms = 1 segundo

    //De esta manera permanecer encendido el LED por un segundo

    digitalWrite(led, LOW); // Escribimos en nuestro pin con LOW

    // Esto significa que mandamos seal baja o de apagado

    delay(1000); // creamos un retraso o delay de 1000 ms = 1 segundo

    //De esta manera permanecer apagado el LED por un segundo

    }

  • Leccin 2 Arduino Introduccin al

    lenguaje de programacin de Arduino

    Como has visto en las anteriores lecciones a este Arduino cuenta con su propio lenguaje de

    programacin. Es preferible que cuando quieras programar en Arduino cuentes con un poco de

    experiencia en el rea de programacin ya que esto har ms gil el aprendizaje de estas

    lecciones. Si no tienes mucha experiencia programando te recomendamos que no te desesperes,

    tal vez entiendas rpido que es lo que estamos haciendo. De otra manera si te gustara aprender

    ms acerca de programacin te recomendamos paginas como

    Codeacademy http://www.codecademy.com/es/learn. Por lo pronto sigamos adelante y

    aprendamos ms de acerca de la programacin de Arduino. Vamos a dividir en secciones este

    post a manera que sea ms fcil su comprensin.

    Software de desarrollo

    En la imagen hemos sealado con letras algunos de los botones que vamos a describir.

    http://www.codecademy.com/es/learn
  • a.-Verificar: Ayuda a que el entorno de desarrollo nos revise nuestro cdigo, posiblemente

    hayamos programado o escrito algo de manera incorrecta pero con este botn se podr revisar

    para saber si todo est bien.

    b.-Cargar: Una vez que verifiquemos que nuestro cdigo est bien escrito necesitaremos cargar

    el cdigo a la tarjeta. Con este botn cargaremos nuestro proyecto en la tarjeta para poder

    correrlo. Este botn ser el que ms utilizaremos en todas las lecciones y proyectos con Arduino.

    c.-Nuevo: Es para crear un nuevo proyecto, en nuestro caso no lo usaremos mucho.

    d.- Abrir: Abre proyectos existentes o demos que estn guardadas.

    e.-Guardar: Guarda el proyecto que tenemos abierto en la ventana.

    http://hardwarehackingmx.files.wordpress.com/2013/06/captura_de_pantalla_01_06_13_18_21.png
  • Nota: Posiblemente estes usando otros sistemas operativos como windows o Linux, pero no te

    preocupes, los botones tienen prcticamente las mismas funciones.

    Estructura Bsica de un programa

    La estructura de nuestro programas de Arduino son demasiado simples y se conforman de dos

    partes o funciones las cuales son:

    setup() : En esta parte se se hace la preparacin del programa, por ejemplo asignacin de los pines de Entrada/Salida.

    loop() : Es la ejecucin de nuestro programa, esta parte es la que siempre se est ejecutando. En pocas palabras es nuestro programa principal.

    Como ya habamos dicho antes las dobles diagonales (//) significan comentario, y todo lo que

    escribamos despus de estas ser ignorado por nuestro programa y no se ejecutar.

    void setup() {

    }

    void loop() {

    }

    Variables

    Una variable es un tipo de dato, que como su nombre lo dice su valor o contenido varia

    dependiendo la operacin que hagamos con ella. Existen diferentes tipos de variables como: int,

    float, char, etc. Por el momento no explicaremos todas pero conforme vayamos necesitando en la

    lecciones las explicaremos, por lo pronto describiremos las ms comunes:

    Byte: Almacena valores numricos de 8 bits, lo que significa que solo podemos almacenar valores de 0 a 255.

    Int: Almacena valores enteros de 16 bits, su rango va desde -32,768 a 32,767. long: Almacena valores de 32 bits, su rango va desde -2,147,483,648 a 2,147,483,647. float: Almacena valores de tipo flotantes de 32 bits, significa que podemos hacer uso de

    decimales. Su rango: -3.4028235E+38 a 3.4028235E+38. char: Es un tipo de dato que ocupa un byte de memoria y almacena un valor de carcter. Los

    carcteres literales se escriben con comillas simples: A (para varios carcteres -strings- utiliza dobles comillas ABC).

    Para poder usar una variable dentro de nuestro programa primero tenemos que declararla, qu

    significa esto?, significa que le decimos al programa que nos reserve un espacio en memoria para

    nuestro dato variable.

    Las variables pueden ser globales o locales. Las variables globales son usadas en todo el ciclo de

    vida del programa, las variables locales solamente se usan en pequeos pedazos de cdigo y

    despus ya no se utilizan.

  • Por lo general las variables globales se declaran antes del setup():

    int var; //Es una variable global

    void setup() {

    // No se requiere modificar en el setup()

    }

    Las variables pueden tomar valores desde un principio, por ejemplo:

    int var = 0;

    Esto significa que nuestra variable de tipo int (entero) llamada var tomara el valor de 0 para

    empezar a correr el programa, conforme avance nuestro programa avanza var puede tomar

    otros valores.

    Operaciones Aritmticas

    En este lenguaje de programacin existen operadores aritmticos tales como suma(+), resta(-

    ), multiplicacin (*), divisin (/), residuo(%) y asignacin(=). Estos operadores actan

    sobre las variables y constantes por ejemplo:

    int x, y; //Aqu declaramos dos variables las cuales son x y y

    //Le damos valores a nuestras variables

    x = 0;

    y = 5;

    //Hacemos una operacin con nuestras variables

  • //Aqu sumamos el valor de y (que es 5), se lo sumamos a 5 y lo guardamos en x

    //Por lo tanto x va a valer 10 despus de la ejecucin de este pequeo cdigo

    x = y + 5;

    Operaciones Lgicas

    As como existen operaciones aritmticas existen tambin operadores lgicos como:

    And (&&) Or (||) Not(!)

    Estos operadores se pueden usar dentro de operaciones condicionales o en una sentencia if. Ms

    adelante hablaremos ms de esto. Ahora solo lo explicaremos:

    && (AND)

    Verdadero slo si ambos operadores son Verdadero, por ejemplo:

    if (x == 5 && y == 10) {

    //

    }

    esa sentencia if solo se ejecutar si x vale 5 y si y vale 10.

    || (OR):

    Verdadero si alguno de los dos (o los dos) operadores son Verdadero, por ejemplo:

    if (x == 5 || y == 10) {

    //

    }

    esa sentencia if solo se ejecutar si x vale 5 y/o si y vale 10.

    ! (NOT)

    Verdadero si el operador es Falso, por ejempo:

    if (!x) {

    http://arduino.cc/es/Reference/If
  • //

    }

    Es Verdadero si el valor de x es Falso .

    Tal vez en estos momentos no entiendas mucho de lo que estamos hablando pero no te

    preocupes, conforme vayamos avanzando y aprendiendo ms todo tendr sentido.

    Estructuras de control o decisin

    Existen diferentes estructuras para la toma de decisiones en un programa, algunas sentencias nos

    sirven para hacer algo si pasa algo o mientras pasa algo. Vamos a la explicacin y tal vez

    con los ejemplos nos entendamos mejor.

    Estructura if, condicional

    if, el cual puede ser usado en conjunto con uno o ms operadores de comparacin, comprueba si

    cierta condicin se cumple, por ejemplo, si un input posee un valor mayor a cierto nmero. El

    formato para una comprobacin if es el siguiente:

    if (algunaVariable > 50)

    {

    // hacer algo aqu.

    }

    Este programa comprueba si la variable algunaVariable es mayor a 50. Si lo es, el programa

    toma una accin particular. Dicho de otra forma, si la declaracin escrita dentro de los parntesis

    es verdadera (true), el cdigo dentro de las llaves se ejecutar. Sino, el programa ignora dicho

    cdigo.

    Estatuto ifelse

    if/else permite mayor control sobre el flujo del cdigo que la declaracin if bsica, por permitir

    agrupar mltiples comprobaciones. Por ejemplo, un input anlogo podra ser comprobado, y

    tomarse una accin si el valor del inputes menor a 500, y, otra accin se ser igual o mayor a 500.

    El cdigo se vera as:

    if (pinCincoInput < 500)

    {

    // accin A

  • }

    else

    {

    // accin B

    }

    else puede proceder a una comprobacin if, de esta forma, se pueden realizar mltiples

    comprobaciones en una misma estructura de condiciones.

    Estatuto for

    La declaracin for es usada para repetir un bloque encerrado entre llaves. Un incremento de un

    contador es usado, normalmente, para aumentar y terminar con el bucle. La estructura for es muy

    til para la mayora de las operaciones repetitivas, y habitualmente se usa para operaciones con

    vectores, para operar sobre conjuntos de datos/pines

    El ciclo for tiene tres partes o argumentos en su inicializacin:

    for (inicializacin; condicin; incremento) {

    //funcin(es);

    }

    La inicializacin , o inicializacin, se produce slo la primera vez. Cada vez que se va a repetir

    el bucle, se revisa la condicin, o condicin: si es cierta, el bloque de funciones (y el incremento

    del contador) se ejecutan, y la condicin vuelve a ser comprobada de nuevo. Si la condicin es

    falsa, el ciclo termina.

    Ciclo while()

    Los ciclos while se ejecutan continuamente, hasta que la expresin de dentro del parntesis, (),

    pasa a ser falsa. Algo debe modificar la variable comprobada, el ciclo while nunca terminar. Lo

    que modifique la variable puede estar en el cdigo, como una variable que se incrementa, o ser

    una condicin externa, como el valor que da un sensor.

    while(expresion){

    // sentencia(s)

    }

  • Ciclo dowhile

    El ciclo do trabaja de la misma manera que el ciclo while, con la excepcion de que la

    condicin se comprueba al final del bucle, por lo que este bucle se ejecuta siempre al menos

    una vez.

    do

    {

    // bloque de instrucciones

    } while (condicin);

    Esto fue una pequea introduccin a la programacin de Arduino, solo tocamos pequeos temas

    que estaremos usando el lecciones posteriores. Ser normal que si ya has programado antes todo

    lo anterior te parezca muy familiar, eso es bueno y servir como un repaso. Si nunca has

    programado y esto te parece totalmente nuevo no te preocupes, poco a poco conforme

    avancemos en las lecciones empezaras a entender.

    Si quieres empezar a conocer ms por tu cuenta te invitamos a que le des un vistazo a la pagina

    de referencia de Arduino donde viene un poco ms explicado y con algunos ejemplos.

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

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