Learning   Examples | Foundations | Hacking | Links

Primer Sketch

En la guía de inicio (Windows, Mac OS X, Linux), subiste un sketch que hace parpadear un LED. En este tutorial, aprenderas como funciona cada parte de ese sketch.

Sketch

Un sketch es el nombre que usa Arduino para un programa. Es la unidad de codigo que se sube y ejecuta en la placa Arduino.

Comentarios

Las primeras lineas del sketch Blink son un comentario:

/*
 * Blink
 *
 * The basic Arduino example.  Turns on an LED on for one second,
 * then off for one second, and so on...  We use pin 13 because,
 * depending on your Arduino board, it has either a built-in LED
 * or a built-in resistor so that you need only an LED.
 *
 * http://www.arduino.cc/en/Tutorial/Blink
 */

Todo lo que se encuentra entre /* y */ es ignorado por Arduino cuando ejecuta el sketch (el * al comienzo de cada linea esta ahi solo para que el comentario se vea bien, no es requerido). Esta ahí para la gente que lee el código: para explicar lo que hace el programa, como funciona, o por que esta escrito de tal manera. Es muy buena practica poner comentarios en tus sketches, y mantener estos actualizados cuando modiques el código. Esto ayuda a otras personas a aprender de tu codigo y modificar el mismo.

Existe otro estilo para comentarios cortos, de una sola linea. Estos comienzan con // y continuan hasta el final de la linea. Por ejemplo en la linea:

int ledPin = 13;                // LED connected to digital pin 13

el mensaje "LED connected to digital pin 13" es un comentario.

Variables

Una variable es un lugar donde se almacena un dato. Posee un nombre, un tipo y un valor. Por ejemplo, la linea del sketch Blink anterior declara una variable con el nombre ledPin, de tipo int, y con el valor inicial 13. Esta siendo utilizada para indicar que pin de Arduino se conecta al LED. Cada vez que el nombre ledPin aparece en el codigo, su valor sera utilizado. En este caso, la persona que escribio el codigo podria no haberse molestado en definir la variable ledPin y utilizar simplemente 13 en todas las partes en que debiese especificar el numero del pin. La ventaja de utilizar una variable es que se hace mucho más fácil mover el LED a un pin diferente: solo necesitas editar la linea en que se asigna el valor inicial a la variable.

Con frecuencia, el valor de una variable cambiara a medida que se ejecuta el sketch. Por ejemplo, podrías almacenar en una variable el valor leído desde un input. Hay más información en el tutorial de variables.

Funciones

Una función (también conocida como procedimiento o sub-rutina) es un pedazo de código que puede ser utilizado desde cualquier otro punto del sketch. Por ejemplo, aquí esta la definición de la función setup() en el ejemplo Blink:

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

La primera linea nos entrega información sobre la función, como su nombre, "setup". El texto que hay antes y despues del nombre especifica el tipo de devolución y los parametros de la función: estos seran explicados más adelante. El codigo entre { y } es conocido como cuerpo de la función: lo que la función realiza.

Puedes llamar a una función que ha sido previamente definida (ya sea en tu sketch o como parte del lenguaje Arduino). Por ejemplo, la linea pinMode(ledPin, OUTPUT); llama la función pinMode(), pasandole sus dos parametros: ledPin y OUTPUT. Estos parametros son utilizados por la función pinMode para decidir que pin y modo utilizar.

pinMode(), digitalWrite(), y delay()

La función pinMode() configura un pin como entrada o salida. Para utilizarla, le pasas el numero del pin que vas a configurar y la constante INPUT o OUTPUT. Cuando está configurada como input, un pin puede detectar el estado de un sensor, como un pulzador; esto se discute en un tutorial más adelante?. Como salida, este puede manejar un actuador, como un LED.

La función digitalWrite() envía un valor a un pin. Por ejemplo, la linea:

digitalWrite(ledPin, HIGH);

modifica ledPin (pin 13) como HIGH, o 5 volts. Enviando LOW a un pin lo conecta a tierra, o 0 volts.

delay() hace a Arduino esperar por el numero especificado de milisegundos antes de continuar con la siguiente linea. Hay 1000 milisegundos en un segundo, por lo que la linea:

delay(1000);

crea un retraso de un segundo.

setup() y loop()

Existen dos funciones especiales que son parte de cada sketch de Arduino: setup() y loop(). setup() es llamado una vez, cuando comienza el sketch. Es un buen lugar para realizar tareas de configuración, como definir los pins o inicializar bibliotecas. La función loop() se llama una y otra vez y es el corazón de la mayoria de los sketches. Necesitas incluir ambas funciones en tu sketch, aun cuando no las necesites para nada.

Ejercicios.

1. Modifica el código para que el LED este encendido por 100 milisegundos y apagado por 1000.

2. Modifica el código para que el LED se encienda cuando el sketch comienze y se mantenga encendido.

Revisa también

Share