I.E.S. Joan Miró (S.S. De los Reyes) Robot Elii. (Robot rastreador con LED,borde derecho y con memoria)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "I.E.S. Joan Miró (S.S. De los Reyes) Robot Elii. (Robot rastreador con LED,borde derecho y con memoria)"

Transcripción

1 Robot Elii (Robot rastreador con LED,borde derecho y con memoria) lumnas: Dayana Cuñas y Ruth Zurita Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: Enero_009

2 Índice de contenido.- Explicación breve del Proyecto....- Esquema eléctrico de simulación del Rastreador Programas Robot Rastreador y Coche Teledirigido Programas de test de las diferentes partes del robot Pruebas de los Led Diagrama de Flujo Led Programa Led Pruebas del Motor Derecho Diagrama de Flujo Motor Derecho Programa Motor Derecho Pruebas del Motor Izquierdo Diagrama de Flujo Motor Izquierdo Programa Motor Izquierdo Pruebas del Pulsador Diagrama de Flujo Pulsador Programa Pulsador Pruebas de Sensores Diagrama de Flujo Sensores Programa de Sensores Rastreador Diagrama de Flujo Rastreador Programa Rastreador Coche Teledirigido Esquema Eléctrico de simulación del Coche Teledirigido Programa Coche Teledirigido Transmisión_Serie_.c Recepción_Serie_.c Coche Teledirigido + Rastreador Coche-Rastreador_.c....- Diagrama en Bloques Esquema Eléctrico Robot Rastreador daptador de señales PC-uC Regulador 9v/5v Sistema de Control Control de Potencia Sensores de Infrarrojos y acondicionador de señal Mando Diseño de Placas de Circuitos Impresos Cara de Componentes y de pistas Top Copper del daptador de señal PC-uC Cara de pistas Bottom Copper del daptador de señal PC-uC Cara de Componentes y de pistas Top Copper del Regulador 9v/5v Cara de pistas Bottom Copper del Regulador 9v/5v Cara de Componentes y de pistas Top Copper del Sistema de Control...5

3 5...- Cara de pistas Bottom Copper del Sistema de Control Cara de pistas Top Copper del Sistema de Control Cara de Componentes y de pistas Top Copper del Control de Potencia Cara de pistas Bottom Copper del Control de Potencia Cara de pistas Top Copper del Control de Potencia Cara de Componentes y de pistas Top Copper de los Sensores de Infrarrojos y acondicionador de señal Cara de pistas Bottom Copper del daptador de los Sensores de Infrarrojos y acondicionador de señal Cara de pistas Top Copper de los Sensores de Infrarrojos y acondicionador de señal Cara de Componentes y de pistas Top Copper del Mando Cara de pistas Bottom Copper del daptador del Mando Cara de pistas Top Copper del Mando Diseño mecánico, (Carrocería) Lista de Componentes y coste económico Coste Económico Total Referencias nexos Características Eléctricas del Motor de Corriente Continua COPL HG Características Eléctricas de los Sensores de Infrarrojos Características Eléctricas Tarjeta Emisora de Datos,9 Mhz. (CEBE C-050) Características Eléctricas Tarjeta Receptora de Datos,9 MHz. ( CEBE C-50 ) Características Eléctricas del Inversor de Giro L98N Características Eléctricas del microcontrolador PIC6F

4 .- Explicación breve del Proyecto. El proyecto consiste en realizar un robot que sea capaz de seguir una linea negra sobre un fondo blanco de forma autónoma. El robot es tipo triciclo. Se controla el sentido de giro de cada una de las ruedas por separado, de esta manera se pueden realizar giros a derecha y a izquierda ( Ver Figura ) El robot trabaja con técnicas digitales. El control está realizado con un microcontrolador de Microchip el PIC 6F876a. Se le ha dotado de unos LED para que indique lo que está ocurriendo en su entorno en todo momento. Dispone de sensores de Infrarrojos CNY70 para localizar la línea negra. demás se añade al robot que pueda ser teledirigido. En todo momento el control del robot puede hacerse manualmente. Existe una comunicación entre el robot y un mando en radio frecuencia con los módulos de CEBEC C-050 y C-050. Que son un transmisor y receptor de datos en modulación M que trabajan a una frecuencia portadora,9 MHz y tienen un ncho de Banda de hz.

5 Se diseña el proyecto con una herramienta llamada Proteus, que te permite simular el hardware y el software a la vez, pudiendo ejecutarse paso a paso cada programa. Se puede trabajar con ficheros.sm y C. demás se ha desarrollado las placas del proyecto y la carrocería del dispositivo. El software se puede grabar en el robot directamente sin necesidad de extraer el microcontrolador, para ello se ha utilizado el grabador PICdownloader.exe. Los microcontroladores tienen que tener cargado previamente un programa de comunicaciones para comunicarnos con un Ordenador Personal..- Esquema eléctrico de simulación del Rastreador. RC R 0 RB RB RB RB RB5 RC D IZQUIERD R6 0 U0 R5 0 D DELNTE 6 5 OPTOCOUPLER-NPN R7 0 U 6 5 OPTOCOUPLER-NPN V V R6 0 D5 DERECH R 0k R5 0 Q Q Q R7 0 D6 TRS Q RC Volts RC RC Volts R8 0 RC5 D7 PRD IN IN IN IN EN ENB SENS SENSB R 0k RB0 INCIO BT V GND 8 VS RB[0..5] RB0 RB RB RB RB RB5 RC[0..5] 9 U VCC OUT OUT OUT OUT Control de Potencia L98 V RC0 RC RC RC RC RC5 D8 D0 D Sistema de Control U RB0/INT RB RB RB/PGM RB RB5 RB6/PGC RB7/PGD RC0/TOSO/TCI RC/TOSI/CCP RC/CCP RC/SC/SCL RC/SDI/SD RC5/SDO RC6/TX/C RC7/RX/DT PIC6F876_JON MOTOR IZQUIERDO MOTOR DERECHO D V DCMOTOR V mh OSC/CLIN OSC/CLOUT MCLR/Vpp/THV R0/N0 R/N R/N/VREF- R/N/VREF+ R/T0CI R5/N/SS D9 D D D V R0 R R0 8k R[0..] R0 5 6 SENSOR IZQUIERDO NEGRO SW BLNCO R 00 U:C 7HC R 8k R 0k C 5pF X MHz C 5pF RESET C5 00nF R U:D 7HC SENSOR DERECHO NEGRO SW BLNCO Sensores de Infrarrojos y acondicionador de señal VSS 5

6 .- Programas Robot Rastreador y Coche Teledirigido...- Programas de test de las diferentes partes del robot....- Pruebas de los Led....- Diagrama de Flujo Led. Pruebas Led Encender Led Temporizar segundo pagar Led Temporizar segundo...- Programa Led. // Pruebas de los Led. // ********************************** Directivas de Preprocesado************************************* // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. 6

7 #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5. // **************************** Función principal o programa principal ******************************* // Se define con un void main, void main() TRISB = 0B ; // Defines Puerto B como (PB7..PB)SLID de datos. // y PB0 como entrada de datos. while () // Ejecuta indefinidamente lo que está entre corchetes. led_izquierda = 0; // Encendemos el Led de la Izquierda. led_delante = 0; // Encendemos el Led de la delante. led_derecha = 0; // Encendemos el Led de la Derecha. led_tras = 0; // Encendemos el Led de la trás. led_parada = 0; // Encendemos el Led de la Parada. delay_ms(00); // Retardo de 500 ms. led_izquierda = ; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // pagamos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. delay_ms(500); // Retardo de 500 ms. 7

8 ...- Pruebas del Motor Derecho....- Diagrama de Flujo Motor Derecho. Pruebas Motor Derecho Giro del motor hacia la Izquierda Temporizar segundo Giro del Motor hacia la derecha Temporizar segundo Parar el motor Temporizar segundo...- Programa Motor Derecho. // Pruebas del Motor Derecho. // ********************************** Directivas de Preprocesado************************************* // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz #BYTE TRISC = 0x87 // TRISC en 87h. 8

9 #BYTE portc = 0x07 // PORTC en 07h. #BIT in = 0x07.0 // RC0 en 0x07 patilla 0. #BIT in = 0x07. // RC en 0x07 patilla. #BIT sensb = 0x07. // RC en 0x07 patilla. // *************************** Función principal o programa principal ******************************* // Se define con un void main, void main() TRISC = 0B ; // Defines Puerto C como entrada de datos. portc = 0B ; // Poner a 0 el Puerto C. SENSB = ; // Ponemos SENSB a masa. while () // Ejecuta indefinidamente lo que está entre corchetes. in = ; // Giro del motor hacia la Izquierda. in = 0; delay_ms(50); // Retardo de S. in = 0; // Giro del motor hacia la Derecha. in = ; delay_ms(50); // Retardo de S. in = 0; // Parada del motor. in = 0; delay_ms(50); // Retardo de S. 9

10 ...- Pruebas del Motor Izquierdo....- Diagrama de Flujo Motor Izquierdo. Pruebas Motor Izquierdo Giro del Motor hacia la Izquierda Temporizar segundo Giro del motor hacia la Derecha Temporizar segundo Parar el motor Temporizar segundo...- Programa Motor Izquierdo. // Pruebas del Motor Izquierdo. // ************************************ Directivas de Preprocesado*********************************** // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz #BYTE TRISC = 0x87 // TRISC en 87h. 0

11 #BYTE portc = 0x07 // PORTC en 07h. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07.5 // RC5 en 0x07 patilla 5. #BIT sens = 0x07. // RC en 0x07 patilla. // **************************** Función principal o programa principal ******************************* // Se define con un void main, void main() TRISC = 0B ; // Defines Puerto C como entrada de datos. portc = 0B ; // Poner a 0 el Puerto C. sens = ; // Ponemos SENS a masa. while () // Ejecuta indefinidamente lo que está entre corchetes. in = ; // Giro del motor hacia la Izquierda. in = 0; delay_ms(50); // Retardo de S. in = 0; // Giro del motor hacia la Derecha. in = ; delay_ms(50); // Retardo de S. in = 0; // Parada del motor. in = 0; delay_ms(50); // Retardo de S.

12 ...- Pruebas del Pulsador....- Diagrama de Flujo Pulsador. Pruebas Pulsador Se ha pulsado INICIO? NO Encendemos Led adelante pagamos Led izquierda SI Encendemos Led izquierda pagamos Led adelante...- Programa Pulsador. // Pruebas del Pulsador. // ********************************* Directivas de Preprocesado************************************** // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5.

13 #BIT pulsador = 0x06.0 // RB0 en 0x06 patilla 0. // **************************** Función principal o programa principal ******************************* // Se define con un void main, void main() TRISB = 0B ; // Defines Puerto B como (PB7..PB)SLID de datos. // y PB0 como entrada de datos. led_izquierda = ; // pagamos el Led de la Izquierda. led_delante = ; // pagamos el Led de la delante. led_derecha = ; // pagamos el Led de la Derecha. led_tras = ; // pagamos el Led de la trás. led_parada = ; // pagamos el Led de la Parada. while () // Ejecuta indefinidamente lo que está entre corchetes. if (pulsador == ) // Preguntamos si pulsador= // Si pulsador= ejecuta lo que viene a continuación. led_izquierda = ; // pagamos el Led de la Izquierda. led_delante = 0; // Encendemos el Led de la delante. else // Si RC0=0 ejecuta lo que viene a continuación. led_izquierda = 0; // Encendemos el Led de la Izquierda. led_delante = ; // pagamos el Led de la delante.

14 ..5.- Pruebas de Sensores Diagrama de Flujo Sensores. Pruebas Sensores Sensor Izquierdo = Negro? Sensor Derecho = Negro? NO Sensor Izquierdo = Blanco? Sensor Derecho = Negro? NO Sensor Izquierdo = Negro? Sensor Derecho = Blanco? NO Sensor Izquierdo = Blanco? Sensor Derecho = Blanco? NO SI SI SI SI pagamos led atrás pagamos led parada Encendemos led atrás pagamos led parada pagamos led atrás Encendemos led parada Encendemos led atrás Encendemos led parada Programa de Sensores. // Pruebas de Sensores. // ************************************ Directivas de Preprocesado*********************************** // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz

15 #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRIS = 0x85 // TRIS en 85h. #BYTE port = 0x05 // PORT en 05h. #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5. // ****************************** Función principal o programa principal ***************************** // Se define con un void main, void main() int8 sensores; TRISB = 0B ; TRIS = 0B; // Defines Puerto B como (PB7..PB)SLID de datos. // y PB0 como entrada de datos. // Defines Puerto como entrada de datos. led_izquierda = ; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // pagamos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. while () // Ejecuta indefinidamente lo que está entre corchetes. sensores = port; sensores = sensores & 0B000000; switch (sensores) // Preguntamos por el Puerto C si es 0 ejecuta el case 0, si es el case, // si es ejecuta el case,si es ejecuta el case //si es mayor que ejecuta default. 5

16 case 0: Break; led_tras = ; led_parada = ; // pagamos el Led de la trás. // pagamos el Led de la Parada. case : break; led_tras = 0; led_parada = ; // Encendemos el Led de la trás. // pagamos el Led de la Parada. case : break; led_tras = ; led_parada = 0; // pagamos el Led de la trás. // Encendemos el Led de la Parada. case : led_tras = 0; led_parada = 0; // Encendemos el Led de la trás. // Encendemos el Led de la Parada. 6

17 ..- Rastreador....- Diagrama de Flujo Rastreador. Rastreador Esta posicionado el Robot? NO pagamos el Led de Parada SI Encendemos el Led de Parada Se ha pulsado INICIO? NO SI ctivamos las masas de SENS y SENSB Sensor Izquierdo = Negro? Sensor Derecho = Negro? NO Sensor Izquierdo = Blanco? Sensor Derecho = Negro? NO Sensor Izquierdo = Negro? Sensor Derecho = Blanco? NO Sensor Izquierdo = Blanco? Sensor Derecho = Blanco? NO SI SI SI SI Ir hacia la Izquierda Encender Led Izquierda Ir hacia delante Encender Led delante Ir hacia la Izquierda Encender Led Izquierda Ir hacia la Derecha Encender Led Derecha 7

18 ...- Programa Rastreador. // Rastreador. // ********************************* Directivas de Preprocesado************************************** // (Controlan la conversión del programa a código máquina por parte del compilador) #include <6F876.h> #fuses XT,NOWDT #use delay( clock = ) // Incluye el fichero 6F876 al programa tiene que estar en la misma carpeta del // programa define funciones, patillas y registros. // Define la palabra de configuración del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de MHz #BYTE TRISC = 0x87 // TRISB en 87h. #BYTE portc = 0x07 // PORTB en 07h. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRIS = 0x85 // TRIS en 85h. #BYTE port = 0x05 // PORT en 05h. #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5. #BIT in = 0x07.0 // RC0 en 0x07 patilla 0. #BIT in = 0x07. // RC en 0x07 patilla. #BIT sensb = 0x07. // RC en 0x07 patilla. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07.5 // RC5 en 0x07 patilla 5. #BIT sens = 0x07. // RC en 0x07 patilla. #BIT pulsador = 0x06.0 // RB0 en 0x06 patilla 0. 8

19 // **************************** Función principal o programa principal ******************************* void main() int8 sensores; // Variable donde guardamos el contenido de los sensores //**************** Configuración de los Puertos del PIC y reseteos del Rastreador ********************* TRISC = 0B ; TRISB = 0B ; TRIS = 0B; // Defines Puerto C como SLID de datos. // Defines Puerto B como (PB7..PB)SLID de datos. // y PB0 como entrada de datos. // Defines Puerto como entrada de datos. led_izquierda = ; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // pagamos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. portc = 0B ; // Poner a 0 el Puerto C. //************************ Posicionamiento Inicial del Rastreador ********************************* DO sensores = port; // Leemos el Puerto y lo almacenamos en la variable sensores. sensores = sensores & 0B000000; // Filtramos los dos bit R y R0 que representan el // sensor derecho e izquierdo respectivamente. if (sensores == 0B ) // Preguntamos si R=0 R0= // Si R=0 R0= ejecuta lo que viene a continuación. led_parada = 0; // Encendemos el Led de Parada. else // Si R<>0 R0<> ejecuta lo que viene a continuación. led_parada = ; // pagamos el Led de la Parada. WHILE (pulsador == ); 9

20 //************************ Rastreador en funcionamiento **************************************** sens = ; // ctivamos la masa en SENS ; sensb = ; // ctivamos la masa en SENSB ; while () sensores = port; sensores = sensores & 0B000000; // Ejecuta indefinidamente lo que está entre corchetes. // Leemos el Puerto y lo almacenamos en la variable sensores. // Filtramos los dos bit R y R0 que representan el // sensor derecho e izquierdo respectivamente. switch (sensores) // Preguntamos por el Puerto C si es 0 ejecuta el case 0, case 0: led_izquierda = 0; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // si es el case, si es ejecuta el case,si es ejecuta el case. // Leemos Negro-Negro y giramos hacia la Izquierda. // Encendemos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada break; in = ; in = 0; in = 0; in = ; // Motor Derecho hacia adelante. // Motor Izquierdo hacia atrás. case : led_izquierda = ; led_delante = 0; led_derecha = ; led_tras = ; led_parada = ; // Leemos Blanco-Negro y vamos hacia delante. // pagamos el Led de la Izquierda. // Encendemos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la tras. // pagamos el Led de la Parada. in = ; in = 0; in = ; In = 0; // Motor Derecho hacia adelante. // Motor Izquierdo hacia adelante. 0

21 break; case : led_izquierda = 0; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // Leemos Negro-Blanco y giramos hacia la Izquierda. // Encendemos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la tras. // pagamos el Led de la Parada. in = ; in = 0; in = 0; in = ; // Motor Derecho hacia adelante. // Motor Izquierdo hacia atras. break; case : led_izquierda = ; led_delante = ; led_derecha = 0; led_tras = ; led_parada = ; // Leemos Blanco-Blanco y giramos hacia la derecha. // pagamos el Led de la Izquierda. // pagamos el Led de la delante. // Encendemos el Led de la Derecha. // pagamos el Led de la tras. // pagamos el Led de la Parada. in = 0; in = ; in = ; in = 0; // Motor Derecho hacia atras. // Motor Izquierdo hacia adelante.

22 I.E.S. Joan Miró (S.S. De los Reyes)..- Coche Teledirigido....- Esquema Eléctrico de simulación del Coche Teledirigido. RC R 0 R 0 D D RB RB RB RB RB5 RC RBE IZQUIERD Mando SW IZQUIERD R 0 R5 0 D D RB0E RBE RBE RBE SW5 DELNTE DELNTE V Simulación del Robot Laberinto + Coche Teledirigido R9 0 Coche-Rastreador R6 0 D6 SW6 DERECH D5 DERECH RC0 RC RC R0 0 D7 SW7 TRS R7 0 D6 TRS RC5 BT R 0 R8 0 D8 D7 PRD RB[0..5] V SW8 PRD RB0 RB RB RB RB RB5 RC0 RC RC RC RC RC5 Tx RB0E RBE RBE RBE RBE U RB0/INT RB RB RB/PGM RB RB5 RB6/PGC RB7/PGD RC0/TOSO/TCI RC/TOSI/CCP RC/CCP RC/SC/SCL RC/SDI/SD RC5/SDO RC6/TX/C RC7/RX/DT PIC6F876_JON U U: 7HC5 RB0/INT RB RB RB/PGM RB RB5 RB6/PGC RB7/PGD RC0/TOSO/TCI RC/TOSI/CCP RC/CCP RC/SC/SCL RC/SDI/SD RC5/SDO RC6/TX/C RC7/RX/DT PIC6F876_JON Tx OSC/CLIN OSC/CLOUT MCLR/Vpp/THV Sistema de Control OSC/CLIN OSC/CLOUT MCLR/Vpp/THV R0/N0 R/N R/N/VREF- R/N/VREF+ R/T0CI R5/N/SS R0/N0 R/N R/N/VREF- R/N/VREF+ R/T0CI R5/N/SS V RXD TXD RTS CTS R0 R R 00 R8 0k PROG_-B C 5pF X MHz C6 5pF R9 0k C 00nF RESET PULSDOR_JON R[0..] C 5pF X MHz C 5pF VSS R 00 R 0k RESET C5 00nF RB0 INCIO R 0k SW R6 0 U0 6 5 OPTOCOUPLER-NPN R7 0 R 0k V R5 0 Q Q Volts V 9 U IN VCC VS IN OUT IN IN OUT EN ENB OUT SENS OUT SENSB GND 8 L98 D8 D0 MO D9 V D DMO D V R0 8k R0 5 6 SENSOR IZQUIERDO NEGRO SW U:C 7HC R 8k U:D 7HC SW R SENSOR DERECHO NEGRO U 6 5 OPTOCOUPLER-NPN Q Q Volts Control de Potencia RC B RC D V D5 BLNCO Sensores de Infrarrojos y acondicionador de señal BLNCO

23 ...- Programa Coche Teledirigido....- Transmisión_Serie_.c //************************************** Mando************************************************** // ****************************** Directivas de Preprocesado***************************************** #include <6F876.h> #FUSES XT,NOWDT #use delay(clock=000000) #use rs(baud=00, xmit=pin_c6, rcv=pin_c7) // Definimos la velocidad de transmisión de // 00 baudios/segundo // Elegimos RC6 como patilla transmisora de datos. // Elegimos RC7 como patilla receptora de datos. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC en 07h. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BIT rc = 0x07. / / RC en 0x07 patilla. #define Clave_Pulsadores 5 #define Numero_Repeticiones 0 // ***************************** Función principal o programa principal ****************************** void main() int8 dato = 0; // Definimos la variable "dato" como tipo bit. int8 i = 0; // Definimos la variable "i" como tipo byte. TRISB = 0B; // Defines Puerto B como ENTRD de datos. TRISC = 0B ; // Defines Puerto C como SLID de datos. rc = ; // Deshabilitamos la tarjeta de Transmisión de Datos while() dato = portb & 0B000; dato = dato 0B00000; // Bucle infinito. // Filtramos los 5 bit más significativos. // ñadimos tres unos a los tres bit más significativos.

24 dato = ~dato; // Invertimos la variable dato. if (dato!= 0B ) // Si un pulsador es igual a cero realiza lo que viene a continuación. rc = 0; // Habilitamos la tarjeta de Transmisión //de Datos. for( i=0; i <= Numero_Repeticiones; i++ ) // Enviamos el dato vía serie, tantas veces como // diga la variable Número_Repeticiones putc(clave_pulsadores); // Enviamos la Clave_Pulsador vía serie. putc(dato); // Enviamos la variable dato vía serie. rc = ; delay_ms(00); // Deshabilitamos la tarjeta de Transmisión de Datos...- Recepción_Serie_.c //********************************** Recepción Serie de Datos ************************************** // ****************************** Directivas de Preprocesado**************************************** #include <6F876.h> #FUSES XT,NOWDT #use delay(clock=000000) // La velocidad de reloj es de MHz (Lo va a marcar el cristal de // cuarzo) #use rs(baud=9600,xmit=pin_c6, rcv=pin_c7) // Definimos la velocidad de transmisión de 9600 baudios/segundo // Elegimos RC6 como patilla transmisora de datos. // Elegimos RC7 como patilla receptora de datos. #BYTE TRISC = 0x87 // TRISB en 87h. #BYTE portc = 0x07 // PORTB en 07h.

25 #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5. #BIT in = 0x07.0 // RC0 en 0x07 patilla 0. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07.5 // RC5 en 0x07 patilla 5. #define Clave_ 5 // Clave_ de acceso vía serie. int6 vel_r_i_d = 000; int6 vel_r_d_d = 000; int6 vel_r_i_t = 600; int6 vel_r_d_t = 600; int6 vel_r_i_gi = 00; int6 vel_r_d_gi = 800; int6 vel_r_i_gd = 800; int6 vel_r_d_gd = 00; // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir delante. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Derecha. Ir delante. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir trás. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir trás. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Izquierda. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Izquierda. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Derecha. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Derecha. int6 valor=0; // Definimos la variable "valor" como entero de 6 bit. /* ********************************* Declaración de funciones ************************************ */ 5

26 void leer_dato_serie (void); void Izquierda (void); void delante (void); void Derecha (void); void tras (void); void Parada (void); // Leer Dato. // Ir a Izquierdas. // Ir a delante. // Ir a Derechas. // Ir a trás. // Ir a Parada. // ************************** Función principal o programa principal ********************************* void main() TRISB = 0B ; // Defines Puerto B como SLID de datos a excepción de rb0. portb = 0B000; // pagamos los Led setup_timer_(t_div_by_6,9,); // setup_timer(prescaler,pr,postscaler) // Configuración timer. Si el Periodo = 6mS ----> T = 6000uS // T = [PR+] x Tcm x Postscaler x Prescaler // PR puede valer de 0 a 55. // Tcm es el tiempo de Ciclo Maquina. // Tcm = /Fosc = / hz = us. // Prescaler puede valer,,6 // Postscaler puede valer. // 6000uS = [PR+] x x 6 x // PR =[T/(Tcm x Preescaler x Postscaler)]- // PR =[6000uS/(uS x 6 x )]- = 9 (en C 9) setup_ccp(ccp_pwm); setup_ccp(ccp_pwm); // CCP en modo PWM (Salida por RC) Rueda Izquierda // CCP en modo PWM (Salida por RC) Rueda Derecha set_pwm_duty(0); set_pwm_duty(0); // Señal de PWM. Salida por RC. // Señal de PWM. Salida por RC. TRISC = 0B ; portc = 0B ; // Defines Puerto C como SLID de datos a excepción de rc7. // Reseteamos el Puerto C enable_interrupts(int_rd); enable_interrupts(globl); // Habilitamos la Interrupción serie de datos. // Habilitamos la Interrupción General. 6

27 while() if (valor==0b ) Izquierda(); if (valor==0b ) delante(); if (valor==0b ) Derecha(); // Bucle sin fin. // Se ha pulsado Izquierda en el Mando. // Ejecutamos la función Izquierda. // Se ha pulsado delante en el Mando. // Ejecutamos la función delante. // Se ha pulsado Derecha en el Mando. // Ejecutamos la función Derecha. if (valor==0b ) tras(); if (valor==0b ) Parada(); // Se ha pulsado tras en el Mando. // Ejecutamos la función tras. // Se ha pulsado Parada en el Mando. // Ejecutamos la función Parada. /* ***********************************Función Izquierda **************************************** */ void Izquierda (Void) led_izquierda = 0; // Enciendo Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = ; // pago Led de trás. led_parada = ; // pago Led de Parada. 7

28 set_pwm_duty(vel_r_i_gi); set_pwm_duty(vel_r_d_gi); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir Izquierda // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir Izquierda in=0; in=; in=0; in=; // Motor izquierdo adelante // Motor derecho adelante delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* ***********************************Función delante **************************************** */ void delante (void) led_izquierda = ; // pago Led de Izquierda. led_delante = 0; // Enciendo Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = ; // pago Led de trás. led_parada = ; // pago Led de Parada. set_pwm_duty(vel_r_i_d); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir delante set_pwm_duty(vel_r_d_d); // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir delante in=0; in=; in=0; in=; // Motor izquierdo adelante // Motor derecho adelante delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* ***********************************Función Derecha **************************************** */ void Derecha (void) led_izquierda = ; led_delante = ; // pago Led de Izquierda. // pago Led de delante. 8

29 led_derecha = 0; led_tras = ; led_parada = ; // Enciendo Led de Derecha. // pago Led de trás. // pago Led de Parada. set_pwm_duty(vel_r_i_gd); set_pwm_duty(vel_r_d_gd); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir Derecha // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir Derecha in=0; in=; in=0; in=; // Motor izquierdo adelante // Motor derecho adelante delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* *************************************** Función trás *************************************** */ void tras (void) led_izquierda = ; // pago Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = 0; // Enciendo Led de trás. led_parada = ; // pago Led de Parada. set_pwm_duty(vel_r_i_t); set_pwm_duty(vel_r_d_t); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir tras // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir tras in=; in=0; in=; in=0; // Motor izquierdo atrás // Motor derecho atrás delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) 9

30 /* ************************************ Función Parada ***************************************** */ void Parada (void) led_izquierda = ; // pago Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = ; // pago Led de trás. led_parada = 0; // Enciendo Led de Parada. set_pwm_duty(0); set_pwm_duty(0); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Parar // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Parar in=0; in=0; in=0; in=0; // Motor izquierdo parado // Motor derecho parado delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* ******************* tención a la Interrupción por Recepción Serie de datos ************************ */ #int_rd /* Validamos el dato serie si cumple las siguiente condiciones. Si dos palabras consecutivas de byte son iguales se valida el dato. clave,dato,clave,dato,...,clave,dato Se lee el º dato serie recibido con la función "getc()" y se compara con la "clave" del transmisor que tiene que ser la misma que la del receptor, si son iguales se lee el º dato serie recibido con la función "getc()" y se guarda. Se lee el º dato serie recibido con la función "getc()" y se compara con la "clave" del transmisor que tiene que ser la misma que la del receptor, si son iguales se lee el º dato serie recibido con la función "getc()" y se compara con el º dato leido, si son iguales se valida el dato con la variable global "Valor". */ 0

31 void leer_dato_serie (void) int8 dato_recibido; int8 numero_datos; int8 dato; dato_recibido=getc(); // Recibimos el dato serie. switch (numero_datos) case 0: if(dato_recibido==clave_) numero_datos=; break; case : break; dato=dato_recibido; numero_datos=; case : break; if(dato_recibido==clave_) numero_datos=; else numero_datos=0; case : if(dato_recibido==dato) valor=dato_recibido;

32 numero_datos=0;..- Coche Teledirigido + Rastreador Se utiliza el simulador anterior (partado..), el programa transmisor es Transmisión_Serie_.c y el programa receptor Coche-Rastreador_.c un conmutador PROG_-B selecciona uno de los dos programas. (La forma de proceder es seleccionar el programa y activar el Coche-Robot)...- Coche-Rastreador_.c //*************************************** Coche + Rastreador ************************************** // ******************************** Directivas de Preprocesado*************************************** #include <6F876.h> #FUSES XT,NOWDT #use delay(clock=000000) #use rs(baud=9600,xmit=pin_c6, rcv=pin_c7) #BYTE TRISC = 0x87 // TRISB en 87h. #BYTE portc = 0x07 // PORTB en 07h. #BYTE TRISB = 0x86 // TRISB en 86h. // La velocidad de reloj es de MHz (Lo va a marcar el cristal de // cuarzo) // Definimos la velocidad de transmisión de 9600 baudios/segundo // Elegimos RC6 como patilla transmisora de datos. // Elegimos RC7 como patilla receptora de datos.

33 #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRIS = 0x85 // TRIS en 85h. #BYTE port = 0x05 // PORT en 05h. #BIT ra = 0x05. // R en 0x05 patilla. #BIT led_izquierda = 0x06. // RB en 0x06 patilla. #BIT led_delante = 0x06. // RB en 0x06 patilla. #BIT led_derecha = 0x06. // RB en 0x06 patilla. #BIT led_tras = 0x06. // RB en 0x06 patilla. #BIT led_parada = 0x06.5 // RB5 en 0x06 patilla 5. #BIT in = 0x07.0 // RC0 en 0x07 patilla 0. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07. // RC en 0x07 patilla. #BIT in = 0x07.5 // RC5 en 0x07 patilla 5. #BIT sensb = 0x07. // RC en 0x07 patilla. #BIT sens = 0x07. // RC en 0x07 patilla. #BIT pulsador = 0x06.0 // RB0 en 0x06 patilla 0. #define Clave_ 5 // Clave_ de acceso vía serie. int6 vel_r_i_d = 000; int6 vel_r_d_d = 000; int6 vel_r_i_t = 600; int6 vel_r_d_t = 600; int6 vel_r_i_gi = 00; int6 vel_r_d_gi = 800; int6 vel_r_i_gd = 800; // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir delante. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Derecha. Ir delante. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir trás. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir trás. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Izquierda. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Izquierda. // Definimos la variable "vel_r_i_d" como entero de 6 bit.

34 int6 vel_r_d_gd = 00; // Velocidad de la Rueda Izquierda. Ir Derecha. // Definimos la variable "vel_r_i_d" como entero de 6 bit. // Velocidad de la Rueda Izquierda. Ir Derecha. int6 valor=0; // Definimos la variable "valor" como entero de 6 bit. /* ******************************* Declaración de funciones ************************************** */ void Coche (void); // Coche. void Rastreador (void); // Rastreador void Leer_dato_serie (void); // Leer Dato. void Izquierda (void); // Ir a Izquierdas. void delante (void); // Ir a delante. void Derecha (void); // Ir a Derechas. void tras (void); // Ir a trás. void Parada (void); // Ir a Parada. // ****************************** Función principal o programa principal ***************************** void main() TRISB = 0B ; // Defines Puerto B como SLID de datos a excepción de rb0. portb = 0B000; // pagamos los Led if(ra==) Coche(); Rastreador(); /* ************************************ Función Coche ****************************************** */ void Coche (void) setup_timer_(t_div_by_6,9,); // setup_timer(prescaler,pr,postscaler) // Configuración timer. Si el Periodo = 6mS ----> T = 6000uS // T = [PR+] x Tcm x Postscaler x Prescaler // PR puede valer de 0 a 55. // Tcm es el tiempo de Ciclo Maquina. // Tcm = /Fosc = / hz = us.

35 setup_ccp(ccp_pwm); setup_ccp(ccp_pwm); // Prescaler puede valer,,6 // Postscaler puede valer. // 6000uS = [PR+] x x 6 x // PR =[T/(Tcm x Preescaler x Postscaler)]- // PR =[6000uS/(uS x 6 x )]- = 9 // CCP en modo PWM (Salida por RC) Rueda Izquierda // CCP en modo PWM (Salida por RC) Rueda Derecha set_pwm_duty(0); set_pwm_duty(0); // Señal de PWM. Salida por RC. // Señal de PWM. Salida por RC. TRISC = 0B ; portc = 0B ; // Defines Puerto C como SLID de datos a excepción de rc7. // Reseteamos el Puerto C enable_interrupts(int_rd); enable_interrupts(globl); // Habilitamos la Interrupción serie de datos. // Habilitamos la Interrupción General. while() if (valor==0b ) Izquierda(); if (valor==0b ) delante(); if (valor==0b ) Derecha(); if (valor==0b ) tras(); if (valor==0b ) // Bucle sin fin. // Se ha pulsado Izquierda en el Mando. // Ejecutamos la función Izquierda. // Se ha pulsado delante en el Mando. // Ejecutamos la función delante. // Se ha pulsado Derecha en el Mando. // Ejecutamos la función Derecha. // Se ha pulsado trás en el Mando. // Ejecutamos la función trás. // Se ha pulsado Parada en el Mando. 5

36 Parada(); // Ejecutamos la función Parada. /* *********************************** Función Rastreador *************************************** */ void Rastreador (void) int8 sensores; // Variable donde guardamos el contenido de los sensores TRIS = 0B; // Defines Puerto como entrada de datos. TRISC = 0B ; portc = 0B ; // Defines Puerto C como SLID de datos a excepción de rc7. // Reseteamos el Puerto C //*********************** Posicionamiento Inicial del Rastreador ********************************* DO sensores = port; // Leemos el Puerto y lo almacenamos en la variable // sensores. sensores = sensores & 0B000000; // Filtramos los dos bit R y R0 que representan el // sensor derecho e izquierdo respectivamente. if (sensores == 0B ) // Preguntamos si R=0 R0= // Si R=0 R0= ejecuta lo que viene a continuación. led_parada = 0; // Encendemos el Led de Parada. else // Si R<>0 R0<> ejecuta lo que viene a // continuación. led_parada = ; // pagamos el Led de la Parada. WHILE (pulsador == ); //*********************************** Rastreador en funcionamiento *************************** while () // Ejecuta indefinidamente lo que está entre corchetes. 6

37 sens = ; // ctivamos la masa en SENS ; sensb = ; // ctivamos la masa en SENSB ; sensores = port; sensores = sensores & 0B000000; // Leemos el Puerto y lo almacenamos en la variable // sensores. // Filtramos los dos bit R y R0 que representan el // sensor derecho e izquierdo respectivamente. switch (sensores) // Preguntamos por el Puerto C si es 0 ejecuta el case 0, // si es el case, si es ejecuta el case,si es ejecuta // el case. case 0: // Leemos Negro-Negro y giramos hacia la Izquierda. led_izquierda = 0; // Encendemos el Led de la Izquierda. led_delante = ; // pagamos el Led de la delante. led_derecha = ; // pagamos el Led de la Derecha. led_tras = ; // pagamos el Led de la trás. led_parada = ; // pagamos el Led de la Parada break; in = ; in = 0; in = 0; in = ; // Motor Derecho hacia adelante. // Motor Izquierdo hacia atrás. case : led_izquierda = ; led_delante = 0; led_derecha = ; led_tras = ; led_parada = ; // Leemos Blanco-Negro y vamos hacia delante. // pagamos el Led de la Izquierda. // Encendemos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. in = ; in = 0; in = ; // Motor Derecho hacia adelante. // Motor Izquierdo hacia adelante. 7

38 break; in = 0; case : led_izquierda = 0; led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // Leemos Negro-Blanco y giramos hacia la Izquierda. // Encendemos el Led de la Izquierda. // pagamos el Led de la delante. // pagamos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. break; in = ; in = 0; in = 0; in = ; // Motor Derecho hacia adelante. // Motor Izquierdo hacia atrás. case : led_izquierda = ; led_delante = ; led_derecha = 0; led_tras = ; led_parada = ; // Leemos Blanco-Blanco y giramos hacia la derecha. // pagamos el Led de la Izquierda. // pagamos el Led de la delante. // Encendemos el Led de la Derecha. // pagamos el Led de la trás. // pagamos el Led de la Parada. break; in = 0; in = ; in = ; In = 0; // Motor Derecho hacia atrás. // Motor Izquierdo hacia adelante. /* ***********************************Función Izquierda **************************************** */ void Izquierda (Void) led_izquierda = 0; // Enciendo Led de Izquierda. 8

39 led_delante = ; led_derecha = ; led_tras = ; led_parada = ; // pago Led de delante. // pago Led de Derecha. // pago Led de tras. // pago Led de Parada. set_pwm_duty(vel_r_i_gi); set_pwm_duty(vel_r_d_gi); in=0; in=; in=0; in=; // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. // Ir Izquierda // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. // Ir Izquierda // Motor izquierdo adelante // Motor derecho adelante delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* ***********************************Función delante ***************************************** */ void delante (void) led_izquierda = ; // pago Led de Izquierda. led_delante = 0; // Enciendo Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = ; // pago Led de tras. led_parada = ; // pago Led de Parada. set_pwm_duty(vel_r_i_d); set_pwm_duty(vel_r_d_d); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir delante // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir delante in=0; in=; in=0; in=; // Motor izquierdo adelante // Motor derecho adelante delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) 9

40 /* **********************************Función Derecha ****************************************** */ void Derecha (void) led_izquierda = ; // pago Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = 0; // Enciendo Led de Derecha. led_tras = ; // pago Led de tras. led_parada = ; // pago Led de Parada. set_pwm_duty(vel_r_i_gd); set_pwm_duty(vel_r_d_gd); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir Derecha // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir Derecha in=0; in=; in=0; in=; delay_ms(5); // Motor izquierdo adelante // Motor derecho adelante // Respetar el Periodo de la señal de la PWM (0mS) /* **************************************Función trás ***************************************** */ void tras (void) led_izquierda = ; // pago Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = 0; // Enciendo Led de tras. led_parada = ; // pago Led de Parada. set_pwm_duty(vel_r_i_t); set_pwm_duty(vel_r_d_t); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Ir trás // Señal de PWM. Salida por RC. Velocidad Rueda Derecha. Ir trás in=; in=0; in=; in=0; // Motor izquierdo atras // Motor derecho atras 0

41 delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /**************************************Función Parada ***************************************** */ void Parada (void) led_izquierda = ; // pago Led de Izquierda. led_delante = ; // pago Led de delante. led_derecha = ; // pago Led de Derecha. led_tras = ; // pago Led de tras. led_parada = 0; // Enciendo Led de Parada. set_pwm_duty(0); set_pwm_duty(0); // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Parar // Señal de PWM. Salida por RC. Velocidad Rueda Izquierda. Parar in=0; in=0; in=0; in=0; // Motor izquierdo parado // Motor derecho parado delay_ms(5); // Respetar el Periodo de la señal de la PWM (0mS) /* ******************* tención a la Interrupción por Recepción Serie de datos ************************ */ #int_rd /* Validamos el dato serie si cumple las siguiente condiciones. Si dos palabras consecutivas de byte son iguales se valida el dato. clave,dato,clave,dato,...,clave,dato Se lee el º dato serie recibido con la función "getc()" y se compara con la "clave" del transmisor que tiene que ser la misma que la del receptor, si son iguales se lee el º dato serie recibido con la función "getc()" y se guarda. Se lee el º dato serie recibido con la función "getc()"

42 y se compara con la "clave" del transmisor que tiene que ser la misma que la del receptor, si son iguales se lee el º dato serie recibido con la función "getc()" y se compara con el º dato leido, si son iguales se valida el dato con la variable global "Valor". */ void Leer_dato_serie (void) int8 dato_recibido; int8 numero_datos; int8 dato; dato_recibido=getc(); // Recibimos el dato serie. switch (numero_datos) case 0: if(dato_recibido==clave_) numero_datos=; break; case : break; dato=dato_recibido; numero_datos=; case : break; if(dato_recibido==clave_) numero_datos=; else numero_datos=0;

43 case : if(dato_recibido==dato) valor=dato_recibido; numero_datos=0;.- Diagrama en Bloques. MNDO CCT006 RC6 RC7(BL) DPTDOR DE SEÑLES PC-UC GND RC6 RC7(BL) GND GND R[0..] GND R[0..] SENSORES DE INFRRROJOS y acondicionador de señal CCT00 SISTEM DE CONTROL CCT00 REGULDOR 9V/5V V GND V GND V GND RC[0..5] V CONTROL DE POTENCI GND RC[0..5] CCT00 CCT00 CCT Esquema Eléctrico Robot Rastreador.

44 7 I.E.S. Joan Miró (S.S. De los Reyes) BTERI 9V ON-OFF INTERRUPTOR_JON GND D N007_JON V U 7805_JON VI VO GND R C 0 0uF C 00nF D LED-GREEN_JON GND GND GND GND Regulador 9v/5v GND CEBE-C-050_JON Receptor de Datos CEBE C-050 RF Vcc GND ntena GND GND TEST Vs Vcc daptador de señales PC-uC J6 5 GND CONN-D9M RC6 RC7(BL) VCC GND J BORNIER _JON J BORNIER _JON TXPC RXPC 7 8 C9 6 uf C8 uf GND GND C6 uf U5 C- C+ TOUT TIN RIN ROUT 0 TOUT TIN 9 RIN ROUT VS+ VS- C- C+ 5 MX C7 GND=GND VCC=VCC uf RC6 RC7(BL) C0 00nF GND GND V J BORNIER _JON J BORNIER _JON GND NTEN BORNIER_JON GND C C 00uF 00nF R 0 R5 0 R6 0 R7 0 R8 0 R 0k V RC7(RF) RC6 RC7(BL) RB0 D D D5 D6 D7 LED-YELLOW_JON LED-GREEN_JON LED-YELLOW_JON LED-GREEN_JON LED-RED_JON IZQUIERD DELNTE DERECH TRS PRD RB RB RB RB RB5 RC RC RC0 RC RC RC5 RB[0..5] RC[0..5] V GND J J BORNIER 6_JON BORNIER _JON J J BORNIER 6_JON BORNIER _JON INCIO V Sistema de Control U RB0 9 RB0/INT OSC/CLIN RB 0 RB OSC/CLOUT RB RB MCLR/Vpp/THV RB RB/PGM RB 5 R0 RB R0/N0 RB5 6 R RB5 R/N 7 RB6/PGC R/N/VREF- 8 5 RB7/PGD R/N/VREF+ 6 R/T0CI RC0 7 RC0/TOSO/TCI R5/N/SS RC RC/TOSI/CCP RC RC/CCP RC RC/SC/SCL RC 5 RC/SDI/SD RC5 6 RC5/SDO 7 RC6 RC6/TX/C 8 RC7/RX/DT PIC6F876_JON R8 0k JUMPER PROG_-B RC7(RF) RC7(BL) CONN_SIL_JON R0 R[0..] R R 00 C 5pF X CRYSTL_JON MHz C 5pF R 0k RESET PULSDOR_JON C5 00nF VSS CONN-SIL V D8 MOTOR IZQUIERDO D9 N007_JON N007_JON J5 BORNIER _JON R6 0 VSENS VSENS U0 VSENSB V R 0k 6 5 V Q BD9_JON GND U IN VCC VS IN OUT IN IN OUT EN ENB OUT SENS OUT SENSB GND D N007_JON MI N007_JON C GND 00nF GND V D R9 0 R0 8k S J5 BORNIER _JON GND VCC GND S Sensores de Infrarrojos y acondicionador de señal R R 0 8k OPTOCOUPLER-NPN 8 L98 Q GND BD9_JON V GND GND U R5 R7 0k 6 0 Q 5 BD9_JON Q BD9_JON VSENSB OPTOCOUPLER-NPN GND GND Control de Potencia...- daptador de señales PC-uC. DMOTOR DERECHO D N007_JON N007_JON MD C D 00nF D5 N007_JON N007_JON GND GND C CNY70 E U:C 5 6 7HC SEI SEN-IZ GND S C CNY70 E U:D 7HC GND=GND VCC=VCC SED SEN-DER GND S J CONN-D9M VCC J BORNIER _JON GND daptador de señales PC-uC RC6 RC7(BL) GND TXPC RXPC C9 uf GND C8 uf GND C- TOUT RIN TOUT RIN VS+ VS- C- 5 C6 uf C7 uf C+ TIN ROUT TIN ROUT C+ U5 0 9 MX GND=GND VCC=VCC GND RC6 RC7(BL) C0 00nF

45 Es un Circuito que comunica el Ordenador Personal (PC) con el microcontrolador PIC6F876. Consiste en un circuito que intercambia niveles TTL a RS donde un 0 en TTL equivale a 0V en RS equivale a una tensión comprendida entre y 5V. un en TTL equivale a 5V en RS equivales a una tensión comprendida entre - y -5V. El Circuito Integrado MX se encarga de convertir los niveles de TTL a RS....- Regulador 9v/5v. BTERI 9V ON-OFF D INTERRUPTOR_JON N007_JON V GND C 00uF C 00nF U 7805_JON VI GND VO C 0uF C 00nF R 0 GND V GND GND GND GND GND D LED-GREEN_JON J BORNIER _JON Regulador 9v/5v GND La Fuente de limentación es un circuito que se encargar de obtener una tensión de 5V continua a partir de una superior de 9V, para ello se ha utilizado el regulador 7805, que nos puede dar una corriente de salida Imax de. C, C,C y C son condensadores de filtro. El diodo D tiene la misión de proteger el circuito en caso de poner la batería BT al revés. El diodo Led D nos indica que la fuente esta encendida, estando limitada su corriente a 0 m por la resistencia R. También obtenemos una tensión de V = 8, V para alimentar los motores....- Sistema de Control. 5

Proyecto Rastreador + Coche Teledirigido

Proyecto Rastreador + Coche Teledirigido Proyecto Rastreador + Coche Teledirigido Profesor: Pedro Alonso Sanz Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: Enero_009 Índice de contenido.- Explicación breve del Proyecto....-

Más detalles

I.E.S. Joan Miró (S.S. de los Reyes) / Dpto. Electrónica. Proyecto RASTREADOR. Departamento de Electricidad-Electrónica

I.E.S. Joan Miró (S.S. de los Reyes) / Dpto. Electrónica. Proyecto RASTREADOR. Departamento de Electricidad-Electrónica Proyecto RSTREDOR Departamento de Electricidad-Electrónica lumno: lvar Martín del Hoyo Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: 008/009 INDICE.- Explicación breve del Proyecto.....-

Más detalles

PROYECTO: Velocista y coche teledirigido

PROYECTO: Velocista y coche teledirigido PROYECTO: Velocista y coche teledirigido Departamento de Electricidad y Electrónica Ciclo Formativo de Grado Superior: Desarrollo de Productos Electrónicos Alumno: Profesores: Instituto: Localidad: Pedro

Más detalles

Robot laberinto Raúl Antona Fresno PE21

Robot laberinto Raúl Antona Fresno PE21 Faunos Laberinto (Robot laberinto) RAÚL ANTONA FRESNO Índice: Página INTRODUCCIÓN DEL PROYECTO. 2 2 DIAGRAMA EN BLOQUES. 6 2. EXPLICACIÓN DEL DIAGRAMA EN BLOQUES. 7 3 ESQUEMA ELECTRICO GENERAL. 8 3. EXPLICACIÓN

Más detalles

proyecto: robot hexápodo (spidy.00)

proyecto: robot hexápodo (spidy.00) proyecto: robot hexápodo (spidy.00) Departamento de Electricidad-Electrónica Alumnos: Rodrigo García Martín Jesús Torrejón López Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso:

Más detalles

PROFESOR: Práctica 5. Manejo de Motores

PROFESOR: Práctica 5. Manejo de Motores INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A:

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A: 1 TUTORIAL II parte A OBJETIVOS Conocer el manejo de puertos del microcontrolador 16F877A, registros TRIS y PORT. Familiarizarse con las principales instrucciones del lenguaje y la estructura de un programa

Más detalles

SUMO _ CACAHUETE. Departamento de Electricidad-Electrónica. Ciclo Superior de Desarrollo de Productos Electrónicos. Alumno: Ignacio Díaz Díaz-Regañón.

SUMO _ CACAHUETE. Departamento de Electricidad-Electrónica. Ciclo Superior de Desarrollo de Productos Electrónicos. Alumno: Ignacio Díaz Díaz-Regañón. SUMO _ CACAHUETE Departamento de Electricidad-Electrónica Ciclo Superior de Desarrollo de Productos Electrónicos Alumno: Ignacio Díaz Díaz-Regañón. Profesores: Pedro Alonso Sanz Alfonso García Gallego

Más detalles

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

Usando los Codificadores Cuadráticos

Usando los Codificadores Cuadráticos Usando los Codificadores Cuadráticos Autor: Ing. Carlos Narváez Universidad de Oriente email: cnarvaez@udo.edu.ve Introducción El presente trabajo es una introducción a los denominados codificadores cuadráticos,

Más detalles

Registros SFR vistos hasta ahora: Microcontroladores PIC

Registros SFR vistos hasta ahora: Microcontroladores PIC Registros SFR vistos hasta ahora: Microcontroladores PIC Microcontroladores PIC: Timer Características del Timer TMR0: Cumple básicamente la función de contador de eventos (o divisor de frecuencia). El

Más detalles

PROFESOR: Práctica 9. Convertidor Analógico-Digital

PROFESOR: Práctica 9. Convertidor Analógico-Digital INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

CURSO BÁSICO MICROCONTROLADORES PIC

CURSO BÁSICO MICROCONTROLADORES PIC CURSO BÁSICO MICROCONTROLADORES PIC CONFIGURACIÓN BÁSICA FUSIBLES Los fusibles son palabras de configuración que definen las condiciones de funcionamiento del microcontrolador. Algunos fusibles importantes

Más detalles

GUIA DE EJERCICIOS Nº 2 INSTRUMENTACIÓN AVANZADA

GUIA DE EJERCICIOS Nº 2 INSTRUMENTACIÓN AVANZADA GUIA DE EJERCICIOS Nº 2 INSTRUMENTACIÓN AVANZADA Comunicando LabVIEW a un PIC18F2550 1 2.-COMUNICANDO LABVIEW A UN PIC18F2550 Ejercicio 2.1 Tomando el ejercicio 1.4 realizar los ajustes necesarios para

Más detalles

Competencia de Robótica JOHNNY

Competencia de Robótica JOHNNY Competencia de Robótica JOHNNY 5 2015 Categoría: MINISUMO Nombre del Robot: CORAJE Institución: EEST Nro. 6 SAN NICOLAS Participantes: RAMIRO MARTIN PAEZ ELIO ANTONIO PAEZ RODRIGO NICOLAS PAEZ El robot

Más detalles

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits MICROCONTROLADORES 2. La memoria de programa del PIC 16F84A es de tipo: a) ROM b) OTP c) RAM d) EPROM e)

Más detalles

PROFESOR: Práctica 8. Temporizador 0 (Timer 0)

PROFESOR: Práctica 8. Temporizador 0 (Timer 0) INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN

CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN Autoras: Jessica Maricela Alvarez Murillo Aida Liliana De La Cruz Vaca El presente proyecto busca ayudar a personas con discapacidad visual a percibir

Más detalles

Práctica de Taller 3

Práctica de Taller 3 Práctica de Taller CURSO: FECHA: / / BLOQUE: GRUPO N :. RUBRICA DE EVALUACIÓN POR CADA INTEGRANTE DEL GRUPO: ALUMNO [Apell y Nom] CRITERIO C:Puntualidad e indumentaria [0-] C: Colabora con el grupo [0-]

Más detalles

MICROCONTROLADOR PIC DE MICROCHIP

MICROCONTROLADOR PIC DE MICROCHIP MICROCONTROLADOR PIC DE MICROCHIP PIC16F877-28-PIN 8-BIT CMOS FLASH MICROCONTROLLER PIC16F877: ESTRUCTURA INTERNA Bus de Datos Bus de Datos (programa) Registro de trabajo (acumulador) Conversor A/D Contador/Temporizador

Más detalles

Diagrama de bloques del sistema

Diagrama de bloques del sistema Software de control: Diagrama de bloques del sistema Para controlar todos los parámetros de funcionamiento de la pila de combustible, se ha creado un software específico, este funciona como se muestra

Más detalles

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes Introducción al Lenguaje C - Parte III Universidad de Los Andes Sentencia Repita Mientras (WHILE) La sentencia while (repita mientras) es una estructura de repetición, para ejecutar la sentencias varias

Más detalles

Microcontroladores. Manual PIC 16F84A. Ingº Luis Alvarado Cáceres

Microcontroladores. Manual PIC 16F84A. Ingº Luis Alvarado Cáceres Microcontroladores Manual PIC 16F84A Ingº Luis Alvarado Cáceres Separata Nº 4 Manual Microcontrolador PIC16F84A Un microcontrolador es un circuito integrado programable que contiene todos los componentes

Más detalles

PIC 16F87X. Juan González. Escuela Politécnica Superior Universidad Autónoma de Madrid. Flir Networked Systems. Flir Networked Systems

PIC 16F87X. Juan González. Escuela Politécnica Superior Universidad Autónoma de Madrid. Flir Networked Systems. Flir Networked Systems PIC 16F87X Juan González Andrés Prieto-Moreno Ricardo Gómez Escuela Politécnica Superior Universidad Autónoma de Madrid Flir Networked Systems Flir Networked Systems Curso de microcontroladores PIC. Semana

Más detalles

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) TEMARIO Objetivo: El estudiante comprenderá la evolución de los microcontroladores y microprocesadores así como sus diferencias, desarrollara su habilidad

Más detalles

DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT. Placa Base I.E.S VIRGEN DE LAS NIEVES

DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT. Placa Base I.E.S VIRGEN DE LAS NIEVES DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Placa Base Página 2. Descripción Página 8. Esquema eléctrico Página 9. Lista de materiales Página 10. Cara Top: Trazado

Más detalles

Competencia de Robótica MEGAMAN. Facultad de Ingeniería Universidad de Buenos Aires 8 de Junio de El Bigote. Escuela Técnica ORT, sede Almagro

Competencia de Robótica MEGAMAN. Facultad de Ingeniería Universidad de Buenos Aires 8 de Junio de El Bigote. Escuela Técnica ORT, sede Almagro El Bigote Escuela Técnica ORT, sede Almagro Mecánica Vista superior Vista Inferior Dimensiones: 120 x 150mm. Altura 60mm 2 Ruedas de 60mm de diámetro Estructura: plaqueta de circuito impreso FR4 (10x13cm)

Más detalles

DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA LA FABRICACIÓN DE LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Placa para la interconexión de las plataformas GuadalBot y MoniBot Página 2. Descripción y Lista de materiales Página

Más detalles

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A.

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A. .. Memoria Descriptiva... Objeto El objeto de este proyecto es el de construir un robot araña controlado por un PIC6F8A.... Antecedentes El diseño original no se llegó a realizar en circuito impreso, en

Más detalles

SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA

SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA Volumen I Planos PROYECTO FINAL DE CARRERA SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA PFC presentado para optar al título de Ingeniería Técnica Industrial especialidad ELECTRÓNICA INDUSTRIAL por David

Más detalles

SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA

SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA Volumen I Planos PROYECTO FINAL DE CARRERA SISTEMA DE GESTIÓN DOMÓTICA DE UNA VIVIENDA PFC presentado para optar al título de Ingeniería Técnica Industrial especialidad ELECTRÓNICA INDUSTRIAL por Iván

Más detalles

Manual de usuario de PIC Control y PIC Projects

Manual de usuario de PIC Control y PIC Projects Manual de usuario de PIC Control y PIC Projects Sistemas mínimos y económicos para llevar tus aplicaciones hasta el final V.00 Octubre 00 INGENIERIA DE MICROSISTEMAS PROGRAMADOS S.L. C/ Alda. Mazarredo

Más detalles

CONTENIDO INTRODUCCIÓN. PRÁCTICA No. 1 SENSOR DE TEMPERATURA. PRÁCTICA No. 2 SENSOR DE LUZ. PRÁCTICA No. 3 PROGRAMACIÓN DE MICROCONTROLADOR PIC

CONTENIDO INTRODUCCIÓN. PRÁCTICA No. 1 SENSOR DE TEMPERATURA. PRÁCTICA No. 2 SENSOR DE LUZ. PRÁCTICA No. 3 PROGRAMACIÓN DE MICROCONTROLADOR PIC 2 2 CONTENIDO INTRODUCCIÓN PRÁCTICA No. 1 SENSOR DE TEMPERATURA PRÁCTICA No. 2 SENSOR DE LUZ PRÁCTICA No. 3 PROGRAMACIÓN DE MICROCONTROLADOR PIC PRÁCTICA No. 4 PROGRAMACIÓN DE MICROCONTROLADOR PIC PRÁCTICA

Más detalles

Diseño e implementación de un equipo de prácticas de control automático

Diseño e implementación de un equipo de prácticas de control automático Pantalla de funcionamiento manual. Esperando datos de entrada y salida (corriente, tensión o posición) 5 Esquemas eléctricos 5.1 Placa principal. En el esquema eléctrico general que se representa más adelante

Más detalles

xl PIC16F877

xl PIC16F877 4.6.8.- PIC16F877 xl 4.6.9.- PIC 16F84 xli xlii 4.7.- ANEXO3 4.7.1.- El Microcontrolador PIC16F84: Este microcontrolador es un Circuito Integrado Programable o PIC por sus siglas en Inglés: (Programmable

Más detalles

Práctica 3 Gestión de puertos de entrada

Práctica 3 Gestión de puertos de entrada INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

LOS PIC16F88X: LOS PUERTOS DE E/S

LOS PIC16F88X: LOS PUERTOS DE E/S LOS PIC16F88X: LOS PUERTOS DE E/S IES Juan de la Cierva Aprendizaje de la Electrónica a través de la Robótica Fernando Remiro Domínguez PORTA Es un puerto bidireccional de 8 bits que permite el acceso

Más detalles

CARRERA DE INGENIERÍA AUTOMOTRIZ DISEÑO Y CONSTRUCCIÓN DE UN BANCO DIDÁCTICO DE DIRECCIÓN ELECTROMECÁNICA DEL VEHÍCULO HYUNDAI ACCENT 2008

CARRERA DE INGENIERÍA AUTOMOTRIZ DISEÑO Y CONSTRUCCIÓN DE UN BANCO DIDÁCTICO DE DIRECCIÓN ELECTROMECÁNICA DEL VEHÍCULO HYUNDAI ACCENT 2008 CARRERA DE INGENIERÍA AUTOMOTRIZ DISEÑO Y CONSTRUCCIÓN DE UN BANCO DIDÁCTICO DE DIRECCIÓN ELECTROMECÁNICA DEL VEHÍCULO HYUNDAI ACCENT 2008 JUAN CARLOS PIZANÁN CASTRO NELSON DAVID TARAPUÉS CHALAPÚ TESIS

Más detalles

La siguiente función configura el puerto como entrada y realiza su lectura: input_x( )

La siguiente función configura el puerto como entrada y realiza su lectura: input_x( ) Laboratorio 2: Puertos de Entrada y Salida. 2.1 Objetivo. Familiarizarse con los Puertos de Entrada y Salida mediante la implementación práctica del ejemplo LED y Botones y el ejemplo Pantalla LCD. 2.2

Más detalles

Desarrollo de Productos Electrónicos

Desarrollo de Productos Electrónicos Examen de problemas de la 2ª evaluación NOTA: explicar detalladamente todo lo que se haga. Problema 1 (3p) Curso 2009/2010 Desarrollo de Productos Electrónicos Lógica Digital y Microprogramable En una

Más detalles

LOS PIC16F87X. Características Generales. IES Juan de la Cierva (Madrid). Desarrollo de Productos Electrónicos

LOS PIC16F87X. Características Generales. IES Juan de la Cierva (Madrid). Desarrollo de Productos Electrónicos LOS PIC6F87X Características Generales D. de B L O Q U E S Los Pic6F87X Fernando Remiro D. de B L O Q U E S Características () Procesador de arquitectura RISC avanzada Juego de solo 35 instrucciones con

Más detalles

Practica 3: Ver el camino

Practica 3: Ver el camino Pág.: 1 Practica 3: Ver el camino Diseño Práctica: Guillermo Carpintero del Barrio 3.1 - Objetivo El objetivo de esta práctica consiste en diseñar un sistema de visión sencillo que permita localizar una

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO 1 Funcionamiento Multiplexado con otros módulos Características generales de los puertos en el PIC16F877 Son 5 Puertos de E/S configurables PORTA: 6 pines (dir 0x05) PORTB: 8 pines (dir 0x06 y 0x106) PORTC:

Más detalles

1.1. Memoria Descriptiva

1.1. Memoria Descriptiva .. Memoria Descriptiva Víctor Orozco Valle ... Objeto El objeto de este proyecto es el de construir desde cero, la maqueta de un ascensor con los sensores y accionamientos necesarios para simular el comportamiento

Más detalles

Conversores Análogo-Digital

Conversores Análogo-Digital Conversores Análogo-Digital mc PIC Preparado por : jhuircan Depto. Ingeniería Eléctrica Universidad de La Frontera Proceso de Conversión Código Correspondiente a la muestra j S(t) S(k) 0010..0011 ADC t

Más detalles

1.1. Memoria Descriptiva Objeto Antecedentes

1.1. Memoria Descriptiva Objeto Antecedentes 1.1. Memoria Descriptiva 1.1.1. Objeto El propósito de nuestro proyecto es la de desarrollar una insoladora, de tal manera, que se pueda quedar en el colegio Salesiano, San Bartolomé y pueda complementar

Más detalles

MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC

MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC Tipos de datos en CCS TIPO TAMAÑO RANGO DESCRIPCION int1 short 1 bit 0 a 1 Binario int int8 8 bits 0 a 255 Entero int16 long 16 bits 0 a 65535

Más detalles

Sensores inalámbricos de bajo

Sensores inalámbricos de bajo Sensores inalámbricos de bajo consumo. Parte 1. El sistema de telemetría con microcontroladores PIC Autor: Marc Ralita Álvarez Director proyecto: Francesc Sánchez Robert Sensores inalámbricos de bajo consumo

Más detalles

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata Muestreo de señales analógicas Principal requerimiento que surge al muestrear una señal continua: Definir el periodo de muestreo con suficiente exactitud. Ajustar el mismo a un valor adecuado de acuerdo

Más detalles

Corporacion Universitaria Autonoma del Cauca EJEMPLARIZACION DE COMUNICACIÓN ENTRE DOS MODOULOS XBEE SERIE 2.

Corporacion Universitaria Autonoma del Cauca EJEMPLARIZACION DE COMUNICACIÓN ENTRE DOS MODOULOS XBEE SERIE 2. EJEMPLARIZACION DE COMUNICACIÓN ENTRE DOS MODOULOS XBEE SERIE 2. RESUMEN Hoy en día son muchos los dispositivos que cumplen la función de comunicarse uno con el otro, siendo útiles y cumpliendo objetivos

Más detalles

Proyecto: Aprendizaje de la Electrónica a través de la Robótica

Proyecto: Aprendizaje de la Electrónica a través de la Robótica Proyecto: Aprendizaje de la Electrónica a través de la Robótica CICLO FORMATIVO DE GRADO SUPERIOR DE DESARROLLO DE PRODUCTOS ELECTRÓNICOS Módulos: Lógica Digital y Microprogramable. Técnicas de Programación.

Más detalles

Módulo Bluetooth basado en el RN41 de Roving Network

Módulo Bluetooth basado en el RN41 de Roving Network Módulo Bluetooth basado en el RN41 de Roving Network 1. Descripción del producto Este módulo de desarrollo Bluetooth, basado en el RN41 de Roving Network, es un perfecto aliado para eliminar los cables

Más detalles

DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO

DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO Estudio y realización de un enlace Bluetooth para el sistema de 127 Capítulo 6 DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO Como ya hemos visto, las características mecánicas y funcionales

Más detalles

Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550.

Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550. Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550. http://picfernalia.blogspot.com.es/2012/07/conversor-adc.html ADCON0: - ADON: Habilita el módulo convertidor A/D. - GO/DONE: Con

Más detalles

ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI

ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI Características generales Dos módulos con idéntico funcionamiento. Registro de captura de 6 bits. Registro de comparación de 6 bits. Registro de ciclo de trabajo PWM. Módulo CCP. Consta de dos registros

Más detalles

OKY2002: Arduino Uno Genérico

OKY2002: Arduino Uno Genérico OKY2002: Arduino Uno Genérico Básico NIVEL DE ENTRADA Estas tarjetas y módulos son los ideales para iniciar a programar un microcontrolador y adentrarte al mundo de la tecnología. Descripción El OKI2002

Más detalles

IM : ARDUINO NANO OEM

IM : ARDUINO NANO OEM IM130615004: ARDUINO NANO OEM NIVEL DE ENTRADA Básico Estas placas y módulos son los mejores para iniciar a programar un micro-controlador Descripción Arduino Nano es una pequeña placa basada en el ATmega328

Más detalles

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F87X. Figura # 1

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F87X. Figura # 1 UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA "ANTONIO JOSÉ DE SUCRE" DEPARTAMENTO DE ELECTRÓNICA Ejercicios para el parcial # 2 Prof. Ing. Antonio Pateti 1.- Estudie el hardware del Puerto B y explique:

Más detalles

Control de servomotores. (c) Domingo Llorente

Control de servomotores. (c) Domingo Llorente Control de servomotores (c) Domingo Llorente 2010 1 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene la capacidad de ubicarse en cualquier posición dentro de su rango

Más detalles

partir de los 5 Volts que entrega el puerto USB La alimentación puede ser

partir de los 5 Volts que entrega el puerto USB La alimentación puede ser Introducción: La tarjeta de desarrollo de Intesc μvva PRO (Miuva PRO), ha sido diseñada para satisfacer las necesidades tanto básicas como avanzadas de estudiantes y/o profesionistas que trabajan con microcontroladores

Más detalles

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata Muestreo de señales analógicas Principal requerimiento que surge al muestrear una señal continua: Definir el periodo de muestreo con suficiente exactitud. Ajustar el mismo a un valor adecuado de acuerdo

Más detalles

Electrónica para el control de la red de difracción de un monocromador mediante una interfaz programada en lenguaje G

Electrónica para el control de la red de difracción de un monocromador mediante una interfaz programada en lenguaje G Electrónica para el control de la red de difracción de un monocromador mediante una interfaz programada en lenguaje G Marcos Guerra Medina, Fernando Rivera-López Departamento de Física Fundamental y Experimental,

Más detalles

El Microcontrolador Arduino

El Microcontrolador Arduino El Microcontrolador Arduino José Pujol IES Vicente Aleixandre Sevilla tecnopujol.wordpress.com Índice: El proyecto Arduino: Qué es y por qué usarlo Que podemos hacer con Arduino Descripción de la placa:

Más detalles

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC 18F45XX CARACTERÍSTICAS GENERALES PIC 18F45XX CARACTERÍSTICAS GENERALES 1. Características generales CPU con arquitectura Harvard (77 instrucciones) Todas las instrucciones constan de 1 sola palabra de 16 bits (2 bytes) excepto las de

Más detalles

Lenguaje Ensamblador sobre PIC 16F84

Lenguaje Ensamblador sobre PIC 16F84 Lenguaje Ensamblador sobre PIC 16F84 Roberto Vargas Toledo Iván Figueroa Monsalve El presente trabajo se nos muestra la programación de ensamblador orientada a la programación de PIC 16F84, microcontrolador

Más detalles

TUTORIAL Teclado matricial. Manejar teclados matriciales por el método RWR. Conocer el uso y la utilidad de las Pull-Up del puerto B.

TUTORIAL Teclado matricial. Manejar teclados matriciales por el método RWR. Conocer el uso y la utilidad de las Pull-Up del puerto B. 1 TUTORIAL Teclado matricial OBJETIVOS Manejar teclados matriciales por el método RWR. Conocer el uso y la utilidad de las Pull-Up del puerto B. INTRODUCCIÓN: El teclado matricial es uno de los dispositivos

Más detalles

Construcción de un Grabador. Esquema básico

Construcción de un Grabador. Esquema básico Construcción de un Grabador Para poder trabajar con el microcontrolador PIC16F84A necesitamos construirnos un grabador. Este micro tiene 18 pines como se muestran en la figura 1. El mecanismo de programación

Más detalles

COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001

COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001 COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001 Autor: Oscar Eduardo Herrera Zuleta Estudiante de Ingeniería Electrónica. Corporación Universitaria Autónoma del Cauca. Revisado y Corregido Por: Ing. Francisco

Más detalles

PCC-BC : Placa control de cámara bajo consumo

PCC-BC : Placa control de cámara bajo consumo Página: 1 de 9 Características Generales Placa para el control de cámaras y comunicación. Alimentación de cámaras a 12Vdc. Alimentación de la placa a 24Vdc Posibilidad de preposicionamiento en el arranque

Más detalles

TUTORIAL III V2 (PaP)

TUTORIAL III V2 (PaP) 1 TUTORIAL III V2 (PaP) OBJETIVOS Conocer el manejo de los motores paso a paso. Reforzar conceptos sobre el manejo de puertos I/O. Realizar lecturas de puertos y toma de decisiones basadas en estas. INTRODUCCIÓN

Más detalles

MANUAL DE DESCRIPCIÓN

MANUAL DE DESCRIPCIÓN MANUAL DE DESCRIPCIÓN 1 ÍNDICE DE CONTENIDO 1. Alimentación.... 3 2. Comunicaciones digitales.... 5 3. Salidas de relés.... 7 4. Salidas digitales.... 9 6. Entradas analógicas.... 12 7. Varios.... 13 8.

Más detalles

Capítulo VII: MONTAJE DE PLACAS

Capítulo VII: MONTAJE DE PLACAS Capítulo VII: MONTAJE DE PLACAS Proyecto Fin de Carrera 79 Antonio Andújar Caballero 7. MONTAJE DE PLACAS. 7.1. Circuito ecualizador y de control. El circuito de ecualización elegido para el presente proyecto

Más detalles

Además permite programas cualquier circuito integrado DS 1620 como un sistema autónomo, por ejemplo un termostato sin una CPU.

Además permite programas cualquier circuito integrado DS 1620 como un sistema autónomo, por ejemplo un termostato sin una CPU. TERMÓMETRO DIGITAL CON INTERFAZ RS-. INTRODUCCIÓN. Básicamente el circuito consiste en un microcontrolador del tipo PICC, y un circuito integrado del tipo DS0 (de Dallas Semiconductor), que realiza las

Más detalles

Sesión II: Elementos de un Robot

Sesión II: Elementos de un Robot Sesión II: Elementos de un Robot Andrés Prieto-Moreno Torres Ifara Tecnologías Profesor asociado UAM Sesiones Robótica Comunidad de Madrid, UPSAM Abr, 2005 ÍNDICE Introducción Estructura mecánica Motores

Más detalles

PROFESOR: Práctica 2. Gestión de puertos de salida

PROFESOR: Práctica 2. Gestión de puertos de salida INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

PRACTICA Nº 2. Puertos de Entrada Digital. Sistemas Electrónicos Digitales. Subgrupo: de febrero de 2.015

PRACTICA Nº 2. Puertos de Entrada Digital. Sistemas Electrónicos Digitales. Subgrupo: de febrero de 2.015 PRACTICA Nº 2 Puertos de Entrada Digital Sistemas Electrónicos Digitales Subgrupo: 1-8 23 de febrero de 2.015 Índice 1. Objetivos 2. Introducción 3. Desarrollo 4. Conclusiones 5. Bibliografía 6. Hojas

Más detalles

Proyecto ROBOT-BALIZA

Proyecto ROBOT-BALIZA Proyecto ROBOT-BALIZA Departamento de Electricidad-Electrónica Autor: José Villaverde Gura Profesores: Pedro Alonso Sanz Alfonso García Gallego Juan Dongil García Instituto: I.E.S. Joan Miró Localidad:

Más detalles

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

COMUNICACIÓN I2C (Bus de circuito inter-integrado) Aplicar los conocimientos básicos de electrónica de manera teórica (lenguaje ANSI-C) y práctica (montaje de circuitos). Conocer las funciones que gobiernan las entradas y salidas del microcontrolador PIC18F47J53.

Más detalles

COMUNICACIÓN INALAMBRICA MEDIANTE EL PIC16F84A

COMUNICACIÓN INALAMBRICA MEDIANTE EL PIC16F84A COMUNICACIÓN INALAMBRICA MEDIANTE EL PIC16F84A Existen muchos medios de comunicación entre diferentes dispositivos, aquí se explica la comunicación inalámbrica unidireccional mediante el PIC16F84A y una

Más detalles

VDD (varios) VSS (varios) OSC_IN OSC_OUT OSC_OUT PB12. Analógica

VDD (varios) VSS (varios) OSC_IN OSC_OUT OSC_OUT PB12. Analógica APELLIDOS NOMBRE NIA CUESTIÓN 1 (2.5 puntos): Para una determinada aplicación se necesita tener conectado un dispositivo al STM32L152RB a través de los pines PB0 PB7, configurados para que el dispositivo

Más detalles

Sistemas Electrónicos Digitales - Diciembre 2011 Problema

Sistemas Electrónicos Digitales - Diciembre 2011 Problema Sistemas Electrónicos Digitales - Diciembre 2011 Problema Apellidos, Nombre: Se desea controlar una lavadora automática con un microcontrolador PIC 16F88, configurando su funcionamiento con el oscilador

Más detalles

Practica 1: It s alive!

Practica 1: It s alive! Pág.: 1 Practica 1: It s alive! 1.1 - Objetivo El objetivo de esta primera práctica es plantear un problema sencillo, que requiera implementar el hardware básico de un microcontrolador y comprobar su funcionamiento

Más detalles

MODULO TRANSCEPTOR DE DATOS PUNTO A PUNTO WIZ-434-SML-IA

MODULO TRANSCEPTOR DE DATOS PUNTO A PUNTO WIZ-434-SML-IA MODULO TRANSCEPTOR DE DATOS PUNTO A PUNTO WIZ-434-SML-IA 1.- INTRODUCCIÓN Los módulos WIZ-SML-IA consisten en transceptores para la transferencia de datos punto a punto en el modo half-duplex, vía radio

Más detalles

INTERIOR DEL PROCESADOR

INTERIOR DEL PROCESADOR 1 INTERIOR DEL PROCESADOR En esta sección se pretende: Conocer la arquitectura y funcionamiento de los microcontroladores de la familia PIC16X8X La organización de su memoria, y Sus registros de funciones

Más detalles

SISTEMA DE COMUNICACIÓN VÍA RADIO ENTRE PC Y MICROBOT.

SISTEMA DE COMUNICACIÓN VÍA RADIO ENTRE PC Y MICROBOT. UNIVERSIDAD DE MÁLAGA. ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN. PROYECTO FIN DE CARRERA: SISTEMA DE COMUNICACIÓN VÍA RADIO ENTRE PC Y MICROBOT. INGENIERÍA TÉCNICA EN TELECOMUNICACIÓN

Más detalles

T E S I N A D E S E M I N A R I O D E G R A D U AC I O N : I N T E G R A N T E S :

T E S I N A D E S E M I N A R I O D E G R A D U AC I O N : I N T E G R A N T E S : T E S I N A D E S E M I N A R I O D E G R A D U AC I O N : I N T E G R A N T E S : ANTECEDENDES INTERFAZ: Q u é e s? : Es la conexión entre dos ordenadores o máquinas de cualquier tipo dando una comunicación

Más detalles

ENTORNO DE SIMULACIÓN Y CONTROL DE UN ROBOT VELOCISTA

ENTORNO DE SIMULACIÓN Y CONTROL DE UN ROBOT VELOCISTA ENTORNO DE SIMULACIÓN Y CONTROL DE UN ROBOT VELOCISTA PROYECTO FIN DE CARRERA Departamento de Electrónica. Universidad de Alcalá. Ingeniería Técnica de Telecomunicación. Especialidad en Sistemas Electrónicos

Más detalles

Display 7 segmentos. Ing. Diego Chacón, Mdhd.

Display 7 segmentos. Ing. Diego Chacón, Mdhd. Display 7 segmentos Ing. Diego Chacón, Mdhd. El displays segmentos, es un componente que se utiliza para la representación de números en muchos dispositivos electrónicos. Cada vez es más frecuente encontrar

Más detalles

IES Los Albares (Dep. de Tecnología)

IES Los Albares (Dep. de Tecnología) PLACA CONTROLADORA. Para conectar el ordenador con el mundo exterior es necesario una placa controladora que proporcione las salidas y las entradas oportunas. En nuestro caso disponemos de una placa controladora

Más detalles

Modo de Operación del sigue líneas

Modo de Operación del sigue líneas Modo de Operación del sigue líneas Un sigue líneas es como su nombre lo dice un autómata que es capaz de seguir el trazo de una línea dibujada sobre una superficie que puede ser blanca o negra según se

Más detalles

INTRODUCCIÓN A LAS COMUNICACIONES POR RADIOFRECUENCIA

INTRODUCCIÓN A LAS COMUNICACIONES POR RADIOFRECUENCIA INTRODUCCIÓN A LAS COMUNICACIONES POR RADIOFRECUENCIA Centro CFP/ES CAMPOS EN ELECTRÓNICA COMUNICACIONES SISTEMAS ELECTRÓNICOS DE AYUDA A LA NAVEGACIÓN INSTRUMENTACIÓN ELECTRÓNICA: DISPOSITIVOS ELECTRÓNICOS

Más detalles

Robótica en la Universidad

Robótica en la Universidad Robótica en la Universidad Juan González Gómez Escuela Politécnica Superior Universidad Autónoma de Madrid Andrés Prieto-Moreno Torres Ifara Tecnologías Profesor asociado UAM Semana de la Ciencia, UPSAM

Más detalles

Guía #2 Acceso a registros y uso de puertos.

Guía #2 Acceso a registros y uso de puertos. Curso de microcontroladores PIC. Guía # 2 1 Guía #2 Acceso a registros y uso de puertos. Distribución de la memoria. Todo microcontrolador cuenta con periféricos para comunicarse con el mundo exterior,

Más detalles

Proyecto Fiona: Soporte-comunicador por Barrido Visual

Proyecto Fiona: Soporte-comunicador por Barrido Visual Proyecto Fiona: Soporte-comunicador por Barrido Visual Breve descripción La idea de fabricar este soporte, se originó ante la necesidad de hacer física una herramienta virtual. Necesitábamos conseguir

Más detalles

1. Prototipo: Total Euros 112, Componentes placas Tarjeta TC-FPGA. Total 96,58 I.V.A 16% 15,4528. Presupuesto

1. Prototipo: Total Euros 112, Componentes placas Tarjeta TC-FPGA. Total 96,58 I.V.A 16% 15,4528. Presupuesto IV. PRESUPUESTO: 1. Prototipo: 1.1 Componentes placas Tarjeta TC-FPGA Componente Valor Encapsulado Unids Precio ud Precio Total Resistencia 1K SMD 1206 6 0,03 0,18 Resistencia 3K3 SMD 1206 2 0,03 0,06

Más detalles

Usando un PIC para la Generación de Tonos de Audio

Usando un PIC para la Generación de Tonos de Audio Usando un PIC para la Generación de Tonos de Audio Autor: Ing. Carlos Narváez Universidad de Oriente email: cnarvaez@udo.edu.ve Introducción Existen varias maneras de implementar la generación de tonos

Más detalles

INTELIGENCIA ARTIFICIAL ELECTRÓNICA (16 Hrs)

INTELIGENCIA ARTIFICIAL ELECTRÓNICA (16 Hrs) Página 1 de 17 CAPITULO 8 INTELIGENCIA ARTIFICIAL ELECTRÓNICA (16 Hrs) Objetivo: Que el alumno explore en la inteligencia artificial usando elementos electrónicos y conceptos de programación 8.1 INTELIGENCIA

Más detalles

MICROCONTROLADORES II (FAMILIA PIC16F87X) LENGUAJE C PARA PICS

MICROCONTROLADORES II (FAMILIA PIC16F87X) LENGUAJE C PARA PICS MICROCONTROLADORES II (FAMILIA PIC16F87X) LENGUAJE C PARA PICS 1 CARACTERÍSTICAS Velocidad de operación: hasta 20 MHz de reloj. 8K x 14 bits por palabra de memoria de programa FLASH. 368 x 8 bytes de memoria

Más detalles

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE 25 3 ENTRADA / SALIDA Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE Cada uno de estos puertos es de 8 bits, sin embargo no todos

Más detalles

5 Responde las preguntas. 5.1 Cuál es la razón de que al iniciar el programa se muestre un cero al principio

5 Responde las preguntas. 5.1 Cuál es la razón de que al iniciar el programa se muestre un cero al principio Práctica 5 Contador Binario Competencias Profesional.- Utiliza equipo, herramienta y suministros empleados en el desarrollo de prototipos con 1 PIC18f2520 8 Resistencias 220Ω 8 Leds 1 Elabora el diagrama

Más detalles