miércoles, 3 de diciembre de 2014

SOFTWARE EN EL ARDUINO

A continuación se dará a conocer la definición de Software:

Un software (“entorno de desarrollo”) gratis, libre y multiplataforma (compatible con Linux, MacOS y Windows) que debemos instalar en nuestro ordenador y que nos permite escribir, verificar y guardar en la memoria del microcontrolador de la placa Arduino que  nos permite programarlo. La manera estándar de conectar nuestro computador con la placa Arduino para poder enviarle y grabarle instrucciones es mediante un simple cable USB, gracias a que la mayoría de placas Arduino incorporan un conector de este tipo.


Para mayor información has click .

S.O.
SISTEMAS OPERATIVOS MÁS USADOS
Windows 7
47.52%
Windows XP
28.98%
Windows 8
6.89%
Windows Vista
3.61%
Windows 8.1
3.60%
Mac OsX 10.9
2.79%
Linux
1.73%
Otro
4.88%
TOTAL
100.00%



Un lenguaje de programación libre. Por “lenguaje de programación” se entiende cualquier idioma artificial diseñado para expresar instrucciones (siguiendo unas determinadas reglas sintácticas) que pueden ser llevadas a cabo por máquinas. Concretamente dentro del lenguaje Arduino, encontramos elementos parecidos a muchos otros lenguajes de programación existentes (como los bloques condicionales, los bloques repetitivos, las variables, etc.), así como también diferentes comandos – asimismo llamados “órdenes” o “funciones” – que nos permiten especificar de una forma coherente y sin errores las instrucciones exactas que queremos programar en el microcontrolador de la placa. Estos comandos los escribimos mediante el entorno de desarrollo Arduino.

Tanto el entorno de desarrollo como el lenguaje de programación Arduino están inspirado en otro entorno y lenguaje libre preexistente: Processing (http://www.processing.org), desarrollado inicialmente por Ben Fry y Casey Reas.

Que el software Arduino se parezca tanto a Processing no es casualidad, ya que este está especializado en facilitar la generación de imágenes en tiempo real, de animaciones y de interacciones visuales, por lo que muchos profesores del Instituto de Diseño de Ivrea lo utilizaban en sus clases. Como fue en ese centro donde precisamente se inventó Arduino es natural que ambos entornos y lenguajes guarden bastante similitud. No obstante, hay que aclarar que el lenguaje Processing está construido internamente con código escrito en lenguaje Java, mientras que el lenguaje Arduino se basa internamente en código C/C++. 



Con Arduino se pueden realizar multitud de proyectos de rango muy variado: desde robótica hasta domótica, pasando por monitorización de sensores ambientales, sistemas de navegación, telemática, etc. Realmente, las posibilidades de esta plataforma para el desarrollo de productos electrónicos son prácticamente infinitas y tan solo están limitadas por nuestra imaginación.



SOFTWARE LIBRE EN ARDUINO.


En párrafos anteriores hemos comentado que Arduino es una placa de “hardware libre y también “un entorno y lenguaje de programación (es decir, software) libre”. ¿Pero qué significa aquí la palabra “libre” exactamente? Según la Free Software Foundation (http://www.fsf.org), organización encargada de fomentar el uso y desarrollo del software libre a nivel mundial, un software para ser considerado libre ha de ofrecer a cualquier persona u organización cuatro libertades básicas e imprescindibles:

Libertad 0: la libertad de usar el programa con cualquier propósito y en cualquier sistema informático.

Libertad 1: la libertad de estudiar cómo funciona internamente el programa, y adaptarlo a las necesidades particulares. El acceso al código fuente es un requisito previo para esto.

Libertad 2: la libertad de distribuir copias.

Libertad 3: la libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. El acceso al código fuente es un requisito previo para esto.
Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, el software libre es aquel software que da a los usuarios la libertad de poder ejecutarlo, copiarlo y distribuirlo (a cualquiera y a cualquier lugar), estudiarlo, cambiarlo y mejorarlo, sin tener que pedir ni pagar permisos al desarrollador original ni a ninguna otra entidad específica. La distribución de las copias puede ser con o sin modificaciones propias, y atención, puede ser gratis ¡o no!: el "software libre" es un asunto de libertad, no de precio.

Para que un programa sea considerado libre a efectos legales ha de someterse a algún tipo de licencia de distribución, entre las cuales se encuentran la licencia GPL (General Public License), o la LGPL, entre otras. El tema de las diferentes licencias es un poco complicado: hay muchas y con muchas cláusulas. Para saber más sobre este tema, se puede consultar http://www.opensource.org/licenses/category, donde está disponible el texto oficial original de las licencias más importantes.  Ejemplos de software libre:

  •       kernel Linux.
  •      navegador Firefox.
  •      Suite ofimática LibreOffice.
  •     Reproductor multimedia VLC, etc.



IDE (INTEGRATED DEVELOPMENT ENVIRONMENT).



Un programa es un conjunto concreto de instrucciones, ordenadas y agrupadas de forma adecuada y sin ambigüedades que pretende obtener un resultado determinado. Cuando decimos que un microcontrolador es “programable”, estamos diciendo que permite grabar en su memoria de forma permanente (hasta que regrabemos de nuevo si es necesario) el programa que deseemos que dicho microcontrolador ejecute. Si no introducimos ningún programa en la memoria del microcontrolador, este no sabrá qué hacer.

Las siglas IDE vienen de Integrated Development Environment, lo que traducido a nuestro idioma significa Entorno de Desarrollo Integrado. Esto es simplemente una forma de llamar al conjunto de herramientas software que permite a los programadores poder desarrollar (es decir, básicamente escribir y probar) sus propios programas con comodidad. En el caso de Arduino, necesitamos un IDE que nos permita escribir y editar nuestro programa (también llamado “sketch” en el
mundo de Arduino), que nos permita comprobar que no hayamos cometido ningún
error y que además nos permita, cuando ya estemos seguros de que el sketch es correcto, grabarlo en la memoria del microcontrolador de la placa Arduino para que este se convierta a partir de entonces en el ejecutor autónomo de dicho programa.

IDEs ALTERNATIVOS


Como sabemos el IDE que más se utiliza en el lenguaje Arduino es EL LENGUAJE C/C++ , pero también existen otros IDES, por ejemplo:
·          ·  CodeBlocks (http://www.codeblocks.org)
        ·  Gnoduino (http://gnome.eu.org)
        ·  Codebender (http://www.codebender.cc)
·           ·  Visualmicro (http://visualmicro.codeplex.com)
·           ·    EmbedXcode (http://embedxcode.weebly.com)



ESTRUCTURA DEL PROGRAMA


Un programa diseñado para ejecutarse sobre un Arduino (un “sketch”) siempre se compone de tres secciones:
·         La sección de declaraciones de variables globales.
·         La sección llamada “void setup()”.
·         La sección llamada “void loop()”.

La primera sección del sketch está reservada para escribir, tal como su nombre indica, las diferentes declaraciones de variables que se necesiten.
En el interior de las otras dos secciones (es decir, dentro de sus llaves) deberemos escribir las instrucciones que deseemos ejecutar en nuestra placa, teniendo en cuenta lo siguiente:

  •    Las instrucciones escritas dentro de la sección “void setup()” se ejecutan una única vez, en el momento de encender (o resetear) la placa Arduino.
  •   Las instrucciones escritas dentro de la sección “void loop()” se ejecutan justo después de las de la sección “void setup()” infinitas veces hasta que la placa se apague (o se resetee).


COMENTARIOS.


Para insertar un comentario en concreto se utiliza:

·         Los símbolos para iniciar /* y para finalizar */.  Un “comentario” es un texto escrito intercalado con el código que se utiliza para informar cómo funciona. Es decir, los comentarios son texto de ayuda que explica el código asociado, ayudan a entenderlo y recordar su función.

Los comentarios pueden aparecer dentro del código de diferentes formas:

·         Comentarios compuestos por una línea entera ( // ).
·         Comentarios compuestos por un bloque de varias líneas seguidas (/* y */).
·         Los comentarios no son parte del programa y no ocupan memoria.


VARIABLES.


Las variables son las que se declaran dentro de un módulo y solo se pueden utilizar en el módulo en el que se han declarado. Se pueden declarar variables con el mismo nombre en distintos módulos, a la hora de ser utilizadas cada módulo podrá utilizar su variable, nunca una variable declarada en otro módulo, aunque se llame igual. Una variable puede ser “global” o “local”.

·         Variable global: Son variables que se declaran fuera de la función y por defecto (omisión) son visibles a cualquier función incluyendo main(). Todas las variables locales desaparecen cuando termina su bloque. Una variable global es visible desde el punto en que se define hasta el final del programa.
·         Variable local: Son aquellas definidas en el interior de una función y son variables sólo en esa función específica.
  
Existen diferentes tipos de variables, cada una con valores diferentes que este  puede haberse obtenido de diversas maneras: puede haber sido asignado literalmente (dándole un valor). Las variables admitidas en el lenguaje Arduino son:

·         “int” : Variable global llamada “mivariable”, e inicializarla con el valor de 555.
·         “boolean” las variables de este tipo solo pueden tener dos valores: cierto o falso.
·         “char”: el valor que puede tener una variable de este tipo es siempre un solo carácter (una letra, un dígito, un signo de puntuación...).
·         El tipo “byte”: el valor que puede tener una variable de este tipo es siempre un número entero entre 0 y 255.
·         “int”: el valor que puede tener una variable de este tipo es un número entero entre -32768 (-215) y 32767 (215-1).
·         “word”: las variables de tipo “word” en la placa Arduino Due ocupan 4 bytes para almacenar su valor.
·         “short”: el valor que puede tener una variable de este tipo para todos los modelos de placa (ya sean basadas en microcontroladores de tipo AVR la mayoría– o de tipo ARM –la Due–) es un número entero entre -32768 (-215) y 32767 (215-1), gracias a que utilizan 2 bytes (16 bits) de memoria para almacenarse.
·         “long”: el valor que puede tener una variable de este tipo para todos los modelos de placa (ya sean basadas en microcontroladores de tipo AVR o de tipo ARM) es un número entero entre -2.147.483.648 y 2.147.483.647 gracias a que utilizan 4 bytes (32 bits) de memoria para almacenarse.
·         “unsigned long”: el valor que puede tener una variable de este tipo para todos los modelos de placa es un número entero entre 0 y 4.294.967.295 (232-1).
·         “float”: el valor que puede tener una variable de este tipo es un número decimal.
·         “double”: Es un sinónimo exactamente equivalente del tipo “float”.
·         “array”: este tipo de datos en realidad no existe como tal. Lo que existen son arrays de variables de tipo “boolean”, arrays de variables de tipo “int”, arrays de variables de tipo “float”, etc.






CONSTANTES

Para convertir una variable (cualquier tipo) en constante, lo único que hay que hacer es preceder la declaración de esa variable con la palabra clave const. Por
ejemplo, para convertir en constante una variable llamada “sensor” de tipo “byte” simplemente se ha de declarar así: const byte sensor;. Existe otra manera de declarar constantes, que es utilizando la directiva especial #define (heredada del lenguaje C).

No hay comentarios.: