Primera práctica con arduino e introducción a la programación de placas Arduino. Se trata de realizar un led que parpadea, o lo que es lo mismo, de realizar la practica "Hola Mundo" con Arduino.
QUE ES ARDUINO:
Según la definición de Wikipedia , "Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares".
En otras palabras, Arduino es una placa electrónica que mediante una programación de software libre y con los correspondientes accesorios es posible realizar diversas aplicaciones relacionadas, en nuestro caso, con la automatización.
Generalmente para realizar un proyecto (llamaremos proyecto a todo aquel diseño que realice alguna función programada previamente) la placa Arduino estará complementada con una serie de accesorios, desde un simple pulsador hasta un transistor, por ejemplo.
Es decir, para muchos "eléctricos", será el primer contacto con el mundo de la electrónica, por lo que será necesario "cambiar un poco el chip" a la hora de interpretar esquemas y manejar conceptos y cantidades no habituales para nosotros, como miliamperios en lugar de amperios o pulsadores Pull-Down o Pull-Up en lugar de contactos abiertos o cerrado, etc.
COMO EMPEZAR:
Evidentemente para empezar, lo primero que se necesita es una placa Arduino. Conseguirla es fácil, basta con teclear "Arduino" en el buscador y aparecerá ante nosotros una abundante oferta.
Lo primero que nos llamará la atención es que existen notables diferencias de precios entre unas páginas y otras, por lo que es recomendable buscar el mejor precio, pero eso sí, con garantías.
Veremos también que existen una gran cantidad de modelos, "Arduino Uno", "Arduino Mega", "Arduino Nano", etc. Considero que es prudente comenzar poco a poco, por lo que la opción Arduino Uno sería adecuada.
Algunos enlaces:
http://store.arduino.cc/index.php
http://www.miniinthebox.com/es/index.php?main_page=advanced_search_result&inc_subcat=1&search_in_description=0&keyword=arduino
http://dx.com/es/s/arduino
http://www.robotshop.com/en/catalogsearch/result/?q=arduino&order=stats_sales_order_count&dir=desc
http://www.bricogeek.com/shop/
EL SOFTWARE:
Una vez que ya tenemos nuestra placa Arduino en casa, lo que toca es instalar el programa que nos permita comunicarnos con ella para realizar la programación de nuestros proyectos.
Para la descarga del software, podemos entrar en la página oficial de Arduino. En la pestaña de descargas, podemos bajar el Arduino IDE.
En algunos casos la placa va acompañada con un CD que contiene el software y los controladores de la tarjeta.
http://arduino.cc/en/Main/Software
En cualquier caso, en el siguiente enlace se explican muy claritos los pasos a seguir para una correcta instalación.
Así que sin mas preámbulos, manos a la obra.
http://arduino.cc/es/Guide/Windows
LA PLACA Y SUS PARTES MAS IMPORTANTES:
Este será más o menos el aspecto d nuestra placa Arduino Uno. Digo que más o menos por que existen varias versiones y puede cambiar de unas a otras.
Las partes que considero más importantes son las siguientes:
Conector USB: Será la comunicación física entre la placa y el ordenador.
Pulsador reset: Volverá al inicio un programa que estemos ejecutando.
Conector alimentación exterior: Es un conector hembra de 2.1mm con el centro al positivo. En algunos kits ya viene preparado un adaptador para pila de 9v, con conector macho.
Led pin 13: Como veremos es un led que dará mucho juego en nuestros proyectos iniciales. Es un led al cual no es necesario conectarle la resistencia en serie, por lo que facilita mucho la prueba de los proyectos.
Pines de entrada/salida: Una de las cosas que nos llamara poderosamente la atención es que estos pines los podemos utilizar como entradas o como salidas. Todo dependerá de como los programemos.
Led de encendido: Esta encendido cuando la placa tiene alimentación.
Microprocesador: El verdadero cerebro de la placa.
Entradas analógicas: Esta serán la entradas que utilizaremos para todas aquellas entradas que no sean digitales, es decir que pueden tener infinitos valores.
Pines de tierra y tensión: Salidas de tensión a 3.3 y 5 voltios y pines de tierra.
Mas información sobre las características de la placa
COMPONENTES ELECTRÓNICOS:
Antes de comenzar en necesario recordar que necesitaremos unos componentes electrónicos básicos para realizar nuestros primeros proyectos. A medida que avancemos estos componentes serán mas sofisticados.
Para empezar necesitaríamos al menos los siguientes:
PLACA PROTOBOARD: Es una placa formada por un bloque de plástico perforado en cuyo interior se alojan una serie de láminas de cobre. Esto nos permitirá realizar nuestros montajes de una forma rápida y sin necesidad de utilizar soldadura.
En cuanto al resto de materiales estos podrían resumirse en lo que se ven en la protoboard. Diodos leds, resistencia de varios valores, pulsadores, algún potenciometro y cablecillos para realizar las conexiones entre la protoboard y la placa .
EMPEZAMOS:
Suponemos ya instalados los controladores de la tarjeta de Arduino y hemos bajado el programa. La primera impresión que da el aspecto gráfico del IDE de Arduino es bastante desalentadora. No resulta un entorno agradable para programar.
El lenguaje que utiliza Arduino para su programación es C/C++ , considerado como lenguaje de alto nivel. Para los que no tenemos experiencia en este tipo de lenguaje, hay que decir que es bastante rollo, sobre todo en los inicios, ya que si te equivocas en una simple coma, te dará error al cargarlo y podrás desesperarte hasta que encuentres el fallo. Cuando adquieras un poco de práctica, la cosa resulta mas sencilla.
Generalmente está compuesto por los siguientes componentes:
- Estructuras.
- Variables.
- Operadores matemáticos, lógico y booleanos.
- Estructuras de control, condiciones y ciclos.
- Funciones.
Un programa completo se llama "Sketch"
ESTRUCTURAS: Definen las funciones fundamentales que debe contener cualquier programa con Arduino. Estas son:
setup(){
}
Es el código de configuración inicial. Todo lo que incluya estará recogido entre las llaves. Solo se ejecuta una vez.
loop(){
}
Esta función se ejecuta después de setup y se mantiene ejecutándose indefinidamente.
Una vez conocida la estructura básica de un programa con Arduino vamos a realizar el primer ejemplo, ya que si nos perdemos en definir variable, operadores, funciones, etc, me temo que nos podemos aburrir.
PRIMER PROYECTO:
Comenzaremos con algo sencillo explicando paso a paso el porqué de cada cosa.
El primer proyecto que se hace siempre con arduino es el "blik" (parpadeo). También es conocido como el "Hola mundo".
Básicamente consiste en un diodo led que se enciende y se apaga.
El código del programa sería el siguiente:
BLINK
/*Blink. Consiste en un un led que se enciende y se apaga. Lo conectaremos en el pin 13, ya que en este pin no es necesario conectar la resistencia en serie con el led. El encendido y apagado lo realizaremos con el comanda delay*/
Esto que acabo de escribir, se puede escribir también en la misma panatalla donde estamos tecleando el código del programa. La regla es comenzar el párrafo con /* y terminarlo con */
Si no necesitamos escribir un párrafo muy largo también podemos utilizar al comienzo de la línea // Pero en este caso solo sirve para una línea, cada vez que empecemos otra nueva siempre comenzaremos con //
Empezamos:
int ledPin=13; // Indicamos que utilizaremos el pin 13 como variable y lo identificaremos
// como ledPin, pero podríamos llamarle como quisiéramos.
// Importante la sintaxis. int separado del nombre que queremos darle
// y terminamos con ;
// int, es una variable. Al colocarla en este punto el programa podrá
// utilizarla en cualquier momento. Se conoce como variable global.
void setup () // Inicio del programa. Terminado en paréntesis abierto y cerrado.
// Abrimos llaves. Todo lo que escribamos a continuación estará
// incluido dentro de la llaves.
{
pinMode ( ledPin, OUTPUT); // Declaramos el pin 13, que lo hemos identificado como ledPin
// como salida. OUTPUT con mayúsculas y
// entre paréntesis y terminado en ;
}
void loop() // Indicamos que aquí comienza el bucle para que el programa se repita
// indefinidamente. Abrimos llaves.
{
digitalWrite (ledPin, HIGH); // Literalmente lo que estamos diciendo es: "escribe un 1 en el
// ledPin" Es decir, enciende el led que hemos identificado
// como ledPin.
delay (1000); // Mediante delay lo que hacemos es una parada en el programa,
//ojo, no es un temporizador es provocar una parada en el loop.
//En este caso la parada sera de un segundo ya que hemos
// programado 1000 milisegundos.
digitalWrite (ledPin, LOW); // En esta ocasión el mensaje es "Escribe un 0 en el ledPin"
// es decir, apaga el led.
delay (1000); // Provocamos otra parada en el loop
} // Importante, terminar el programa cerrando las llaves
Este sería el código del "Hola mundo". Es muy importante, no para el funcionamiento del programa, si no para que controlemos lo que hemos escrito, hacer todas,las aclaraciones que consideremos oportunas sobre las diferentes instrucciones. Siempre después de // o abriendo el comentario con /* y cerrándolo con */
Una vez tecleado el código lo validamos, lo guardamos y lo transferimos a la placa Arduino, que previamente hemos conectado al ordenador a través del cable USB
Si todo va bien tendrá que funcionar, de lo contrario nos dará un mensaje de error en la validación.
En esta captura se identifica la utilización de los diferentes comando del IDE.
En la siguientes imágenes se aprecia en la de la derecha, el mensaje de error que aparece en la barra inferior al validar el programa.
Si observamos detenidamente veremos que el error consiste en que falta la llave final de cierre.
Una vez subsanado el problemas, validamos y el resultado es la imagen de la izquierda.
Por último solo nos queda "pinchar" el led en la placa, entre el pin de tierra (gnd) y el pin 13.
En los diodos leds, el negativo (cátodo) es la patilla mas corta. También se distingue por que la capsula del diodo tiene una pequeña parte plana que coincide con el cátodo
Fuente: sjulian333.blogspot