El tema que hoy vamos a tocar son los ejemplos más básicos que podréis realizar con vuestra placa arduino, unos cuantos leds y algún que que otro componente más. Una vez instalado el software arduino, al abrirlo os encontraréis con esta interfaz que tenemos a la derecha. El programa está en ingles, pero será sencillo hacernos con él. El botón [↑] sirve para abrir nuestros códigos o algunos que ya vienen de serie ordenados por categorías (Básicos, Digitales, Analogicos, Sensores, Pantallas...).
Como ejemplo más básico tenemos el programa "Blink". Su función es hacer parpadear el led colocado en el pin 13 durante 1 segundo encendido, 1 segundo apagado.
Cada programa, por sencillo que sea, constará de 3 o 4 partes bien diferenciadas en el código, lo que facilita el entendimiento de estos. En este caso he modificado el ejemplo "Blink" para poder ver estas partes fácilmente:
- La 1º parte es donde definiremos los nombres y el valor del pin en donde se encuentran los componentes, así como constantes y demás. Por ejemplo en:
Vemos que para definir un componente usaremos un integer, que será el pin donde está conectado. Las barras "//" nos servirán para comentar las lineas y así explicar el código, algo realmente útil para programas largos. Un consejo que os doy desde aquí es que el nombre que le debéis dar a las cosas sea uno realmente significativo, es mucho más útil tener "SensorDerecha" que tener "SD".int ledPin = 13; // LED connected to digital pin 13
- La 2º parte: el Setup, es donde definiremos que pines son de entrada y cuales de salida. Puesto que hemos definido con un nombre cada pin en la 1º parte del código, en esta parte utilizaremos directamente el nombre:
void setup()
{
pinMode(ledPin, OUTPUT); // set ledPin pin as output
}
Como vemos, las salidas son OUTPUT y las entradas, lógicamente, INPUT. También podremos llamar a "Serial.begin(9600);" y con eso en el loop, escribiremos para mandarlo al ordenador, a un lcd...
- La 3º parte es el Loop, donde se ejecuta el programa:
void loop() { intermitente(); // wait for a second }
Como vemos, tenemos una función llamada "intermitente()" la cual no hemos definido en ningún sitio, de esto de ocupará la apartado 4º.
- En esta "parte" es donde definiremos las diferentes funciones de nuestro programa. Hay que tener en cuenta como se actualizan los sensores y determinadas cosas, pero encapsulando el código de esta forma, nos facilitará el trabajo y evitaremos tener un loop interminable con repeticiones del código. En el caso que estamos estudiando, la función intermitente se definirá de esta forma:
En este caso podríamos haber puesto directamente la función intermitente en el loop, pero decidí ponerlo así en este ejemplo para que veamos las diferentes partes del código. Así como hemos metido una función, podemos poner tantas como queramos bajo la estructura:void intermitente() { digitalWrite(ledPin, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(ledPin, LOW); // set the LED off delay(1000); }
void Nombre_funcion() { //Código que realiza }
En cuanto a los ejemplos, no creáis que me olvido de ellos, pero me ha parecido que está fuera de lugar poner multitud de ejemplos pues eso se apartaría de mi visión hacía el blog como cuaderno de campo. Pero no voy a haceros quedaros con las ganas después de tanta expectación, a parte de los ejemplos que encontraréis en el propio software de arduino, podéis visitar la página dedicada a ello en wiring:
http://wiring.org.co/learning/basics/index.html
Y como regalo extra, en esta página de Ikkaro encontraréis otros ejemplos (uno muy visual es hacer las luces del coche fantástico):
http://www.ikkaro.com/Tutoriales-basicos-arduino
Con esto me despido hasta la próxima entrada, que supongo que será el donde y como adquirir la placa arduino, además de una posible entrada sorpresa en estos días.
No hay comentarios:
Publicar un comentario