Diferencia entre revisiones de «Taller-skybot:Sesión4:Programación Skybot:Ejemplos»

De WikiRobotics
Saltar a: navegación, buscar
(Ejemplos sueltos)
(Ejemplos sueltos)
Línea 21: Línea 21:
 
|---------
 
|---------
 
| [http://svn.iearobotics.com/taller_skybot/trunk/prog/ejemplos/pulsador-led.c pulsador-led.c]
 
| [http://svn.iearobotics.com/taller_skybot/trunk/prog/ejemplos/pulsador-led.c pulsador-led.c]
| [ pulsador-led.hex]
+
| [http://www.iearobotics.com/downloads/taller-skybot/ejemplos/pulsador-led.hex pulsador-led.hex]
 
| Mostrar por el led el valor negado del pulsador de pruebas
 
| Mostrar por el led el valor negado del pulsador de pruebas
 
|---------
 
|---------

Revisión del 07:42 24 jun 2010

Introducción

El objetivo de este capítulo es mostrar ejemplos de programas en C para manejar diferentes recursos del robot. Editando, compilando, probando y modificando los ejemplos se aprenderá muy rápidamente a manejar el robot y en poco tiempo se podrá dar rienda suelta a la imaginación para hacer otras cosas... ¡Qué comience la fiesta!

Descargas

Todos los ejemplos

Ejemplos sueltos

ledon.c ledon.hex Encender el led de la Skypic
ledp.c ledp.hex Hacer que el led de la Skypic parpadee
pulsador-led.c pulsador-led.hex Mostrar por el led el valor negado del pulsador de pruebas

Repositorio

Ejemplos básicos

Encender el led de la Skypic

Este es el ejemplo "hola mundo" pero con modificaciones para hacerlo más legible.

La directiva #define nos permite definir constantes. En este ejemplo se definen las constantes ENTRADA, LED y ON:

#define ENTRADA 1
#define LED     RB1
#define ON      1

Esto nos permite poder usar estas nuevas constantes en vez de sus valores. Ahora ya no nos tenemos que acordar de que el led de la skypic está en el bit RB1 ni de que para encenderlo hay que escribir un 1. Ahora simplemente haciendo:

LED = ON;

Se encenderá el led de la Skypic

Led parpadeante

  • Fichero: ledp.c
  • Descripción: Este ejemplo hace parpadear el led de la Skypic
  • Explicación:

En la función main() nos encontramos con:

LED=LED^1;

Esta línea cambia de estado el LED. Si estaba encendido lo apaga y vice-versa. El símbolo ^ es el operador XOR (O exclusivo).

pausa(RETRASO);    //-- Pausa

A continuación se llama a la función pausa() que la hemos definido nosotros para hacer una pausa. El microcontrolador ejecuta instrucciones muy rápido. Si cambiamos de estado el led muy rápidamente, nuestro ojo no lo apreciará y dará la impresión de que el led está siempre encendido. Por ello hay que introducir una pausa. En la función de pausa se decrementa una variable hasta llegar a 0. Cambiando el parámetro que se le paso conseguimos una pausa mayor o menor.

  • Ejercicios para practicar:
EJERCICIO 1: Modificar el valor de la constante RETRASO. Poniendo diferentes valores. Por ejemplo 0x8000, 0x4000... ¿Qué sucede?
EJERCICIO 2: Eliminar la llamada a la función pausa(). ¿Qué sucede?

Ejemplos de motores y sensores

Temporización

Puerto serie en el PIC

Mezclando de todo un poco

Ejemplos de comportamientos sencillos

Enlaces

Noticias