Semáforo con el PIC16F84A y Pic Basic Pro Entrada008

Por | 20:42 Deja Un Comentario
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 **********************************
Semáforo con el PIC16F84A y Pic Basic Pro proteus


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