Autor Tema: Trabajos en paralelo  (Leído 462 veces)

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

Desconectado smaza

  • PIC10
  • *
  • Mensajes: 4
Trabajos en paralelo
« en: 06 de Agosto de 2018, 16:27:12 »
Buenos dias.
Estoy con mis primeros pasos en Flowcode y se me presenta un problema que no consigo solucionar.

No veo como hacer que, si se me activa un estado en un interruptor el pic me active los puertos A y B a la vez pero con trabajos distintos.

Os adjunto un esquema, si se activa el estado 1 en el switch necesito que haga lo escrito con el puerto B y a la vez otra activacion de led diferente en el puerto A.

Aparte de esto el programa me funciona.

Gracias de antemano.

Desconectado lucegiar2005

  • PIC18
  • ****
  • Mensajes: 409
Re:Trabajos en paralelo
« Respuesta #1 en: 07 de Agosto de 2018, 07:46:52 »
Hola, ¿como estás? De ser posible debieras aclarar un poco el funcionamiento que pretendes obtener mediante un ejemplo. Es conveniente que cuando consultes subas el desarrollo hecho, a efectos de buscar en forma específica y probar resultados. Los pics no realizan ordenes simultáneas, lo hacen secuencialmente, aunque nos parescan que realiza ambas a la par, es por ello que debieras trazar en el tiempo lo que cada puerto debe hacer y en base a ello ir dando las "ordenes" para su ejecución, pero siempre será a uno primero y al otro a continuación. Existen acc´iones que te dan más "simultaneidad" como por ejemplo activar pines de uno para "encender" algo y, hasta apagarlo, permite la ejecución de varias sentencias en el otro. Un abrazo.
- Santiago -

Desconectado smaza

  • PIC10
  • *
  • Mensajes: 4
Re:Trabajos en paralelo
« Respuesta #2 en: 07 de Agosto de 2018, 09:28:09 »
Gracias por la contestacion.

Puedo simplificar la pregunta mas, al activar una entrada RA2 como puedo activar a la vez las salidas RA1 y RB1.

Os explico el proyecto, se trata de 2 array de 8 led y quiero que cuando un array encienda de derecha a izquierda el otro encienda en intermitencia.

Os adjunto el proyecto.

gracias.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3231
Re:Trabajos en paralelo
« Respuesta #3 en: 07 de Agosto de 2018, 13:03:51 »
Hola,

Varias cosas : la primera es que el fichero que has adjuntado no contiene nada. Está vacío y dado que has realizado la consulta en el apartado de Flowcode, lo ideal seria que adjuntases el fichero del proyecto en formato Flowcode.
Lo segundo y como te ha indicado Santiago a tu pregunta decirte que si solo es eso si se puede hacer.
Basta con que en tu ejemplo incluyeses los siguientes bloques que te adjunto. (Eso para activar solo las 2 señales A1 y B1 en función del estado de A2)

Pero si lo que quieres es que vayan cambiando de dirección los arrays, basta, según tu primera figura que entre los retardos incluyas las activaciones en sentido contrario de los arrays. Al ser el funcionamiento secuencial y dada la velocidad de funcionamiento del micro, te parecerá que van a la par el funcionamiento de ambos arrays.
« Última modificación: 07 de Agosto de 2018, 13:12:21 por Fer_TACA, Razón: Corrección »

Desconectado smaza

  • PIC10
  • *
  • Mensajes: 4
Re:Trabajos en paralelo
« Respuesta #4 en: 07 de Agosto de 2018, 14:56:00 »
Perdon.

Adjunto el proyecto (espero que ahora si)

Gracias.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3231
Re:Trabajos en paralelo
« Respuesta #5 en: 08 de Agosto de 2018, 06:13:07 »
Hola amigo,
después de revisar tu proyecto, observo que:
- Tienes como salida el puerto B completo.
- Pretendes utilizar 2 arrays (Os explico el proyecto, se trata de 2 array de 8 led y quiero que cuando un array encienda de derecha a izquierda el otro encienda en intermitencia).
- Pero el micro que has utilizado 16F84 solo tiene un puerto de 8 bits (puerto B) por lo que solo vas a poder utilizar para hacer el barrido de un array, ya que el puerto A solo tiene 5 bits de los cuales además estas utilizando como entrada por lo que veo que es imposible el que utilices 2 arrays completos de 8 bits.
- Deberías utilizar un pic con mas puertos, como mínimo necesitarías 16 pines (para las salidas) y 1 mas para la entrada.
- Luego para realizar ambos barrios uno en un sentido y otro en el otro, basta con que, como dije en el post anterior, añadas bloques de salidas del otro array entre las salidas que ya dispones, según tu ejemplo, y el bloque de delay dentro de cada uno de los case(switch contador).

Desconectado smaza

  • PIC10
  • *
  • Mensajes: 4
Re:Trabajos en paralelo
« Respuesta #6 en: 15 de Agosto de 2018, 04:18:09 »
Buenos dias.

Tienes razon, me faltan bits.

Al final utilizo 3 bits de el puerto A, como proyecto me vale para ir viendo el funcionamiento.

Lo tengo funcionando y realizando pruebas.

Gracias por los aportes.


 

anything