El hardware libre o “open source“ (fuente abierta) ofrece una serie de libertades en cuanto a su diseño:
•Estudiarlo.
•Modificarlo.
•Reutilizarlo.
Comparte ciertas similitudes con el software libre, que tiene más antecedentes que el hardware libre.
Para que todo esto sea posible los usuarios deben tener acceso a los archivos de diseño, bajo una licencia que permita cada una de las libertades anteriormente mencionadas.
La licencia del hardware de Arduino es Creative Commons Attribution Share-Alike. Esta licencia, entre otros derechos, otorga la libertad de comercialización, siempre y cuando el que lo quiera hacer lo ponga en conocimiento de Arduino y publique sus diseños bajo la misma licencia.
Por lo tanto, nos podemos encontrar en el mercado con placas oficiales y no oficiales; esto permite que podamos comprar placas de Arduino por unos pocos euros (de hecho ese era uno de los objetivos de los fundadores de Arduino).
En el apartado anterior pudimos ver cómo existen grandes diferencias entre ciertos Arduinos: las más básicas son las de potencia eléctrica y número de entradas y salidas.
Pero existen otras como la implementación de periféricos (Ethernet, WIFI, SD…). El hardware Arduino es modular, lo que quiere decir que si el modelo del que partimos no dispone de ciertos periféricos podemos añadir módulos para ampliar sus funcionalidades.
Estos módulos son más conocidos como Shields (escudos). Disponemos de todo tipo de Shields: GSM, WIFI, ETHERNET, SD, potencia, RFID, pantallas táctiles. etc. A todo esto podemos añadir una gran cantidad de sensores. Por lo tanto, Arduino nos permite interactuar con la tecnología de otra forma, ya no como usuarios sino como desarrolladores, y por lo tanto entender mejor el mundo tecnológico que nos rodea.
No cabe duda de que todos estos recursos, unidos al bajo coste, convierten a Arduino en la herramienta ideal para el aprendizaje teniendo cada vez mayor implantación en las aulas
. El hardware oficial de Arduino está certificado por la Comisión Federal de Comunicaciones estadounidense y por la europea, cumpliendo con las normativas referentes a emisiones electromagnéticas.
IMPORTANTE
El hecho de que Arduino cumpla las normativas electromagnéticas nos asegura que las señales que se generan en los dispositivos electrónicos no generen interferencias entre ellas, entre esas señales podemos encontrar:
WIFI
Bluetooth
Telefonía
etc.
IMPORTANTE
¿Qué es una librería?
El término “librería” hace referencia a un programa que tenemos o podemos tener instalado en nuestro IDE, que podemos usar en cualquier momento.
Que incorpora funciones que nos facilitan la programación y que simplemente haciendo referencia al inicio del programa del uso de una determinada librería, adquirimos los permisos para usar sus funciones.
Llegado el momento veremos como utilizar las funciones de una librería
1.Una vez que disponemos de nuestro Arduino lo conectamos a nuestro PC y empezamos a desarrollar nuestro programa. Para ello necesitamos un entorno de programación. Arduino dispone de un entorno de programación integrado conocido como IDE de Arduino. A partir de ahora nos referiremos a este entorno de programación como IDE de Arduino
.
2.El IDE de Arduino es un entorno multiplataforma: lo podemos instalar en cualquier sistema informático (Windows, Mac Os o Linux).
3.Este entorno nos permite escribir un programa, verificarlo (comprobar errores) y cargarlo a nuestro Arduino. Dispone de una herramienta como es el Monitor Serie que permite recibir o enviar información a través del puerto USB de nuestro PC. Si, por ejemplo, programamos nuestro Arduino para que, cuando reciba un mensaje por el puerto USB que ponga «encender leds», debe encender los leds que tenga conectados a sus salidas, a través del Monitor Serie, podemos enviar el mensaje «encender leds». Entonces, si programamos adecuadamente el Arduino, podemos controlarlo a través del IDE.
4.El Monitor Serie también permite mostrar información que reciba por el puerto USB del PC. Si, por ejemplo, programamos nuestro Arduino para que tome las lecturas de unos sensores a los cuales esté conectado, y que envíe esos valores por el puerto USB, podemos visualizarlos en el IDE de Arduino. Por lo tanto, también podemos decir que con el IDE podemos monitorizar un Arduino. Y por supuesto, con la programación adecuada podemos controlar y monitorizar nuestro Arduino simultáneamente.
5.Disponemos de un creador de gráficas que nos permite representar datos que recibamos por el puerto USB de nuestro PC. También disponemos de ejemplos y librerías para que nos sea más sencillo aprender a programar. Las librerías que tiene instaladas son las oficiales.
¿Un Arduino solo se puede programar con el IDE de Arduino? ¿El IDE de Arduino solo puede programar Arduinos? No, podemos programar un Arduino con otro entorno de programación siempre y cuando sean compatibles. Si tenemos práctica con un entorno de programación determinado podemos comprobar si es posible programar con ese software nuestro Arduino, seguramente necesitemos instalar alguna extensión. Y con el IDE de Arduino pasa lo mismo, con las extensiones correctas podemos programar otros módulos.
En conclusión, Arduino pone a nuestra disposición un entorno sencillo y gratuito que nos permitirá de una forma rápida empezar a crear nuevos proyectos.
009
Lenguaje de programación
IMPORTANTE
El lenguaje máquina nos obliga a conocer la estructura y funcionamiento interno de un MCU
, lo cual suele ser complejo, pero nos permite optimizar nuestro programa.
Por su importancia, a lo largo del libro haremos algunos casos con este tipo de lenguaje, para disponer de una báse sólida en cuanto a programación de MCU.
Con nuestro Arduino conectado a nuestro ordenador y el IDE instalado, solo nos falta empezar a programar. En cuanto al lenguaje de programación (idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por una máquina), podemos diferenciar varios niveles. El lenguaje a más bajo nivel sería el lenguaje máquina: es el lenguaje capaz de almacenar e interpretar una máquina, en nuestro caso, un MCU.
En los inicios de los MCU, estos se programaban en lenguaje máquina (a día de hoy también se hace). El lenguaje máquina consiste en instrucciones a nivel binario, lo que nos obliga a encadenar una cierta cantidad de ellas para poder realizar tareas sencillas. Además, cada máquina puede tener su propio lenguaje.
Con este lenguaje de programación surgen ciertos inconvenientes: primeramente, un mismo programador debe aprender un lenguaje diferente para cada máquina. Por lo general, no son lenguajes intuitivos (lo que los hace difíciles de recordar) y programas sencillos pueden llegar a alcanzar un gran tamaño.
Читать дальше