Tutorial Arduino 2.-Conceptos básicos de programación

Publicado por Loli Diéguez en

Seguimos con el segundo artículo de la serie donde vemos los puntos básicos para empezar con Arduino.

 

En el capítulo de hoy veremos conceptos centrales como estructura de código básico, interfaz con sensores, actuadores y más. Este artículo cubre la estructura básica del código, la comunicación en serie y el ejemplo del LED parpadeante.

Hardware necesario:

  • Ordenador / ordenador portátil o netbook
  • Microcontrolador Arduino
  • Adaptador USB a serie (si tu microcontrolador no tiene un puerto USB)
  • Cable USB apropiado (las placas Arduino obtienen energía del puerto USB, todavía sin baterías)

Antes de empezar tienes que saber que el lenguaje de programación que se usa con Arduino es sensible a las mayúsculas, lo que quiere decir que una letra mayúscula no es lo mismo que una letra minúscula.

Lo mínimo que necesitas poner para empezar a escribir un boceto o sketch, son las siguientes líneas, (sin estas líneas, el código no compilará).

La sección " void setup () " se usa ampliamente para inicializar variables, modos de funcionamiento de los pines de la placa, establecer la velocidad en baudios de la interfaz serie, etc. El software solo pasa por esta sección una vez. Básicamente aquí es donde defines variables y el comportamiento de algunas partes de Arduino

La sección " void loop () " es la parte del código que se repite sobre sí misma y es la parte principal del código, en esta parte es donde escribiremos lo que queremos que haga el programa.

 

Casi todas las líneas de código deben terminar con un punto y coma ';' (hay algunas excepciones que veremos más adelante). Para escribir comentarios de una sola línea en el código, escribe dos barras invertidas seguidas del texto:

// los comentarios se pasan por alto al compilar su programa

Para escribir comentarios de varias líneas, comienza el comentario con / * y termina con * /

/ * Este es un comentario de varias líneas y le ahorra tener que usar siempre barras dobles al principio de cada línea. Los comentarios se utilizan para explicar el código textualmente. Un buen código siempre tiene muchos comentarios. * /

Comunicación serie

La placa Arduino puede comunicarse a varias velocidades ("velocidades en baudios"). 

Un baudio es una medida de cuántas veces el hardware puede enviar 0 y 1 en un segundo. La velocidad en baudios debe configurarse correctamente para que la placa convierta la información entrante y saliente en datos útiles. Si tu receptor espera comunicarse a una velocidad en baudios de 2400, pero tu transmisor está transmitiendo a una velocidad diferente (por ejemplo, 9600), los datos que obtengas no tendrán sentido. 

Para configurar la velocidad en baudios, usa el siguiente código:

void setup() {

Serial.begin(9600);

}

9600 es una buena velocidad en baudios para empezar. Otras velocidades en baudios estándar disponibles en la mayoría de los módulos Arduino incluyen: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200 y puedes especificar otras velocidades en baudios, pero recuerda que tiene que coincidir este valor con el que ahora pondremos en la aplicación donde programaremos el sketch de Arduino. 

Para generar un valor en la ventana de Arduino, considera el siguiente programa:

 

Verifica que el programa está libre de errores presionando el botón "verificar" (parece un botón de "reproducir" o un signo de verificación en Arduino 1.0); no debería aparecer ningún error en la parte inferior de la pantalla (zona negra de la pantalla de la aplicación).

Si obtienes errores, verifica que solo los dos números que aparecen en el código, sean negros, el resto del texto debería haber sido reconocido automáticamente y asignado un color. Si parte del texto es negro, verifica la sintaxis (a menudo, copiar / pegar texto de otro programa puede incluir formato no deseado) y las mayúsculas.

A continuación, carga el boceto en la placa usando el botón "Subir a placa de E / S" (flecha apuntando hacia la derecha). Espera hasta que el boceto haya terminado de cargarse. No verás nada a menos que selecciones el botón "Monitor en serie" (rectángulo con un círculo que parece un televisor en el software anterior, o lo que parece una lupa en el nuevo software). Cuando selecciones el monitor en serie, asegúrate de que la velocidad en baudios seleccionada sea la misma que en tu programa. 

Si deseas guardar todos tus programas, te sugerimos crear una nueva carpeta llamada "referencia" y guardes este programa como Hello World.

Programa para que un LED parpadee

Conecta la placa Arduino al ordenador, si aún no está conectada. En el software Arduino, ves a Archivo -> Ejemplos -> Conceptos básicos -> LED parpadeante. El código se cargará automáticamente en la ventana, listo para ser transferido al Arduino. 

Asegúrate de tener la placa correcta elegida en Herramientas -> Placa, y ten el puerto COM correcto también en Herramientas -> Puerto serie. Si no estás seguro de cual es el puerto COM al que tienes la placa Arduino conectada, (en una máquina con Windows) vete al Administrador de dispositivos en COM y puertos. 

Presiona el botón "Subir" y espera hasta que el programa diga "Finalizar carga". Deberías ver que el LED junto al pin 13 comienza a parpadear. Ten en cuenta que ya hay un LED verde conectado a la mayoría de las placas, no necesariamente necesitas un LED por separado.

 

Entendiendo el código del skecth de parpadeo de un LED

Al principio de este artículo comentamos el código básico void setup () {} y void loop () {}. También reconocerás las secciones comentadas en la imagen anterior, recuerda que con este símbolo "//" puedes poner comentarios en tu código para tenerlo explicado. 

Las tres nuevas líneas de código que no has visto antes son:

pinMode (13, OUT );

Esto establece el pin 13 como pin de salida. Lo contrario, al ser INPUT, haría que el pin esperara para leer una señal de 5V. Ten en cuenta que la 'M' está en mayúscula. Una 'm' minúscula haría que no se reconociera la palabra "pinmode".

digitalWrite(13, HIGH); and digitalWrite(13, LOW);

La línea digitalWrite (pin, HIGH); pone un pin especificado alto a + 5V. En este caso elegimos el pin 13 ya que en el Arduino Uno, el LED está conectado al pin 13. Reemplazando HIGH por LOW, el pin se establece en 0V. Puedes conectar tu propio LED usando una salida digital y el pin GND. Ten en cuenta que la 'W' está en mayúscula.

delay(1000);

La linea delay (1000); hace que el programa espere 1000 milisegundos antes de continuar (donde 1000 es solo un ejemplo conveniente para obtener un retraso de 1 segundo). Ten en cuenta que durante un retraso, el microcontrolador simplemente espera y no ejecuta ninguna línea adicional de código.

Nota: El pin 13 incorpora una resistencia con el LED, mientras que ninguno de los otros pines digitales tiene esta característica. Si deseas conectar uno o más LED a los otros pines digitales, debes agregar una resistencia en serie con el LED .


Compartir esta publicación



← Publicación más antigua Publicación más reciente →