-del sensor has dicho que van 2 patillas al pic, cuales? si el sensor solo tiene 4 patillas (vcc, tierra, datos y clock). solo tendre que conectar la de los datos al pic no? el clock tendre que poner uno aparte y ahi conectar el sensor y el pic?
VCC -> Alimentación del sensor, a 5V+
GND-> Alimentación del sensor, a 0 V
Clock-> Señal de sincronismo del sensor, conectado a RB0 del PIC (Patilla 6 del 16F84A ó patilla 21 del 16F876, ambos en encapsulado PDIP)
Data-> Señal de datos del sensor, conectado a RB1 del PIC (Patilla 7 del 16F84A ó patilla 22 del 16F876, ambos en encapsulado PDIP)
Definición (sui generis) de Clock: Pulso generado normalmente por el dispositivo emisor de los datos, hay casos en que no tiene por que ser así, por ejemplo en las comunicaciones PC-> PS/2 en que es el receptor el que genera la señal de Clock, que sirve para indicar cuándo hay disponible un bit en la línea de la señal de Data. La señal de Clock puede ser activa en alto (hay que leer la línea data unos microsegundos despues de pasar la línea de clock de estado bajo, 0V, a estado alto, +5V) ó activa en bajo (hay que leer la línea data unos microsegundos despues de pasar la línea de clock de estado alto, +5V, a estado bajo, 0V)
En el caso de tu sensor puedes mirar la página 2, figura 2, en la que puede verse que es el micro quien genera los pulsos de la señal de Clock, y cada vez que envía un pulso el sensor responde con un bit. Tambien puede leerse a su izquierda una nota donde dice que la señal de clock no tiene una frecuencia mínima, eso significa que tienes libertad para decidir a qué velocidad vas a establecer tu comunicacion, sin demasiados impedimentos para ello.
Implementar el protocolo del sensor es solo cuestión de leerse el datasheet, y comprendiendo lo que allí pone, hacer que tus pines del PIC (donde has conectado el sensor) pasen de bajo a alto, o viceversa, con la candencia y la estructura necesaria y suficiente.
-que es exactamente ese "integrado" que tu llamas? ya que en la documentacion que nos han dado para este proyecto no habia leido nada parecido. para que sirve exactamente? no se puede usar otra cosa?
Una comunicación "serie" es un estilo de comunicación en el que la información viaja secuencialmente por la linea de transmisión-recepción. Se puede transmitir en "serie" utilizando muchas maneras de hacerlo, usando voltajes a nivel TTL (0v,+5V) o a nivel V24 (-12V,+12V), de forma síncrona (con señal de Clock) o asíncrona (sin señal de Clock), con protocolos RS232, RS485, IEE488, I
2C, SPI, X-10 .... la bliblia en pasta de formas, modos y maneras. Todas esas y otras miles de formas son comunicaciones "serie". Pero se dá el caso de que para conectar un PIC con un PC que reciba los datos transmitidos por aquel mediante un programa en Java, en C, en Basic, en Pascal o incluso en Forth (¿se acuerda alguien del Forth?) tienen ambos que adecuarse en los niveles de tension, en lo protocolos a usar y en las frecuencias de transmisión-recepción de ambos, porque de lo contrario no se hablarán entre ellos nunca. Y resulta que el PIC habla en "Serie nivel TTL Protocolo RS-232 a X baudios" y el PC habla en "Serie nivel V24 protocolo RS-232 a X baudios" .... despejando lo común entre ambas maneras de hablar "serie" tenemos solo que adecuar el Nivel TTL con el Nivel V24 .... y tatachan ... para eso es el "integrado" MAX232.
-tenemos la opcion de usar 2 pics, el 16F84A y/o 16F876. Si se puede hacer con el 16F84A, seria recomendable hacerlo con ese no? (ya que al ser mas sencillo, tambien es mas barato y al ser un proyecto, a la hora de evaluar tambien se tendra eso en cuenta). es posible hacerlo con ese o es recomendable usar el 16F876?
Insisto en la frase anterior: "Imagino que con un 16F84 se puede hacer ...." pero .... el 16F876 tiene mas memoria, mas velocidad, mas pines disponibles y sobre todo: Tiene USART. ¿Que qué es eso? pues un chirimbolo hardaware que realiza toda la comunicación serie rs232 con el PC sin tener que gastar un miligramo de memoria de programa para transmitir y recibir a y desde el PC.
Además el 16F84A cuesta 2,71$ y el 16F876A sale por 3,40$ o sea 69 centavos de dólar de diferencia ... si vas a fabricar un millar de "lo que sea" quizás te merezca la pena pensar en otro micro pero ...
-el sensor envia hasta 14 bits en grupos de 4 al pic no?entonces el pic como procesa estos datos, por que puerto saldria y como saldria? el pc como va a entender esos datos? (tenemos que saber entender esos datos ya que el programa en java debe de recibir esos datos y sacar de ahi la informacion).
El PIC recogería los bits uno a uno .... compondría un par de bytes (16 bits) con ellos y los transmitiría al PC vía serie mediante la USART y el MAX232 y un cable de tres hilos que lo uniría con .... el PC que recibiria dos byes y haría el cálculo correspondiente para componer un entero de 16 bits recibiendo los dos Bytes MSB y LSB en que se descompone. (una multiplicación)
un saludo y muchisimas gracias!
Otro saludo y muchisimas de nadas.