ColorPAL #28380 con PIC16f877a y lenguaje C

Escribe aqui todos lo relacionado con estos temas

Moderator: Junta Directiva

osjerick
Posts: 4
Joined: Mon Aug 09, 2010 11:27 pm
Nombre: Jerick Ordenes

ColorPAL #28380 con PIC16f877a y lenguaje C

Post by osjerick » Mon Aug 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
Posts: 1082
Joined: Wed Jun 07, 2006 11:09 pm
Nombre: Francisco Javier Sánchez
Location: Vejer de la Frontera
Contact:

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by FJ_Sanchez » Tue Aug 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
Posts: 4
Joined: Mon Aug 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by osjerick » Wed Aug 11, 2010 5:09 pm

FJ_Sanchez wrote: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
Posts: 1082
Joined: Wed Jun 07, 2006 11:09 pm
Nombre: Francisco Javier Sánchez
Location: Vejer de la Frontera
Contact:

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by FJ_Sanchez » Wed Aug 11, 2010 11:14 pm

osjerick wrote: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
Posts: 4
Joined: Mon Aug 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by osjerick » Thu Aug 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
Posts: 2
Joined: Sat Apr 16, 2011 5:00 pm
Nombre: Fernando

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by fer_taglia » Sat Apr 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
Posts: 3
Joined: Sat Apr 16, 2011 10:36 pm
Nombre: camilo

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by fakcari1006 » Sun Apr 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
Posts: 2
Joined: Sat Apr 16, 2011 5:00 pm
Nombre: Fernando

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by fer_taglia » Mon Apr 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
Posts: 4
Joined: Mon Aug 09, 2010 11:27 pm
Nombre: Jerick Ordenes

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by osjerick » Tue Apr 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
Posts: 3
Joined: Sat Apr 16, 2011 10:36 pm
Nombre: camilo

Re: ColorPAL #28380 con PIC16f877a y lenguaje C

Post by fakcari1006 » Wed Apr 20, 2011 3:25 am

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

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest