Práctica 1 - Programación en Interactive C Objetivo Familiarizarse

Transcripción

Práctica 1 - Programación en Interactive C Objetivo Familiarizarse
Práctica 1 - Programación en Interactive C
Objetivo
Familiarizarse con el Handy Board; aprender a programar, utilizar comandos básicos y
librerías de Interactive C.
Ejercicio Previo
Navegar en la página Web del laboratorio (http://cs.mty.itesm.mx/lab_robotica) y en la página
Web del Handy Board. Descargar y leer el manual del Handy Board (The Handy Board
Technical Reference) para conocer sus especificaciones técnicas, así como los aspectos
relacionados con la programación del mismo. (El manual en formato PDF puede ser
descargado de la página www.handyboard.com).
Instalación del Software
Instale el Interactive C en su computadora. Para obtener una versión reciente (Windows,
Mac o Linux) y de forma gratuita puede ir al siguiente enlace:
http://www.botball.org/ic/
Instale el programa (seleccione instalar solo las librerías del Handy Board), ejecútelo y
siga las instrucciones:
Escogemos el Handy Board y seleccionamos el puerto de comunicación (COM1 en caso
de contar con puerto serial, o COM5/COM6 en caso de tener algún adaptador USBSerial).
Si utilizamos el Handy Board por primera vez es necesario descargar las librerías, por lo
cual seleccionamos la opción de Download Firmware.
En la pantalla del Firmware se muestran una serie de pasos a seguir.
1.- Asegurarnos de tener todas las conexiones listas
2.- Verificar la comunicación; al presionar el botón de “Communication Check” en la
interfaz debe parpadear el Led verde de la tarjeta de comunicación.
3.- Después de verificar la comunicación, es necesario poner el Handy Board en modo de
“download”; esto lo logramos prendiendo el Handy Board mientras presionamos el botón
de “STOP” en la tarjeta.
4.- Cuando el Handy Board tenga el LCD en negro y los leds BATT y PWR estén
apagados, podemos presionar “Download Firmware” en la interfaz.
Después de descargar las librerías estamos listos para trabajar en la pantalla de
interacción:
Realiza los siguientes ejercicios:
Ahora podrás interactuar desde el Interactive C con el Handy Board, y desde la línea de
comando puedes evaluar las siguientes expresiones una por una:
1+2;
beep();
printf(" Hola Mundo! ");
Al momento de presionar Enter después de la expresión, esta es compilada por el IC para
verificar que no tenga errores; después es cargada a memoria del Microprocesador para
su evaluación y resultado.
¿Podemos evaluar una expresión con diferentes tipos de datos (int, float, etc)?, por
ejemplo
1+2.0;
1+(int)(2.0);
En la segunda expresión se realizo un casting, ¿para que sirve?
_____________________________________________________________________
También podemos imprimir en el LCD diferentes tipos de datos, por ejemplo:
printf("\n Veinte %d",20);
printf("\n Veinte %f",20.0);
¿Cuál es la diferencia entre ambas instrucciones?
______________________________________________________________________
Investigue como imprimir un número hexadecimal y un arreglo de caracteres (string):
_______________________________
_______________________________
Si utilizamos los corchetes, podemos realizar más de una instrucción desde la línea de
comandos:
{int i; for(i=0; i<10; i++) printf("%d ",i);}
Pero lo más conveniente es crear un nuevo documento (Botón “New” en la interfaz) y
desarrollar un programa. Es necesario declarar una función principal:
void main()
{
int i;
for (i=0; i<10; i++)
printf("%d ",i);
}
Ahora es necesario grabar nuestro código para luego utilizar la opción de “Download” y
descargar el código en la memoria del Handy Board.
Para correr el programa podemos utilizar la opción “Run Main”; otra opción valida es
apagar y prender el Handy Board y podemos ver el resultado de la ejecución del
programa en el LCD.
Podemos apagar el Handy Board y volverlo a prender mientras presionamos el botón de
“START” en la tarjeta, esto con el fin de encender el Handy Board sin correr el programa
previamente cargado.
2da Parte
Existen muchas funciones predefinidas que son cargadas cada vez que sincronizamos el
Handy Board con el Interactive C.
El Handy Board cuenta con dos botones y una perilla, y existen funciones para leer el
valor de estos, por ejemplo, la siguiente función nos regresa el valor del botón “STOP”
(1 si esta presionado ó 0 de lo contrario):
stop_button();
La función que mide el valor de la perilla nos regresa un número proporcional a su
posición, que va desde 0 hasta 255:
knob();
Programa final
Desarrolle un código que despliegue en el LCD continuamente el valor actual de la
perilla. Para lograr este código es necesario que utilice un while, cuya condición sea que
no este presionado el botón de STOP. Es necesario el uso de \n dentro de la función de
impresión, para lograr sobrescribir. Necesitamos un pequeño retraso entre cada
impresión, por lo cual debe utilizar la función sleep( ), que deberá investigar en el manual
técnico.
Otros tópicos importantes que debe estudiar son los siguientes:
* Tipos de datos que maneja el IC, así como la forma de desplegar los diferentes tipos de
datos en el LCD del Handy Board.
* Variables locales y globales.
* Operadores y su respectiva jerarquía (orden de evaluación).
* Diferentes operaciones de condición (IF, WHILE, FOR).
* Arreglos.
* Funciones predefinidas que involucran mediciones de tiempo.
* Multitasking ó la ejecución de varios procesos simultáneamente.
* Alimentación
El Handy Board cuenta con una batería que consiste de 8 pilas AA recargables de NíquelCadmio. En el apartado 7 del manual del Handy Board (Batterie Maintenance) se
encuentran las indicaciones para cargar adecuadamente las baterías.
Es importante verificar el modo de carga que se esta utilizando, ya que el modo ZAP es
recomendado para cargar las baterías en solo 3 horas; si sobrepasamos este tiempo las
baterías pueden sobre calentarse y fallar.

Documentos relacionados