Autor Tema: control semáforos microcontrolador  (Leído 5185 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xoel

  • PIC10
  • *
  • Mensajes: 5
control semáforos microcontrolador
« en: 14 de Junio de 2009, 14:55:27 »
Hola:

Estoy empezando con esto de los microcontroladores, y este año me he matriculado en una primera asignatura de esta materia;
Me acabo de registrar en el foro, con la esperanza de que alguien pueda echarme un cabo en el siguiente problema;  es decir como serían los diagramas de flujo....yo me pierdo con lo que debe enviar uno y recibir del otro.....

si alguien tiene paciencia de leerlo, le agradecería mucho que me ayudara:

Se desea disponer de dos semáforos portátiles que regulen de forma autónoma el sentido de
circulación de vehículos en un estrechamiento sin visibilidad de una vía. Asociado a cada
semáforo debe existir un sensor con salida por contacto libre de potencial que indique la
presencia de un vehículo, dos conmutadores rotativos de 10 posiciones para definir el tiempo
que el semáforo debe estar en verde en un rango de valores de 0 a 99s . Además, se dispondrán de una batería de 24Vdc para alimentar las
lámparas y el resto de dispositivos. Las unidades de control deben estar interconectadas por
medio de un canal serie RS232.
La funcionalidad que se debe implantar debe cumplir las siguientes condiciones:
- Nunca deben estar en verde ambos semáforos a la vez.
- Cada semáforo debe estar en verde el tiempo marcado por los conmutadores rotativos
correspondientes.
- Una vez apagado el verde debe encender el ámbar durante 4s antes de encender el rojo.
- Una vez encendido el rojo debe enviar al otro semáforo a través del canal serie el permiso
para ponerse en verde.
- Cuando un semáforo recibe el permiso para ponerse en verde se inicia una nueva
secuencia y por tanto se va alternando el permiso de circulación.
- Cuando un semáforo que se encuentra en rojo detecta la presencia de un vehículo debe
enviar un mensaje al otro semáforo indicando dicha circunstancia.
- La alternancia de los sentidos de circulación se puede eliminar mientras que en el
semáforo que se encuentra en rojo no se detecte la presencia de un vehículo.




Muchas gracias :? :? :? :? :?

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: control semáforos microcontrolador
« Respuesta #1 en: 14 de Junio de 2009, 18:08:00 »
Citar
como serían los diagramas de flujo
Hola xoel!
Mirando las condiciones, he pensado que podría ser algo así:



Desconectado xoel

  • PIC10
  • *
  • Mensajes: 5
Re: control semáforos microcontrolador
« Respuesta #2 en: 14 de Junio de 2009, 18:30:21 »
Primero:  Muchisimas gracias por tomarte tantas molestias en responderme, de verdad :)

Lo que no entiendo es esa consigna de 1?  que pones justo al principio, que significa?¿?¿?¿?¿?¿
y otra cosa: esa parte de la alternancia ya está implicita en el diagrama no ¿? porque yo intentaba hacer algo como "tiene permiso" y "tiene turno"-->semáforo verde..... pero no sabía como gestionar lo del turno.....


Muchas gracias otra vez

Desconectado xoel

  • PIC10
  • *
  • Mensajes: 5
Re: control semáforos microcontrolador
« Respuesta #3 en: 14 de Junio de 2009, 18:43:41 »
mmmmm  ese 1?  es   ¿tiene turno? mas o menos no?¿.....

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: control semáforos microcontrolador
« Respuesta #4 en: 15 de Junio de 2009, 04:30:58 »
Citar
Lo que no entiendo es esa consigna de 1?
La secuencia de cada semáforo se repite continuamente, para eso "encerramos" el programa en un bucle infinito. Ese 1 representa la condición siempre cierta de bucle infinito.

Citar
a alternancia ya está implicita en el diagrama no ¿?
Sip, la alternancia se regula con las supuestas funciones ObtienePermiso() y DaPermiso(). Más o menos lo que se pretende es que un semáforo no pueda ponerse en verde si no tiene permiso del otro, y el otro no le puede dar permiso si no esta en rojo.

Desconectado xoel

  • PIC10
  • *
  • Mensajes: 5
Re: control semáforos microcontrolador
« Respuesta #5 en: 15 de Junio de 2009, 09:03:51 »
de acuerdo, lo entiendo;

muchisimas gracias  :) :) :) :) :)


 

anything