3. Procesamiento de señales - karelyshv/Pong-Game-Project GitHub Wiki

Para el procesamiento se usa el software CodeWarrior, en ésta programación se empleando una máquina de estados: Esperar, Medir y Enviar.

http://image.ibb.co/nJ3cP7/Capture1.png

La captura de las señales se realiza en es el estado Medir, como se puede ver en la imagen, se usaron ciertos componentes del microprocesador para adquirir los datos. Para la lectura de los acelerómetros fue requerido un conversor analógico digital, se usó el componente ADC para los puertos PTA6 y PTA0. Para los sensores digitales se ejecutó una lectura binaria con el componente Bits, se capta la señal recibida de los 3 switches al ser presionados y del fototransistor.

http://preview.ibb.co/ipbxP7/Capture3.png

Para el procesamiento de de la señal recibida por el DEMOQE primero procedió a encriptar a través de Processor Expert - CodeWarrior la información para poder diferenciar entre valores distintos. Esto lo hicimos usando tres tramas de 8 bits: La primera trama es un encabezado fijo (F1 en hexadecimal), el primer bit de las otras dos tramas es cero, el segundo y tercer bit de la segunda trama contiene los bits de los dos sensores digitales, y los bits restantes se usan para la información del canal analógico. En la siguiente etapa, el computador recibe la información a través del puerto serial y esta es decodificada y graficada con Processing.

Entonces en el estado Enviar se codifica y concatena la data, de forma que se cumpla el protocolo donde se envía un bloque de 5 bytes de información donde el primer bytes es el encabezado 0xF2, el cual es necesario para distinguir entre recolecta de datos diferente, los siguientes dos bytes se usan para la adquisición de dos señales digitales y una señal analógica, de los cuales la primera cadena tendra 2 bits para los digitales y 5 bits de la primera señal analógica, seguido de una cadena con los 7 bits restantes. Los siguientes 2 bytes contedran otras dos señales digitales y otra analogica, distribuida como antes se describió.

Para mostrarlo de una manera menos compleja, se puede apreciar el siguiente esquema: 0xF2 [0][D1][D2][A11][A10][A9][A8][A7] [0][A6][A5][A4][A3][A2][A1][A0] [0][D3][D4][B11][B10][B9][B8][B7] [0][B6][B5][B4][B3][B2][B1][B0]

D representan canales digitales A y B representan canales analogico. [A1] Cada valor entre corchete es un bit. 0xF2, Se utiliza 2 para representar que se van a enviar dos canales analógicos.