Un ejemplo práctico de lo útiles y prácticos
que son los microcontroladores y como con el PIC16F84 que es un dispositivo de
bajo coste, nos ahorramos muchos atolladeros de cabeza si tuviéramos que
hacerlo con compuertas y memorias externas.
‘Proyecto: SEMAFORO PARA
INTERSECCION DE DOS VIAS
El problema es de controlar el tráfico
de las vías mediante los símbolos luminosos con las siguientes reglas:
ROJO: Orden de detención vehicular.
AMBAR: Prepararse para detenerse o
seguir en marcha.
VERDE: Orden de movimiento
vehicular.
En el grafico se muestra como es el
supuesto sentido de los vehículos, lógicamente los tiempos para la simulación son
menores.
Un poco de seudocódigo:
1. Configurar
los puertos de entrada y salida
2. Nombrara
el programa
3. Poner
en bajo todos los puertos a usarse
4. mientras
el puerto del pin 4 este en bajo se ejecutara
5. Activar
las luces de verde horizontal, rojo vertical y desactivar las demás luces
6. tiempo
de espera para el cambio de luces pueden ser de 1 minuto a mas en pbp 1000 = 1
segundo
7. Encender
las luces Ámbar para el aviso de cambio de luces el tiempo de este es menor a 2
segundos
8. Encender
las luces rojas Horizontales y verdes verticales y las demás en bajo
9. Accionar
el Ámbar para el aviso de cambio
10. Bucle
mientras este desactivado el pin4
11. FIN
‘*******************************PROGRAMA
******************************
TRISA = %10000
TRISB = 000000
'nombrar el programa'
luces:
'poner en bajo todos los puertos a
usarse'
PORTB = 0
PORTA = 0
'mientras el puerto del pin 4 este
en bajo se ejecutara'
WHILE PORTA.4 = 0
PAUSE
500
'Activar las luces de verde
horizontal, rojo vertical y descativar las demas luces'
HIGH
PORTB.0
LOW
PORTB.1
LOW
PORTB.2
HIGH
PORTB.6
LOW
PORTB.7
LOW
PORTA.1
HIGH
PORTA.0
LOW
PORTA.3
LOW
PORTA.2
HIGH
PORTB.5
LOW
PORTB.4
LOW
PORTB.3
'tiempo de espera para el cambio de
luces pueden ser de 1 minuto a mas en pbp 1000 = 1 segundo'
PAUSE
4000
'encender las luces Ambar para el
aviso de cambio de luces el tiempo de este es menor
'a 2 segundos
PORTB.0
= 0
HIGH
PORTB.4
LOW
PORTB.5
LOW
PORTB.3
HIGH
PORTB.1
LOW
PORTB.6
LOW
PORTA.1
HIGH
PORTA.3
LOW
PORTA.2
LOW
PORTA.0
HIGH
PORTB.7
LOW
PORTA.1
LOW
PORTB.6
PAUSE
1000
'Encender las luces rojas
Horizontales y verdes verticales y las demas en bajo '
HIGH
PORTB.2
LOW
PORTB.1
LOW
PORTB.0
HIGH
PORTB.3
LOW
PORTB.5
LOW
PORTB.4
HIGH
PORTA.2
LOW
PORTA.3
LOW
PORTA.0
HIGH
PORTA.1
LOW
PORTB.7
LOW
PORTB.6
PAUSE
4000
'accionar el Ambar para el aviso de
cambio'
HIGH
PORTB.4
LOW
PORTB.5
LOW
PORTB.3
HIGH
PORTB.1
LOW
PORTB.6
LOW
PORTA.1
HIGH
PORTA.3
LOW
PORTA.2
LOW
PORTA.0
HIGH
PORTB.7
LOW
PORTA.1
LOW
PORTB.6
PAUSE
500
WEND
GOTO luces 'bucle mientras este
desactivado el pin4 '
‘***********************************
FIN **********************************
Este es un diseño básico con el PIC
16F84A en la actualidad se utilizan GPS
como reloj para sincronizar correctamente los semáforos, Un GPS nos da
la posición exacta de un objeto, pero también nos da la hora exacta.
.
Nota: los microcntroladores pueden
ser afectados por el medioambiente y otros factores que perturban su frecuencia
de trabajo por lo tanto la equivalencia de tiempo.
0 comentarios:
Publicar un comentario