Sistemas Embebidos
Enviado por zalha • 1 de Octubre de 2013 • 1.448 Palabras (6 Páginas) • 424 Visitas
Universidad Autónoma de Ciudad Juárez
Instituto de Ingeniería y Tecnología
Sistemas Embebidos
Juan de Dios Cota Ruíz
Practica # 1: “Corrimiento de led’s”
José Luis Rodríguez Padilla 99403
Laura Elizabeth Aguilera Porras 98518
Teoría
Arduino está formado básicamente por pines de entrada, un microcontrolador en el medio y pines de salida. Los pines de entrada sirven para escuchar y capturar información del exterior, como ejemplo: pulsadores, sensores, lectoras, etc. El microcontrolador sirve para procesar el programa cargado y finalmente los pines de salida sirven para enviar información desde la tarjeta Arduino hacia el exterior.
Al hablar de entradas o salidas digitales se entiende que tanto la información que escuchan como las respuestas pueden tener solamente dos estados: +5voltios o O voltios. OJO: Esto es solamente cuando se habla de señales digitales. En la lógica Arduino las señales digitales pueden manejar los siguientes valores o estados [1]:
Estados digitales
Registro PORT (puerto) del Arduino
Los registros de PORT permiten manipular los pines del microcontrolador de la placa Arduino en bajo nivel y de manera más rápida
• B (pines digitales del 8 al 13)
• C (entradas analógicas)
• D (pines digitales del 0 al 7)
Cada puerto es controlado por tres registros, los cuales también están definidos como variables en el lenguaje del Arduino. El registro DDR, determina si el pin es una entrada o una salida. El registro PORT controla si el pin está en nivel alto o en nivel bajo, y el registro PIN permite leer el estado de un pin que se ha configurado con entrada.
Los registros DDR y PORT pueden ser ambos, escritos y leídos. El registro PIN corresponde al estado de las entradas así que solo puede ser leído.
• El PORTD mapea los pines digitales del 0 al 7.
• DDRD - El registro de configuración del modo de los pines del puerto D - lectura/escritura.
• PORTD - Registro de datos del puerto D - lectura/escritura.
• PIND - Registro de pines de entrada - solo lectura.
• PORTB mapea los pines digitales del 8 al 13. Los bits altos (6 & 7) están mapeados a los pines del cristal de cuarzo y no pueden ser usados.
• DDRB - El registro de configuración del modo de los pines del puerto B - lectura/escritura.
• PORTB - Registro de datos del puerto D - lectura/escritura.
• PINB - Registro de pines de entrada - solo lectura.
• PORTC mapea los pines de entrada analógica del 0 al 5. Los pines 6 y 7 sólo son accesibles en el Arduino Mini.
• DDRC - El registro de configuración del modo de los pines del puerto B - lectura/escritura.
• PORTC - Registro de datos del puerto D - lectura/escritura.
• PINC - Registro de pines de entrada - solo lectura [2].
Desarrollo
A continuación se encuentra el código de programación que se desarrolló de acuerdo a las especificaciones de la práctica.
Conectar 8 led’s al puerto D del Arduino, de manera que se pueda observar el corrimiento de led’s, con un retardo de 1 segundo.
Material
• Arduino Uno.
• Cable USB.
• Protoboard.
• 8 led’s.
• 8 resistencias de 330 Ω.
• Cables para conexión.
Para la realización del programa, se utilizó el software Atmel Studio.
Programa
void setup(void)
{
DDRD= 0XFF;
}
void loop(void)
{
while(1)
{
PORTD=0X01;
delay(1000);
PORTD=0x02;
delay(1000);
PORTD=0x04;
delay(1000);
PORTD=0x08;
delay(1000);
PORTD=0x10;
delay(1000);
PORTD=0x20;
delay(1000);
PORTD=0x40;
delay(1000);
PORTD=0x80;
delay(1000);
}
}
Arduino y ejemplo de conexión
Arduino UNO
Ejemplo del armado y conexión al Arduino
Conclusiones
José Luis Rodríguez Padilla. En esta práctica se pudo ver de mejor manera el uso de los puertos del Arduino y el uso de registros. El uso de los puertos nos ayudo para que a la hora de programar no se tuvieran que referenciar salida por salida ya que si lo declaramos como puerto todas las salidas de este se activan y se controlan con la programación o los retardos que se pongan. Un error que tuvimos fue que a la hora de programar declarábamos mal los puertos ya que le dábamos una asignación de variable a cada uno “PORTD 1” y solamente se tiene que declarar como “PORTD”.
Laura Aguilera. Al ser la primera práctica a realizar, se tuvieron dudas en cuanto a la implementación del código. En sí la práctica era sencilla, al ser un corrimiento de led’s sencillo, pero la mayor dificultad o el error que se encontró y que se pudo solucionar fue al momento de asignar un valor al puerto, ya que se declaraba el puerto agregándole un número, y esto hacía que se tomara como una variable cualquiera, y no haciendo referencia al puerto, lo cual, ocasionaba el error. Fue el comienzo al conocimiento del uso de los puertos del Arduino, y resulta interesante, al mismo tiempo que se introduce más dificultad a la programación.
Bibliografía
[1] http://botscience.wordpress.com/2012/06/20/tutorial-02-entradas-y-salidas-digitales-y-uso-de-temporizadores/
[2] http://arduino.cc/es/Reference/PortManipulation
...