Introducción a la Programación con Arduino: De LED a Vectores
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,23 KB
¿Qué es Arduino?
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.
Es una placa programable con entradas y salidas digitales y analógicas. Esto significa que disponemos de un pequeño autómata, capaz de recibir información del entorno (sensores) y realizar acciones (actuadores, motores…), según un programa que introducimos con un ordenador y que puede ejecutar de forma autónoma.
Programación en Arduino: El Lenguaje y la Estructura de un Sketch
El Lenguaje de Programación
El lenguaje con el que se programan nuestras placas Arduino es un derivado del lenguaje de programación Wiring. Su estructura y sintaxis son iguales que las de C. De hecho, todas las librerías de C y algunas de C++ se pueden utilizar con Arduino.
Estructura Básica de un Sketch
Un programa o sketch de Arduino se divide principalmente en tres partes:
1. Declaración de Variables
La primera parte de un sketch será la declaración de variables, donde definiremos las variables globales del programa declarando su tipo y, si queremos, su valor inicial.
2. La Función setup()
La segunda parte es una sección que solo se ejecuta una vez tras el arranque de la placa Arduino: la función setup(). Suele utilizarse para configurar los pines que vamos a utilizar, declarándolos como entradas o como salidas. Estos modos se pueden cambiar durante la ejecución del sketch. La función setup() debe considerarse como lo que es: un conjunto de código que solo se ejecuta una vez cuando Arduino arranca.
3. La Función loop()
La tercera parte del programa es el loop(). Es la sección principal de nuestro programa, pues en él tendremos que poner el código para que el microcontrolador lo ejecute de manera cíclica; es decir, esta parte del sketch se repetirá una y otra vez mientras la placa Arduino tenga energía.
Funciones Adicionales
No todo el código tiene que estar en el loop(). Ciertas partes pueden ser escritas fuera de este bucle en forma de funciones. Las funciones son fragmentos de código separado a los que se puede llamar desde el setup() o desde el loop(), pero eso lo veremos más adelante.
Los sketches generados desde el Arduino IDE se guardan en archivos con la extensión .ino (anteriormente .pde).
Ejercicios Prácticos con Arduino
Ejercicio 1: Parpadeo de un LED
Montaje
Básico.
Código
Ejemplo básico “BLINK”.
Contenidos Clave
- Comunicación entre la placa y el ordenador.
- Estructura de un sketch.
- Definición de variables.
- Empleo de salidas digitales.
- Comentarios y bloques de comentarios.
Uso de Comentarios
Se emplean para aclarar el programa y hacerlo más legible para nosotros en el futuro y para otros programadores. Los comentarios de una sola línea se indican con //. Al igual que en C, se pueden introducir bloques de comentarios de varias líneas con /* ... */.
Modificación Propuesta
- Encender tres LED simultáneamente y apagarlos sucesivamente.
- Definir una variable denominada
tiempoy cambiar el intervalo de parpadeo a través de esa variable.
Ejercicio 7: Uso de Vectores (Arrays)
Montaje
3 LEDs en pines PWM y un potenciómetro.
Código de Partida
Ejemplo “AnalogInput”.
Contenidos Clave
- Uso de vectores: Declaración y uso.
- Textos como vector de caracteres.
- Textos como objetos
String.
Declaración y Uso de Vectores (Arrays)
Un array (o vector) es una colección de valores del mismo tipo a los que se puede acceder con un número de índice (el primer valor del índice es 0).
Formas de declarar un vector en Arduino:
Definición y asignación simultánea:
int miVector[] = {valor0, valor1, valor2...};Definición y asignación posterior:
// Se declara un array de 5 enteros
int miVector[5];
// Se asigna un valor al cuarto elemento (índice 3)
miVector[3] = 10;Recuperar un valor del vector:
// Se recupera el cuarto elemento y se asigna a la variable x
x = miVector[3];Ejemplos:
// Vector de enteros con longitud implícita
int vectorEnteros[] = {2, 8, -6, 11, 5};
// Vector de caracteres de 5 elementos
char vectorCaracteres[5] = "hola";Acceso a los Elementos de un Vector
El primer elemento de un vector siempre tiene el índice 0. Así que, en el siguiente ejemplo:
int miVector[] = {2, 8, -6, 11, 5};El elemento miVector[4] corresponde al valor 5 (el quinto y último elemento).