Lección 2 del curso para principiantes de Arduino: introducción a Arduino, parte 2

Puede descargar nuestro libro electrónico ‘Aprender Arduino’ desde este enlace

En esta lección repasaremos el lenguaje Arduino. Cubriremos los conceptos básicos de programación y presentaremos algunas de las bibliotecas proporcionadas por Arduino. El lenguaje Arduino es muy similar a C. Es casi el mismo lenguaje, pero Arduino nos proporciona varias bibliotecas para facilitar un poco las cosas. Si no tiene absolutamente ningún conocimiento de ningún lenguaje de programación, le sugiero que aprenda programación básica en C. ¡Será muy útil en el futuro y no podemos cubrir la programación C aquí! 🙂

Cosas básicas
En la primera lección Introducción a Arduino, presentamos un boceto muy simple que enciende y apaga un LED durante un período de 1 segundo. Espero que hayas tenido algo de tiempo para cambiar los valores para ver qué pasa 🙂

Ahora es el momento de explicar el código e introducir alguna interacción con nuestro pequeño LED.

int ledPin = 13;

Esta línea inicializa una variable int llamada ledPin con valor 13. Esto se usará para especificar el pin digital en la placa Arduino. Normalmente, el pin 13 tiene un LED adjunto, por lo que deberíamos ver algo parpadear en algún lugar 🙂


void setup() {
pinMode(ledPin,OUTPUT);
}

Ya mencionamos un poco sobre la función setup(), es requerida por la plataforma Arduino. Dentro de esta función, colocamos el código que debe ejecutarse primero y solo una vez, después de reiniciar Arduino.

pinMode es la función para configurar un pin en modo SALIDA o ENTRADA (Nota: las palabras clave están en mayúsculas). Para escribir en un pin usamos la SALIDA, para leer el valor de un pin usamos la ENTRADA. En este caso, necesitamos encender/apagar un LED, por lo que estaremos escribiendo en el pin, por lo tanto, se usa OUTPUT.


void loop(){
digitalWrite(ledPin,HIGH);
delay(1000);
digitalWrite(ledPin,LOW);
delay(1000);
}

La función loop() es la función principal del boceto. Básicamente se ejecuta todo el tiempo de manera continua. Cuando llega al fondo, comienza de nuevo. La función digitalWrite toma 2 argumentos el primero es el número de pin, en nuestro caso es 13, el segundo argumento es el valor a asignar, ALTO o BAJO. Al configurar el pin en ALTO, 5v pasan a través del pin, cuando se configura en bajo, el pin está conectado a tierra, lo que significa que nos dará una lectura de 0v, por lo tanto, al colocar el pin en BAJO, el LED se apaga.
La función de retraso detiene la ejecución del boceto durante una cantidad de milisegundos, 1 segundo = 1000 milisegundos.
Eso resuelto, podemos sumergirnos un poco más en Arduino. Presentaremos una biblioteca interna que se utiliza para comunicarse directamente con la PC a través del cable USB (por fin algo interesante 🙂). La biblioteca se llama Serial, que básicamente implementa una gran cantidad de algoritmos complejos para comunicarse a través del puerto USB de una manera muy simple. En la función de configuración necesitamos agregar

Serial.begin(9600);

Esta función inicializará la comunicación en serie con una velocidad de 9600 bits por segundo, la velocidad normal utilizada para compartir datos de texto en serie. En la función de bucle necesitamos escribir algo en la PC.


Serial.println("LED is ON");
Serial.println("LED is OFF");

Estas dos líneas enviarán el texto “LED está ENCENDIDO” y “LED está APAGADO” respectivamente, a la PC. Incorporaremos esto en nuestro código original y debería verse así


int ledPin = 13;

void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop(){
digitalWrite(ledPin,HIGH);
Serial.println("LED is ON");
delay(1000);
digitalWrite(ledPin,LOW);
Serial.println("LED is OFF");
delay(1000);
}

Cargue el boceto usando el botón de carga (el botón de flecha). Ahora necesitamos un cliente Serial para leer el texto enviado por Arduino. El IDE ya proporciona eso. En la esquina superior derecha hay un ícono que parece una lente. Si hace clic en él, aparecerá el monitor serie. Tan pronto como lo haga, el texto comenzará a alinearse de esta manera.

LED is ON

LED is OFF

LED is ON

Podemos enviar todo por serial. Por ejemplo, podemos enviar números enteros, bytes o una matriz de bytes. Los analizaremos en las próximas lecciones.

A partir de ahora, debería poder comprender un poco la programación de Arduino. Siéntete libre de explorar algunas cosas por tu cuenta. Sin embargo, trata de no quemar tu Arduino.

Vaya a la Lección 3 aquí