ImagenImagenImagenImagen
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

ColorPAL #28380 con PIC16f877a y lenguaje C

Escribe aqui todos lo relacionado con estos temas

Moderador: Junta Directiva

osjerick
Mensajes: 4
Registrado: Lun Ago 09, 2010 11:27 pm
Nombre: Jerick Ordenes

ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por osjerick » Lun Ago 09, 2010 11:38 pm

Hola, soy nuevo en el foro y me gustaría saber cómo puedo hacer una interface entre el sensor de color ColorPAL #28380 (http://www.parallax.com/Portals/0/Downl ... lorPAL.pdf) de Parallax y un microcontrolador PIC16F877a usando el lenguaje de programación C, es decir, quiero conectar el sensor al Pic y no se cómo recibir los datos que proporciona el sensor. Gracias por su ayuda!



FJ_Sanchez
Usuario Desarrollador
Usuario Desarrollador
Mensajes: 1082
Registrado: Mié Jun 07, 2006 11:09 pm
Nombre: Francisco Javier Sánchez
Ubicación: Vejer de la Frontera
Contactar:

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por FJ_Sanchez » Mar Ago 10, 2010 1:01 pm

Muy buenas, aquí tienes un código de ejemplo para Arduino: http://www.arduino.cc/cgi-bin/yabb2/YaB ... 173955/6#6" onclick="window.open(this.href);return false;

No debería de costarte mucho trabajo portarlo a tu microcontrolador, básicamente cambiar las funciones digitalWrite, digitalRead, pinMode, etc.

Un saludo y suerte.
_ _ _ _ _ _ _ _ _ _

Hack your mind \\ F.J. Sánchez

Okupa tu mente. \\ _ _ _ _ _ _ _ _ _ _ _ _

osjerick
Mensajes: 4
Registrado: Lun Ago 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por osjerick » Mié Ago 11, 2010 5:09 pm

FJ_Sanchez escribió:Muy buenas, aquí tienes un código de ejemplo para Arduino: http://www.arduino.cc/cgi-bin/yabb2/YaB ... 173955/6#6" onclick="window.open(this.href);return false;

No debería de costarte mucho trabajo portarlo a tu microcontrolador, básicamente cambiar las funciones digitalWrite, digitalRead, pinMode, etc.

Un saludo y suerte.
Gracias FJ_Sanchez, sé que será de mucha ayuda! lo único que no entiendo es por qué en el ejemplo utilizan una comunicación serial de dos pines (tx,rx) cuando el sensor utiliza sólo un pin de comunicación! De hecho en la data dice que la comunicación es serial 1-wire... De verdad muchas gracias.

Estuve revisando un poco más y no entiendo muy bien lo que se está haciendo en ese código, si no te molesta podrías echarme una mano con otra propuesta?

FJ_Sanchez
Usuario Desarrollador
Usuario Desarrollador
Mensajes: 1082
Registrado: Mié Jun 07, 2006 11:09 pm
Nombre: Francisco Javier Sánchez
Ubicación: Vejer de la Frontera
Contactar:

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por FJ_Sanchez » Mié Ago 11, 2010 11:14 pm

osjerick escribió:Gracias FJ_Sanchez, sé que será de mucha ayuda! lo único que no entiendo es por qué en el ejemplo utilizan una comunicación serial de dos pines (tx,rx) cuando el sensor utiliza sólo un pin de comunicación! De hecho en la data dice que la comunicación es serial 1-wire... De verdad muchas gracias.

Estuve revisando un poco más y no entiendo muy bien lo que se está haciendo en ese código, si no te molesta podrías echarme una mano con otra propuesta?
Buenas, como bien dices el protocolo es 1-wire, por tanto para enviar un byte necesitarías una función que cambiase el pin de señal de nivel bajo a alta impedancia continuamente según el byte y con la duración necesaria para respetar el baudrate que hayas configurado. Lo que hacen es aprovechar que esto ya existe en la librería de SoftwareSerial y usan ese puerto serie software como si se tratase de un puerto 1-wire. Para un PIC imagino que se puede hacer lo mismo aprovechando cualquier librería de puerto serie software.

Un saludo y suerte.
_ _ _ _ _ _ _ _ _ _

Hack your mind \\ F.J. Sánchez

Okupa tu mente. \\ _ _ _ _ _ _ _ _ _ _ _ _

osjerick
Mensajes: 4
Registrado: Lun Ago 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por osjerick » Jue Ago 12, 2010 12:24 am

A trabajar entonces, muchas gracias! en cuanto tenga un código lo subo para que quede disponible! Saludos, éxito también para ti.

fer_taglia
Mensajes: 2
Registrado: Sab Abr 16, 2011 5:00 pm
Nombre: Fernando

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por fer_taglia » Sab Abr 16, 2011 5:10 pm

Hola, soy nuevo en el foro pero estoy usando elsensor que mencionas.
Para controlarlo con la PC y hacer alguna pruevas, lo conecte a un MCP2200 (se puede uasr un 18f14k50) que me convierte de USB a RS232 pero en niveles de 0 a Vcc. Para transformar la comunicacion en 1 cable arme el circuito de la figura uniendo RX y TX con un diodo 1N4148 y de alli al colorpal.

Rx ----------------------------------------------- s colorpal
Katodo
1N4148
anodo
Tx----------

O sea el diodo mira al pin Tx del pic o MCP2200.
Algo importante con 5V lo podia controlar pero al momento de realizar una medicion no me enviaba ningun datos. Al cambiar la alimentacion a 3,3v funciono perfectamente.
La velocidad que use es 4800N81.
Espero que el aporte sea util
Saludos[quote][/quote]

fakcari1006
Mensajes: 3
Registrado: Sab Abr 16, 2011 10:36 pm
Nombre: camilo

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por fakcari1006 » Dom Abr 17, 2011 1:26 am

[quote="fer_taglia"]Hola, soy nuevo en el foro pero estoy usando elsensor que mencionas.
Para controlarlo con la PC y hacer alguna pruevas, lo conecte a un MCP2200 (se puede uasr un 18f14k50) que me convierte de USB a RS232 pero en niveles de 0 a Vcc. Para transformar la comunicacion en 1 cable arme el circuito de la figura uniendo RX y TX con un diodo 1N4148 y de alli al colorpal.

Rx ----------------------------------------------- s colorpal
Katodo
1N4148
anodo
Tx----------

O sea el diodo mira al pin Tx del pic o MCP2200.
Algo importante con 5V lo podia controlar pero al momento de realizar una medicion no me enviaba ningun datos. Al cambiar la alimentacion a 3,3v funciono perfectamente.
La velocidad que use es 4800N81.
Espero que el aporte sea util
Saludos[quote][/quote][/quote]


Prodias por favor decirme como logras obtener datos del colorPal esque logro enceder el led para que inicie la muestra pero el no envia nada
Gracias

fer_taglia
Mensajes: 2
Registrado: Sab Abr 16, 2011 5:00 pm
Nombre: Fernando

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por fer_taglia » Lun Abr 18, 2011 6:27 pm

Si los estas alimentando con 5v, solo podras contralarlo y hacer que se generen colores, por ejemplo si pones =R! aparece el color rojo.
Si queres medir y pones =m! seguramente no suceda nada, al igual que si pones =v! para ver la version.
solucion :
Primero debes aliemtar el sensor con 3,3v no con 5v como dice el manual, ahi le pifiaron los de parallax.
despues, unis el pin de señal del sensor con el RX del PIC y entre el RX t TX pones un diodo 1N4148 con el anodo apuntando hacia el pin de TX.
Listo las conexciones.
Hora podes controlar el sensor y para hacer una medicion envias =m!, el sensor devuelve 9 digitos 0HH0HH0HH siendo HH el valor medido en el RGB de cada componente. La velocidad de trabajo es de 4800baudios N81.

Si queres hacer pruebas, usando el mismo esquema de conecxion pero lo conectas a un MCP2200 y este al puerto USB de la PC. De esta manera con el hyperterminal podes enviasr comandos.(Ojo antes de usar el circuito corre la aplicacion de microchip para usar el MCP2200 y fijate que la velocidad se 4800baudios).
Espero te sea util la explicacion.

osjerick
Mensajes: 4
Registrado: Lun Ago 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por osjerick » Mar Abr 19, 2011 5:56 am

Gracias fer_taglia, había abandonado el trabajo con el ColorPal porque el proyecto que estaba desarrollando finalizó, sin embargo, luego me toca volver a trabajar con él, así que probaré la solución que propones porque me sucedía exactamente lo que a fakcari1006, que sólo hacen cambios los comandos que activan el RGB y no los que demandan datos del sensor. Saludos. :mrgreen:

fakcari1006
Mensajes: 3
Registrado: Sab Abr 16, 2011 10:36 pm
Nombre: camilo

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Mensaje por fakcari1006 » Mié Abr 20, 2011 3:25 am

Gracias Profe la solucion con el diodo y listo el sensor envia los datos correctamente
Gracias

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados