INICIO

sábado, 13 de junio de 2015

1.06 Verificar y cargar



1.06.1. Definición: ¿Qué es verificar y cargar?
Verificar es lo que en lenguaje informático se conoce como “compilar”. Es la acción del IDE de Arduino que transforma el código fuente (el programa tal y como lo leemos al escribirlo) en código máquina (el programa tal y como lo ejecuta la placa Arduino). La acción de verificar no implica nada más que la compilación.
Por otra parte, cargar consiste en tomar ese fichero compilado tras la verificación y grabarlo en la memoria flash de la placa Arduino. Para la placa Arduino Uno, el programa se envía por el cable USB. Para otros modelos de placa, el programa se podría enviar, por ejemplo, por Bluetooth o WiFi.
Las dos acciones: verificar y cargar, son invisibles al usuario. Sólo se manifiestan a través de la barra de estado situada bajo el editor en el IDE.





1.06.2. Ejemplo de programa: BLINK
BLINK es el ejemplo más sencillo en computación física. Como las placas de prototipado no suelen tener la posibilidad de mostrar nada sobre una pantalla, se suele usar un led para comprobar que la placa es capaz de ejecutar comandos.
BLINK, del inglés “to blink” que quiere decir parpadear, consiste en hacer que un led conectado a un pin de una placa microcontroladora -Arduino Uno en este caso- se encienda y apague de forma cíclica.
BLINK es el ejemplo que se emplea siempre como primer paso para que aquellos que están aprendiendo puedan comprobar que, por una parte, su placa funciona y, por otra, que son capaces de cargar programas desde sus ordenadores.
El ejemplo se encuentra en el menú “Archivo Ejemplos Basics Blink. Una vez abierto, hay qe seleccionar la placa apropiada en el menú correspondiente. Haz click en Herramientas Tarjeta Arduino Uno. Finalmente, asegurate de que tienes seleccionado el puerto de comunicación que hace falta para poder cargar los programas. En Arduino, si bien la comunicación sucede a través del cable USB, se produce mediante el protocolo de comunicación serie, implementado sobre el USB.
El puerto serie tiene un nombre diferente según el sistema operativo en tu ordenador:
·         para Windows se llama COM##, donde ## representa un número diferente para cada una de tus placas Arduino
·         para Mac se llama /dev/cu.usbmodem####, donde #### representa un código identificador único para cada uno de tus Arduinos
·         para Linux se llama /dev/ttyACM##, siendo ## igual a cero para el primer Arduino que conectes, uno para el segundo, y así sucesivamente
Puedes elegir el puerto apropiado en el menú “Herramientas Puerto Serial. Una vez hayas hecho eso, ya podrás dar al botón de cargar. Verás como se compila el programa en la zona de estados del editor, para seguidamente ver como los ledes TX y RX de tu placa parpadean por un segundo. Eso quiere decir que el programa se está enviando del ordenador a la placa.
Como último paso verás que el led marcado con L en la placa se encenderá durante un segundo, para apagarse durante otro segundo. Esta acción se repetirá indefinidamente. Habrás “subido” tu primer programa a Arduino.
1.06.3. Estructura de un programa: setup() y loop()
Todos los programas en Arduino tienen que tener dos funciones básicas. Se llaman “setup” y “loop”. En español se traducen como “configuración” y “bucle”.
·         setup() es la función de inicialización, se ejecuta una sola vez al resetear la placa o conectar la alimentación
·         loop() se repite continuamente después de haber terminado la inicialización
Lo que quieres que tu programa haga se escribe dentro del loop. El código dentro de setup es para preparar a tu placa para que sea capaz de ejecutar las acciones que desees.
Acciones a ejecutar dentro del setup serían: configurar pines en la placa como entradas o salidas, activar librerías de comunicación, declarar variables, etc.
1.06.4. Nuevos comandos: pinMode, digitalWrite, delay
Si le echas un vistazo al código del programa BLINK, verás que, además de la declaración de las funciones setup y loop, se utilizan una serie de funciones que no habías visto antes:
·         pinMode(pin, INPUT/OUTPUT) declara un pin como entrada (INPUT) o salida (OUTPUT)
·         digitalWrite(pin, HIGH/LOW) pone un pin a 5V (HIGH) o a 0V (LOW)
·         delay(time) hace un alto en el programa por un tiempo determinado en milisegundos
Conociendo las acciones de cada una de estas funciones, resulta relativamente sencillo leer el contenido del programa BLINK para comprender que es lo que hacer realmente.
1.06.5. Instalación de drivers
Las placas Arduino son periféricos en tu ordenador, sería el equivalente a una impresora o cualquier otro dispositivo externo. Como tales, puede ser necesario instalar drivers, el programa que hace posible la comunicación entre la placa y el ordenador tanto para cargar programas como para intercambio de información en determinadas aplicaciones.
Las buenas noticias es que es sencillo y que no siempre hace falta instalarlos. Depende de nuevo, del sistema operativo de tu ordenador:
·         Mac/Linux: no hacen falta drivers, el sistema operativo ya viene con todo lo necesario , no tienes que instalar nada.
·         Windows: se recomienda usar el instalador de Windows (el fichero *.EXE) de la página de Arduino, eso instalará los driver. Si tuvieras problemas, mira la página web de Arduino para instrucciones sobre como resolver casos especiales.
1.06.7. Aplicaciones educativas
Comprender como funciona la carga de código entre diferentes plataformas es la base para poder saltar a trabajar con otros sistemas. La compilación cruzada -que es el término técnico de lo que hace el IDE de Arduino- es la acción fundamental de la creación de, por ejemplo, aplicaciones para móviles, etc. Por lo tanto, el comprender cual es la dinámica de uso de estas herramientas, es fundamental para tener una mejor comprensión de como funcionan las herramientas de desarrollo profesionales.

1 comentario: