Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual de Prácticas de Laboratorio: Elaborado Por: Ing. Marcos Antonio Moreno Guzmán
Manual de Prácticas de Laboratorio: Elaborado Por: Ing. Marcos Antonio Moreno Guzmán
De
Laboratorio
Materia
PROGRAMAR SISTEMAS
MECATRONICOS
Elaborado Por:
Agosto 2011
Presentacin
Este manual est pensado como una gua para que el alumno
PARTE 1:
FUNCIONAMIENTO DEL RELAY
Que sucede?
Que sucede?
PARTE 3:
CIRCUITO BASICO DEL TEMPORIZADOR 555, LUZ INTERMITENTE
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?
PARTE 1:
TRANSISTOR EN CORTE Y SATURACION
Los transistores pueden ser NPN y PNP, esto depende de cmo estn construidos
internamente.
Enciende el led?
Porque?
Transistor en configuracin de
Normalmente abierto.
PARTE 2:
FUNCIONAMIENTO DEL TRANSISTOR NPN.
PORQUE?
PORQUE?
PARTE 4:
AMPLIFICADOR DE SENAL, CON TRANSISTORES (PAR DARLINGTON)
Que sucede?
PARTE 1:
FUNCIONAMIENTO DE UN PAR DE RELAYS PARA CAMBIO DE GIRO
NOTA: Para realizar esta prctica , es necesario que tengas mucho cuidado con los
voltajes a utilizar , los relevadores pueden tener un voltaje y los motores pueden
ser de uno diferente, por lo que si se desea controlar motores con diferentes
voltajes se deben hacer los cambio a la alimentacin , la adecuada para cada
componente electrnico. (GUARDAR ESTA PRACTICA PARA USARSE EN PRCTICA
POSTERIOR)
PARTE 1:
PRIMER PROGRAMA ENCENDER UN LED (PARPADEANDO CADA SEG)
NOTA: para las entradas, no agregue todos los interruptores, solo uno, el de RA0 y
a los dems puertos de RA solo la resistencia de 10K a TIERRA. ESTE CIRCUITO
LO USAREMOS EN TODAS LAS PRACTICAS SIGUIENTES Y PROYECTO !NO LO
DESARMES!
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.
'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.
Porque?
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.
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
PORTB = %00000000
PORTB = %00000001
izquierda:
derecha:
PORTB = 0
WaitMs 200 'espera 1 seg
Goto MODO4
MODO5: 'INICIO DESPLEGAR NUMEROS EN DISPLAY DE 7 SEGMENTOS
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
__________________________________________________
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
NOTA: SI EL DISPLAY DE 7
SEGMENTOS ES ANODO COMUN,
COLOCALOS UNA RESISTENCIA DE
330 A POSITIVO.
NOTA: RECUERDA QUE PARA ACCIONAR LOS INTERRUPTORES, HAY QUE OBTENER
EL MICROCONTROLLER VIEW EN HERRAMIENTAS DEL SIMULADOR.
Que sucede en la barra de leds del simulador con cada modo de desplegar los leds?
MODO 1:
MODO 2:
MODO 3:
MODO 4:
MODO 5:
PARTE 2:
FOTOTRANSISTOR, FOTORESISTENCIA.
FOTOTRANSISTOR
FOTO RESISTENCIA
PARTE 3:
SENSOR TACTIL.
5
Quita el switch y toca esos cables
con tus dedos.
Que sucede?
PARTE 4:
SENSOR DE HUMEDAD.
Arme el siguiente circuito:
Por el agua circula una corriente muy pequea, el transistor la amplifica (la hace
ms grande) y permite que podamos encender un LED.
Una vez realizado el montaje anterior, debe de introducir los dos hilos A y B en
agua uno ms abajo que otro.
Se Ilumina el LED?
Por qu?
Agrega un zumbador como se muestra.
Introduce las puntas A y B en el agua.
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:
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