Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manualdepracticasprogramarsistemasmecatronicos1 9
Manualdepracticasprogramarsistemasmecatronicos1 9
De
Laboratorio
Materia
PROGRAMAR SISTEMAS
MECATRONICOS
Elaborado Por:
Agosto 2011
Presentacin
Este manual est pensado como una gua para que el alumno
(TIMER) 555.
PARTE 1: FUNCIONAMIENTO DEL RELAY
PARTE 2: CIRCUITO BASICO DEL RELAY CON UN MOTOR.
PARTE 3: CIRCUITO BASICO DEL TEMPORIZADOR 555, LUZ INTERMITENTE
PARTE 4: TEMPORIZADOR, TRANSISTOR, RELAY Y MOTOR
Prctica No.2 TRANSISTOR EN CORTE Y SATURACION,
TRANSISTOR NPN, PNP Y AMPLIFICADOR DARLINGTON
PARTE 1: TRANSISTOR EN CORTE Y SATURACION.
PARTE 2: FUNCIONAMIENTO DEL TRANSISTOR NPN
PARTE 3: FUNCIONAMIENTO DEL TRANSISTOR PNP
PARTE 4: FUNCIONAMIENTO DEL AMPLIFICADOR DARLINGTON Y MOTOR.
Prctica No.3 CAMBIO DE GIRO DE UN MOTOR DE DC.
PARTE 1: FUNCIONAMIENTO DE UN PAR DE RELAYS PARA CAMBIO DE GIRO
Prctica No.4 CIRCUITO BASICO PIC 16F84 o 16F628
PARTE 1: PRIMER PROGRAMA ENCENDER UN LED (PARPADEANDO CADA SEG)
PARTE 2: AHORA CON UN INTERRUPTOR
PARTE 3: CONTROLAR RELAY CON TRANSISTOR NPN.
PARTE 4: CONTROL DE GIRO DE UN MOTOR CON MICROCONTROLADOR.
Prctica No.5 MANEJO DE SALIDAS
PARTE 1: PAR DE LED PARPADEANDO CADA SEGUNDO.
PARTE 2: RECORRIDO DE LEDS USANDO SALIDAS DIRECTAMENTE.
PARTE 3: RECORRIDO DE LEDS USANDO TABLA DE VALORES.
PARTE 4: RECORRIDO Y APAGADO DE LEDS.
PARTE 5: LLENANDO UNA FILA DE LEDS.
PARTE 6: IDA Y VUELTA EN UNA FILA DE LEDS
Prctica No.6 MANEJO DE ENTRADAS.
PARTE 1: COMO USAR UN INTERRUPTOR (SWITCH).
PARTE 2: FOTOTRANSISTOR, FOTORESISTENCIA.
PARTE 3: SENSOR TACTIL.
PARTE 4: SENSOR DE HUMEDAD.
PARTE 5: ALARMA CONTRA INTRUSOS CON SCR.
Practica No.7 MANEJO DE DISPLAY DE 7 SEGMENTOS.
PARTE 1: DESPLEGAR LOS NUMEROS 0-9 ASCENDENTE
PARTE 2: DESPLEGAR LOS NUMEROS 0-9 DESCENDENTE
PARTE 3: DESPLEGAR LETRAS.
Practica No.8 MANEJO DE MATRIX 5x7.
PARTE 1: DESPLAZAMIENTO POR COLUMNAS EN MATRIX 5x7 DE LEDS
PARTE 2: DESPLAZAMIENTO POR FILAS EN MATRIX 5x7 DE LEDS
PARTE 3: DESPLAZAMIENTO POR FILAS Y COLUMNAS EN MATRIX 5x7 DE LEDS
Practica No.9 MANEJO DE DISPLAY.
PARTE 1: EL DISPLAY DE CRISTAL LIQUIDO (LCD)
PARTE 2: RECORRER TEXTOS
Practica No.10 MANEJO DE TECLADO.
PARTE 1: EL TECLADO
Practica No.11 PROYECTO FINAL
PARTE 1: APLICACIONES DEL MICROCONTROLADOR.MANUAL DE PRACTICAS
PARTE 2: PROYECTO FINAL.
Practica No.1
RELEVADOR o RELAY, TEMPORIZADOR (TIMER) 555.
PARTE 1:
FUNCIONAMIENTO DEL RELAY
Que sucede?
Que sucede?
PARTE 3:
CIRCUITO BASICO DEL TEMPORIZADOR 555, LUZ INTERMITENTE
Arme el siguiente circuito en
el protoboard:
Que sucede?
Nota: el circuito integrado 555 (timer) es un circuito que en su salida (pin 3) vamos
a tener una oscilacin entre positivo y negativo, la frecuencia con que cambia esta
oscilacin (intermitencia) depende de los valores de las resistencias y el capacitor
.entre ms grande el capacitor la frecuencia es ms lenta.
PARTE 4:
TEMPORIZADOR, TRANSISTOR, RELAY Y MOTOR
Arme el siguiente circuito en el protoboard: agrega el transistor y relay al circuito
anterior de la parte 3
Que sucede?
Practica No.2
TRANSISTOR EN CORTE Y SATURACION, TRANSISTOR NPN,
PNP Y AMPLIFICADOR DARLINGTON.
Objetivo: Que el alumno compruebe el funcionamiento de un transistor en corte
y saturacin, transistor NPN, transistor PNP, y observe el funcionamiento de
amplificar una seal de corriente con 2 transistores (par Darlington)
PARTE 1:
TRANSISTOR EN CORTE Y SATURACION
Los transistores pueden ser NPN y PNP, esto depende de cmo estn construidos
internamente.
Arme el siguiente circuito:
Transistor NO conduce (CORTE)
Enciende el led?
Porque?
Que puede concluir del circuito que armo, al introducir voltaje a la base del
transistor?
Transistor en configuracin de
Normalmente abierto.
PARTE 2:
FUNCIONAMIENTO DEL TRANSISTOR NPN.
PORQUE?
PARTE 3:
FUNCIONAMIENTO DEL TRANSISTOR PNP.
PORQUE?
PARTE 4:
AMPLIFICADOR DE SENAL, CON TRANSISTORES (PAR DARLINGTON)
Que sucede?
Practica No.3
CAMBIO DE GIRO DE UN MOTOR DE CORRIENTE DIRECTA.
PARTE 1:
FUNCIONAMIENTO DE UN PAR DE RELAYS PARA CAMBIO DE GIRO
PARTE 1:
PRIMER PROGRAMA ENCENDER UN LED (PARPADEANDO CADA SEG)
SIMULANDO EL PROGRAMA:
Con los cambios hechos, ahora complalo y recuerda donde se guard para
poder tener acceso al archivo .HEX que es el que vamos a meter en el micro
controlador.
DE LA SIMULACION A LA REALIDAD:
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 2:
AHORA CON UN INTERRUPTOR
'Programa que enciende y apaga un LED en el pin 0 del puerto B por medio de un
interruptor colocado en el pin 0 del puerto A.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 3:
CONTROLAR RELAY CON TRANSISTOR
Porque?
Anota
tus
conclusiones:
PARTE 4:
CONTROL DE GIRO DE UN MOTOR CON MICROCONTROLADOR (PRCTICA#3)
Izquierda:
PORTB.0 = 1 'ENCIENDE MOTOR 1
PORTB.1 = 1 activa transistor Izquierda
PORTB.2 = 0 desactiva transistor derecha
Derecha:
PORTB.0 = 1 'ENCIENDE MOTOR
PORTB.1 = 0 desactiva transistor izquierda
PORTB.2 = 1 activa transistor derecha
Apagar:
PORTB = 0 'apagar PUERTO B
Goto inicio
Haz lo mismo para el interruptor de Derecha, que sucede en la barra de leds del
simulador?
PARTE 1:
PAR DE LEDS PARPADEANDO CADA SEGUNDO
En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente
programa en PICBASIC:
Nota: cada programa debe ser trabajado en el simulador y en el protoboard.
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 2:
RECORRIDO DE LEDS USANDO SALIDAS DIRECTAMENTE
En el simulador PIC SIMULATOR IDE edite, compile y simule el siguiente
programa en PICBASIC:
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
Anota tus conclusiones, describe lo que hiciste y cmo funciona:
PARTE 3:
RECORRIDO DE LEDS USANDO TABLA DE VALORES
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
AllDigital
TRISB = 0
PORTB = %00000000
PORTA = %00000000
Dim pin As Byte
Dim led As Byte
End
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
Goto boton
'PARA EL PUERTO A0
puertoa0:
PORTB = %00000001
llenando:
WaitUs 1 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %10000000 Then Goto dos
Goto llenando
dos:
PORTB = %10000001
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11000000 Then Goto tres
tres:
PORTB = %11000001
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11100000 Then Goto cuatro
cuatro:
PORTB = %11100001
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11110000 Then Goto cinco
cinco:
PORTB = %11110001
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11111000 Then Goto seis
seis:
PORTB = %11111001
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11111100 Then Goto siete
siete:
PORTB = %11111101
WaitUs 30 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft (PORTB, 1)
If PORTB = %11111110 Then Goto lleno
lleno:
PORTB = 255
Goto inicio
'PARA EL PUERTO A1
puertoa1:
PORTB = 0
Goto inicio
'CUAL BOTON SE SELECCIONO
boton:
If PORTA.0 = 1 Then Goto puertoa0
If PORTA.1 = 1 Then Goto puertoa1
Goto boton
End
Ahora te toca a ti controlar, haz que cada led se encienda cada que
presiones el puerto A0 y se borre con A1
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
Izquierda:
derecha:
PORTB = %00000011
izquierda:
derecha:
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 1:
COMO USAR UN INTERRUPTOR (SWITCH).
cual:
If PORTA.0 = 1 Then Gosub MODO1
If PORTA.1 = 1 Then Gosub MODO2
If PORTA.2 = 1 Then Gosub MODO3
If PORTA.3 = 1 Then Gosub MODO4
If PORTA.4 = 1 Then Gosub MODO5
HIGH PORTB.7
Goto cual
izquierda:
derecha:
PORTB = 0
WaitMs 200 'espera 1 seg
Goto MODO4
numeros:
PORTB = cero
WaitMs 1000
PORTB = uno
WaitMs 1000
Gosub boton
PORTB = dos
WaitMs 1000
Gosub boton
PORTB = tres
WaitMs 1000
Gosub boton
PORTB = cuatro
WaitMs 1000
Gosub boton
PORTB = cinco
WaitMs 1000
Gosub boton
PORTB = seis
WaitMs 1000
Gosub boton
PORTB = siete
WaitMs 1000
Gosub boton
PORTB = ocho
WaitMs 1000
Gosub boton
PORTB = nueve
WaitMs 1000
Gosub boton
Goto numeros
End
__________________________________________________
boton:
WaitMs 100
If PORTA.0 = 1 Then Goto MODO1
If PORTA.1 = 1 Then Goto MODO2
If PORTA.2 = 1 Then Gosub MODO3
If PORTA.3 = 1 Then Gosub MODO4
If PORTA.4 = 1 Then Gosub MODO5
Return
MODO 1:
MODO 2:
MODO 3:
MODO 4:
MODO 5:
PARTE 2:
FOTOTRANSISTOR, FOTORESISTENCIA.
FOTOTRANSISTOR
FOTO RESISTENCIA
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES!
PARTE 3:
SENSOR TACTIL.
Arma el siguiente circuito:
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
NO LO DESARMES LO NESESITARAS EN LAS SIGUIENTES PARTES!
PARTE 4:
SENSOR DE HUMEDAD.
Arme el siguiente circuito:
Este Circuito nos muestra como un transistor acta como amplificador.
Por el agua circula una corriente muy pequea, el transistor la amplifica (la hace
ms grande) y permite que podamos encender un LED.
Se Ilumina el LED?
Por qu?
Que sucede?
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
Que sucede?
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 1:
DESPLEGAR LOS NUMEROS 0-9 ASCENDENTE
numeros:
PORTB = cero
WaitMs 1000
PORTB = uno
WaitMs 1000
Gosub boton
PORTB = dos
WaitMs 1000
Gosub boton
PORTB = tres
WaitMs 1000
Gosub boton
PORTB = cuatro
WaitMs 1000
Gosub boton
PORTB = cinco
WaitMs 1000
Gosub boton
PORTB = seis
WaitMs 1000
Gosub boton
PORTB = siete
WaitMs 1000
Gosub boton
PORTB = ocho
WaitMs 1000
Gosub boton
PORTB = nueve
WaitMs 1000
Gosub boton
Goto numeros
End
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
DESPLEGAR LETRAS
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 1:
DESPLAZAMIENTO POR COLUMNAS EN MATRIX 5x7 DE LEDS
En el siguiente diagrama se ve la configuracin de la matrix 5x7 y a donde debe ir
conectada:
PORTB = %00000000
'__________________________________________
inicio:
PORTA = 254 'columna 1
PORTB = %00000001
vivorita:
WaitMs 100
PORTB = ShiftLeft(PORTB, 1)
If PORTB = %10000000 Then Goto botona
Goto vivorita
botona:
PORTA = 253 'columna 2
derechaa:
WaitMs 100
PORTB = ShiftRight(PORTB, 1)
If PORTB = %00000001 Then Goto botonb
Goto derechaa
'________________________________________
botonb:
PORTA = 251 'columna 3
izquierdab:
WaitMs 100
PORTB = ShiftLeft(PORTB, 1)
If PORTB = %10000000 Then Goto botonc
Goto izquierdab
'________________________________________
botonc:
PORTA = 247 'columna 4
derechac:
WaitMs 100
PORTB = ShiftRight(PORTB, 1)
If PORTB = %00000001 Then Goto botond
Goto derechac
'__________________________________________
botond:
PORTA = 239 'columna 5
izquierdad:
WaitMs 100
PORTB = ShiftLeft(PORTB, 1)
If PORTB = %10000000 Then Goto lleno
Goto izquierdad
'______________________________________________
lleno:
PORTA = 0
PORTB = 255
WaitMs 100
Goto inicio
End
fila1:
PORTB = 1
Gosub fwd
fila2:
PORTB = 2
Gosub rev
fila3:
PORTB = 4
Gosub fwd
fila4:
PORTB = 8
Gosub rev
fila5:
PORTB = 16
Gosub fwd
fila6:
PORTB = 32
Gosub rev
fila7:
PORTB = 64
Gosub fwd
Gosub lleno
Goto inicio
End
'________________________________________
lleno:
PORTA = 0
PORTB = 255
WaitMs 500
Return
'________________________________________
fwd:
PORTA = 255
WaitMs 100 'espera 1 seg
For numero = 0 To 4 Step 1 'numero de columnas
col = LookUp(254, 253, 251, 247, 239), numero
PORTA = col
WaitMs 100 'espera 1 seg
Next numero
Return
'________________________________________
rev:
For numero = 0 To 4 Step 1 'numero de columnas
col = LookUp(239, 247, 251, 253, 254), numero
PORTA = col
WaitMs 100 'espera 1 seg
Next numero
Return
Realiza los cambios necesarios para que eso suceda, escribe aqu el cambio
que tuviste que hacer, escribiendo el nuevo programa. EDITALO, SIMULALO Y
CARGALO AL PIC.
PARTE 1:
EL DISPLAY DE CRISTAL LQUIDO (LCD)
cual:
If PORTA.0 = 1 Then Gosub practica1
If PORTA.1 = 1 Then Gosub practica2
If PORTA.2 = 1 Then Gosub practica3
If PORTA.3 = 1 Then Gosub practica4
If PORTA.4 = 1 Then Gosub practica5
FreqOut PORTB.7, 2000, 10
Goto cual
practica_dos:
PORTB = %00000000
PORTB = %00000001
izquierda:
WaitMs 25 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftLeft(PORTB, 1)
If PORTB = %10000000 Then Goto derecha
Gosub boton
Goto izquierda
derecha:
WaitMs 25 'esta demora debe ser mayor si no es una simulacin!
PORTB = ShiftRight(PORTB, 1)
If PORTB = %00000001 Then Goto izquierda
Gosub boton
Goto derecha
Gosub borrar_display
Gosub primera
Lcdout "MECATRONICA" 'Escribir en la primera lnea
WaitMs 1000
Gosub segunda
Lcdout "PRACTICA 3" 'Escribir en la segunda lnea
WaitMs 500
practica_tres:
PORTB = 0
WaitMs 200 'espera 1 seg
practica_cuatro:
Dim pin As Byte
Dim led As Byte
PORTB = 0
WaitMs 200 'espera 1 seg
PORTB = 0
WaitMs 200 'espera 1 seg
Goto practica_cuatro
practica5: 'INICIO DE PRACTICA 5
Gosub borrar_display
Gosub primera
Lcdout "MECATRONICA" 'Escribir en la primera lnea
WaitMs 500
Gosub segunda
Lcdout "PRACTICA 5" 'Escribir en la segunda lnea
WaitMs 500
practica_cinco:
PORTB = %11111111
numeros:
PORTB = cero
WaitMs 1000
PORTB = uno
WaitMs 1000
Gosub boton
PORTB = dos
WaitMs 1000
Gosub boton
PORTB = tres
WaitMs 1000
Gosub boton
PORTB = cuatro
WaitMs 1000
Gosub boton
PORTB = cinco
WaitMs 1000
Gosub boton
PORTB = seis
WaitMs 1000
Gosub boton
PORTB = siete
WaitMs 1000
Gosub boton
PORTB = ocho
WaitMs 1000
Gosub boton
PORTB = nueve
WaitMs 1000
Gosub boton
Goto numeros
End
_________________________________________
borrar_display: BORRAR DISPLAY
Lcdcmdout LcdClear 'Limpiar LCD
WaitMs 500
Return
_________________________________________
primera:
Lcdcmdout LcdHome 'CURSOR EN LA PRIMER LINEA
WaitMs 500
Return
______________________________________________
segunda:
Lcdcmdout LcdLine2Home 'CURSOR SEGUNDA LINEA
WaitMs 500
Return
_______________________________________________
intro: DESPLEGAR TEXTOS
'Pausa de inicio del LCD
WaitMs 500
Gosub borrar_display
Gosub primera
Lcdout "CECYTE ZONA RIO" 'Escribir en la primera lnea
WaitMs 500
Gosub segunda
Lcdout "MECATRONICA" 'Escribir en la segunda lnea
WaitMs 1000
Gosub borrar_display
Gosub primera
Lcdout "PRACTICA?" 'Escribir en la primera lnea
WaitMs 500
Return
boton: subrutina que detecta botones presionados
If PORTA.0 = 1 Then Goto practica1
If PORTA.1 = 1 Then Goto practica2
If PORTA.2 = 1 Then Gosub practica3
If PORTA.3 = 1 Then Gosub practica4
If PORTA.4 = 1 Then Gosub practica5
Return
PARTE 2:
RECORRER TEXTOS