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:
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.:
Publicar un comentario