You are on page 1of 12

FIX INGENIERIA

www.fixingenieria.com

COLOR PAL (#28380) SENSOR DE COLOR Y LUZ AMBIENTAL Y GENERADOR DE COLOR


Descripcin General
El Color PAL es un sensor de luz y color miniatura el cual a travs de un LED RGB duplica su funcin hacindolo un generador de color.

Caractersticas
Detecta un rango completo de colores y salida de datos como componentes RGB (Rojo/Verde/Azul, por sus siglas en ingls) Detecta amplio espectro de luz ambiental con sensibilidad de hasta 44(W/cm2 por lsb Genera colores de 24 bits usando un LED RGB incluido Se conecta a los conectores de los servomotores (Parallax) o a tarjetas inalmbricas. La interface de un solo pin utiliza un protocolo serial simple para definir e iniciar la deteccin y generacin de color. Los detalles de deteccin y generacin son manejados por un micro controlador integrado. La EPROM est integrada para guardar programas de deteccin y generacin de color. El auto arranque permite usar un programa pre determinado en la EEPROM con solo conectar a la fuente.

Que est incluido?

Lo que se necesita para comenzar


Un Micro Controlador BASIC Stamp 2 o mejor y una tarjeta de pruebas similar a la Tarjeta Educativa de Parallax (BOE) Opcional pero deseable: Un cable "LCD" (Por ejemplo Parallax NP 805-00011)

TRADUCCION AL ESPAOL PUBLICADA: 25 FEBRERO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 2

Inicio Rpido (Sensor de Color)


1. Conecte su sensor PAL como se muestra en la seccin de Instalacin, utilice P15 para la seal. 2. Descargue el programa "color match" (.zip) de la pagina del producto en parallax.com 3. Cargue el programa ColorPAL_sense.bs2 en su BASIC Stamp y crralo. 4. Cierre la ventana DEBUG. 5. Inicie el programa TCS3200_ColorPAL_match.exe en su computadora. 6. Siga las instrucciones incluidas en el archivo zip color match

Inicio Ms Rpido (Sensor de Color)


1. Conecte su ColorPAL como se muestra en la seccin de instalacin usando P15 como seal 2. Descargue el programa BASIC Stamp ColorPAL_mimic.bs2 y crguelo en su BASIC Stamp. 3. Calibre los blancos y negros usando las teclas "b" y "w" 4. Muestree un color usando la tecla "s" luego vea el LED para observar el color que est probando.

El Inicio Ms Rpido (LED Demo)


1. Conecte su ColorPAL como se muestra en la seccin de instalacin usando P15 como seal. 2. Descargue el programa BASIC Stamp ColorPAL_transit.bs2 y crguelo en su BASIC Stamp. 3. Sujete el ColorPAL sobre una hoja blanca de papel y vea cmo cambia de color el LED. PRECAUCION: El LED es muy brilloso como para observarlo directamente, use la tcnica de la hoja para ver los cambios de color.

Principio de Operacin
El ColorPAL usa un LED RGB para iluminar una muestra, un color a la vez, a lo largo de un amplio espectro de un convertidor luz a voltaje para medir la luz reflejada. La cantidad de luz reflejada de la muestra bajo iluminacin de cada rojo, verde y azul puede usarse para determinar el color de la muestra. El sensor de luz utilizado en el ColorPAL es un TAOS (www.taosinc.com) TSL13T, el cual tiene la siguiente curva de sensibilidad espectral (tomada de la hoja de datos TSL13T y sobrepuesta con la longitud de onda del LED).

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 3

El sensor emite una salida de voltaje proporcional a oda la luz que ve, medido por sobre la curva. Por lo tanto cuando un objeto se ilumina con un LED rojo solamente responder con un voltaje proporcional al componente rojo del color del objeto y similarmente con el azul y el verde. Cuando existe un ambiente de luz mezclado con la iluminacin del LED el efecto puede eliminarse muestreando primero sin ningn LED encendido y posteriormente restar esta lectura, cada vez y por cada uno de los componentes rojo, verde y azul. Esta medicin de referencia deber tomarse antes de cada medida de color para eliminar cualquier efecto de las variaciones cambiantes del ambiente. En el prrafo que sigue se asumir que se toma un ambiente de referencia y se resta de cada medida discutida. Debido a que el LED y el sensor estn uno junto al otro en la tarjeta ColorPAL y debido a que el lente de plstico refleja por si mismo algo de luz, la respuesta de la luz de un objeto completamente negro ser no-cero. Por esta razn la respuesta del negro para cada componente de color tiene que determinarse experimentalmente, de esta forma puede restarse de la respuesta completa. Los tres componentes medidos (con un ambiente de referencia), Kr, Kg y Kb se conocen como "referencia negra". Una referencia negra se obtiene tpicamente solo una vez antes de cada sesin de medicin. El sensor TSL13T no responde igual al LED rojo, verde y azul y estos LEDs no ofrecen salidas de montos iguales de luz a las longitudes de onda roja, azul y verde. Por lo tanto adems de la referencia del ambiente y la referencia negra tambin es necesario tomar una "referencia blanca" donde el ColorPAL est presente en una superficie completamente blanca. Nuevamente despus de restar la luz del ambiente los componentes rojo, azul y verde de esta referencia se llamarn Wr, Wg y Wb. Ahora tenemos una forma de determinar el color actual del objeto como un porcentaje de diferencia entre las referencias blanca y negras. este porcentaje puede expresarse como un valor entre 0 (0%) y 255 (100%) por ejemplo para el rojo: Cr = 255 * (Ur - Kr) / (Wr -Kr) donde Ur es la lectura no corregida (excepto por ambiente) y Cr es la lectura corregida. Debido a que el ColorPAL usa un LED RGB integrado para emitir colores de muestra tambin es capaz de generar un amplio rango de colores en el espectro visible a travs de su micro controlador integrado, el cual genera pulsos modulados (PWM) para producir color RGB de 24 Bits.

Comparado con el TCS3200-DB


El ColorPAL y el TCS3200-DB (Parallax # 28302) son capaces de detectar colores en el espacio de RGB. El ColorPAL est diseado como un sensor no costoso para uso educacional y recreacional mientras que el TCS3200-DB tambin encuentra un uso profesional y aplicaciones de deteccin de color OEM. La siguiente grfica nos ayudar a ilustrar las similitudes y diferencias entre los dos equipos para proporcionar una ayuda al momento de seleccionar el equipo adecuado a nuestra aplicacin. Mientras tenga ms estrellas la columna ms deseable ser el equipo para la aplicacin.

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 4

Caracterstica o Capacidad Precio Precisin de deteccin con reflejo de objetos normales Precisin de deteccin con reflejo de objetos fluorescentes Deteccin de color en objetos muy brillosos Deteccin de color en objetos radiantes (LED, CRT) Salida de Sensor de Color Pins requeridos para interconexin (incluyendo +5V y Tierra) Deteccin de resolucin de color (por componente RGB) Compatibilidad con programas Parallax "color-matching" La deteccin de precisin de color requiere correccin de luz de ambiente La deteccin de precisin de color requiere balance de blanco La deteccin de precisin de color requiere balance de negro Detecta colores en promedio sobre superficies de dimetro: Generacin de color Generacin de secuencias y deteccin programable integrada en la tarjeta

ColorPAL ***** **** ** *** No es posible Serial E/S 3 Hasta 8 bits, usando un convertidor ADC de 10 Bits ***** Automtica Si Quiz 12mm ***** *****

TCS3200-DB *** ***** ***** ***** ***** Frecuencia 6 8 bits o ms, limitado solamente por tiempo de muestreo ***** Si Si No 3.5mm No es posible Ninguna

Instalacin
El ColorPAL requiere 3 conexiones: Una fuente regulada de +5V, Tierra y un colector abierto de datos seriales. Puede conectarse directamente en una BOE como por ejemplo:

Usando la extensin LCD tambin puede conectarse a un conector de Servo IMPORTANTE: Cuando se conecte a un conector de Servo en el BOE, !asegrese que la tarjeta tiene el puente en Vdd y no en Vin!

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 5

Programacin
La programacin con el ColorPAL se realiza usando el puerto Serial E/S, transmitiendo y recibiendo entre 2400 y 7200 baud, utilizando un protocolo "non-inverted, open drain". El ColorPAL incluye una resistencia Pullup a Vdd as usted no tendr que colocar una. Debido al protocolo el pin que se usa para comunicacin con el ColorPAL deber configurarse como entrada siempre, excepto cuando se controla bajo. Tambin cuando inicia usted deber esperar a que este pin sea puesto en alto por el ColorPAL antes de intentar enviar algn comando. Esto particularmente importante cuando se conecta a uno de los conectores Servo en la tarjeta BOE ya que el conector de 3 posiciones iniciara el programa PBASIC antes de iniciar el ColorPAL. La configuracin del pin y el modo de Baud para el BS2 en el pin 15 a 7200 baud podra ser por ejemplo: sio baud PIN 15 CON 119 + 32768

El ColorPAL tiene diferentes modos de operacin: Directo: Los comandos se reciben y ejecutan inmediatamente Apilado: Se reciben los comandos y se apilan para una ejecucin futura Ejecucin: Los comandos que se apilaron o se guardaron en la EEPROM son ejecutados

Hay tres formas de reiniciar el ColorPAL: Encendido: Cuando se enciende primero el ColorPAL comienza a ejecutar los comandos guardados en su memoria EEPROM interna en la localidad 00, En un nuevo, no programado Color PAL, este programa simplemente sale en modo directo. Ruptura Corta: Un nivel lgico bajo aplicado por aproximadamente 7 milisegundos re iniciar el Color PAL y comenzar su ejecucin de acuerdo al modo de Encendido. Ruptura larga: Un nivel lgico bajo aplicado por aproximadamente 80 milisegundos re iniciar el Color PAL y entrar en modo directo. Esta es la nica forma de llamar la atencin del Color PAL cuando se est ejecutando un programa. Aqu hay un ejemplo de una rutina de re inicio que siempre har que el ColorPAL entre en modo directo: Reset: LOW sio INPUT sio DO UNTIL sio : LOOP LOW sio PAUSE 80 INPUT sio PAUSE 10 RETURN ' Pone sio en bajo para eliminar cualquier carga residual ' Regresa al Pin de Entrada ' Espera para que el pin se ponga en alto por el ColorPAL ' Pone el pin en bajo ' Mantiene el pin bajo por 80 milisegundos ' Regresa al pin de entrada ' Pausa por otros 10 milisegundos

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 6

Comando Directo
Para comenzar a programar el ColorPAL necesitar estar en modo directo. En este modo el Color PAL aceptar cualquiera de los cuatro diferentes modos que son: = (Signo igual): Comienza la pila de instrucciones ! (Signo de Exclamacin): Comienza a ejecutar el cdigo de la pila # Signo numeral: Guarda el cdigo de la pila + (Signo Mas): Recibe una instruccin de "red"

= !

Comienza la pila de instrucciones Ejecuta los comandos o instrucciones en la pila

Cualquier instruccin de programa (relacionado con color) que ejecute el ColorPAL debe ser apilado primero antes de ejecutarse. Aqu hay un ejemplo tpico de apilamiento y ejecucin que hace que el LED RGB se ilumine hasta el rojo: SEROUT sio, baud, ["= R !"] NOTA: Cualquier espacio incluido en la secuencia de instrucciones (per ejemplo despus de "=" y antes de "!" o "#") son opcionales y se pueden incluir para mejorar la lectura del programa. Agregndolos no afecta la velocidad del programa o el monto de memoria que requiere. Sin embargo, no incluya espacios en la secuencia directa del comando ya que hacer esto causara un problema donde el ColorPAL detectar una falla en la deteccin del rango de baud y fallar.

#nn Guarda un programa de pila en la EEPROM


Guardar un programa en la EEPROM requiere una direccin en hexadecimal y de un rango entre 00 a 3F. Todos los argumentos numricos que se pasen al ColorPAL se pasan como constantes de dos dgitos hexadecimales (00 a FF). Para almacenar el programa "iluminar rojo" en la EEPROM en la localidad cero (para arranque automtico) haga esto: SEROUT sio, baud, ["= R #00"] Este, junto con el ejemplo anterior tambin muestra que ambos ejecutan (!) y guarda (#) instrucciones inmediatamente, sale del modo de pila y entra en modo directo. IMPORTANTE: Si el programa que guard inicia automticamente (almacenado en la localidad 00) y enva datos de salida lo har en un modo no calibrado, alrededor de los 4800 baud. La razn es que el ColorPAL calibra su rango de baud de instrucciones enviadas a el en modo directo. Sin ninguna instruccin cuando auto inicia tiene que seleccionar un valor por defecto. Debido a que el ColorPAL utiliza un circuito RC para su tiempo base es difcil predecir cul ser el grado de precisin en el que el que trabajar. Hay dos modos de pasar esto. Uno es reiniciar y almacenar el programa manualmente ingresando en modo directo y proporcionando una instruccin de ejecucin. El ColorPAL tomar el rango de baud de aqu. La otra opcin es auto detectar el rango de baud en el cual el ColorPAL est transmitiendo y utilizarlo. Este es un programa en PBASIC que puede hacer eso, trabajar con cualquier Basic Stamp, excepto con el BS2px:

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 7

' {$STAMP BS2} ' {$PBASIC 2.5} sio PIN 15

baud VAR Word pwidth VAR Word i VAR Byte PAUSE 100 baud = $ffff FOR i = 0 TO 255 PULSIN sio, 0, pwidth baud = baud MAX pwidth NEXT baud = baud << 1 - 20 | 32768

+nn Direcciones red ColorPAL


Mientras est en modo directo (y solo entonces) un signo de mas (+) seguido por dos dgitos hexadecimales aceptar una direccin de "red". Mltiples ColorPAL pueden estar en paralelo y ser direccionadas individualmente en modo directo. A cada ColorPAL se le puede asignar un nmero de unidad de ocho bits el cual se guarda en la localidad 3F de la EEPROM y se carga cuando el ColorPAL se reinicia. Cuando una direccin de red no-zero se recibe en modo directo a travs del comando + se Suma con el numero de unidad del ColorPAL. Si el resultado es Cero el ColorPAL ignorar otros comandos hasta que una direccin 00 o una que sumada con el numero de unidad alcance valor no cero. La direccin 00 puede usarse como direccin de transmisin a la cual respondern todos los ColorPAL. Un nuevo ColorPAL, no programado viene con un numero unitario de 00 lo cual significa que responder nicamente a la direccin 00. Para cambiar la unidad de numero simplemente genere una instruccin de programa siendo la instruccin que toma un numero (por ejemplo p o t) y gurdela en la localidad 3Eesto pone un numero en la localidad 3F y se har efectivo despus del siguiente y subsecuentes re inicios. Por ejemplo: SEROUT sio, baud, ["= p03 #3E"] Esto programa al ColorPAL para tener un numero de unidad 03 (%00000011) lo que significa que responder a cualquier direccin con uno o ambos de los bits menos significativos activos. IMPORTANTE: El direccionamiento de red trabaja solo en modo directo. No puede usarse para seleccionar cual de dos o ms ColorPAL que estn corriendo va a dar la salida de datos. Sin embargo puede usarse puede seleccionar cual de varias unidades puede comenzar ejecucin de cdigo. Cuando un ColorPAL viene de reinicio cualquier instruccin enviada sin una direccin pre-pendiente asumir que puede transmitir y no se bloquear. De esta forma es fcil simplemente ignorar la caracterstica de red si no la quiere usar. Aqu hay un ejemplo de cdigo que habla a dos ColorPAL, uno con la direccin 01; el otro 02. La unidad 01 desplegar colores verde, azul y rojo; la unidad 02 azul, verde y rojo, Ambos despliegan rojo porque estn direccionados a trasmitir en la direccin 00. Observe que no hay espacios en la sub secuencia, 1+02=. Esto es porque esas tres instrucciones son enviadas en modo directo y no se permiten espacios.

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 8

DO SEROUT sio, baud, ["+01= G !+02= B !"] : PAUSE 1000 SEROUT sio, baud, ["+01= B !+02= G !"] : PAUSE 1000 SEROUT sio, baud, ["+00= R !"] : PAUSE 1000 LOOP

Instrucciones de programa
Mientras en ColorPAL est en modo de apilamiento se pueden ingresar instrucciones que hacen algo, como iluminar los LEDs o tomar una muestra de color. Se muestran algunos comandos que puede aceptar INSTRUCCIONES LED

PRECAUCION! La luz del LED RGB es muy concentrada y puede ser muy brillosa. Tal cual como usted no vera directamente el sol no vea directamente la luz del LED rnnnnnn Direcciones red ColorPAL
Una r minscula seguida por 6 dgitos har que el LED despliegue los componentes del color deseado comenzando con el 00 siendo completamente "apagado" y el FF completamente "encendido" y nmeros entra esos valores representan intensidades intermedias. Para desplegar el color naranja se pude enviar el siguiente cdigo: SEROUT sio, baud, ["= rC04000 !"] Esto hace que el LED rojo se ilumine hasta el 75% de intensidad (C0) el verde al 25% (40) y el azul queda apagado (00).

A-Z

Despliega nombres de colores en el LED

Las letras maysculas representan colores predefinidos. Estos son designados por la letra mayscula en negrita junto con sus valores hexadecimales equivalentes:

Por ejemplo para el color Jade tiene que enviar el siguiente cdigo: SEROUT sio, baud, ["= J !"]
TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012 DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 9

tnn

Activar Tiempo de Transicin entre color

Por defecto cuando los colores se despliegan en secuencia, se hace un color detrs de otro sin ningn tipo de transicin. Este comportamiento puede modificarse agregando una transicin no-cero entre colores. Los dos dgitos-hex acompaando este comando establece el rango al cual un color cambia al siguiente durante la transicin. La transicin completa depender de que tan diferentes son los colores. Los colores que tienen componentes RGB que difieren por mucho tomarn ms tiempo en su transicin que aquellos que estn mas cercanos. Este ejemplo es de un rojo cambiando a azul: SEROUT sio, baud, ["= R tCO B !"] INSTRUCCIONES DE SENSADO DE LUZ

Muestreo de salida del sensor de luz

Regresa

nnn

El ColorPAL incorpora un convertidor analgico digital de 10 bits para leer el voltaje de salida del sensor de luz TSL13T. Cuando el comando de muestreo se ejecuta toma una lectura y luego enva salidas como tres dgitos hexadecimales. Aqu se puede ver como tomar una lectura de un verde, restando la luz ambiental: Red VAR Word Grn VAR Word Blu VAR Word Amb VAR Word ... SEROUT sio, baud, ["= X s !"] SERIN sio, baud, [HEX3 Amb] SEROUT sio, baud, ["= G s !"] SERIN sio, baud, [HEX3 Grn] Grn = Grn Amb IMPORTANTE: Cuando muestrea colores con el LED encendido solo utilice colores puros, completamente saturados como R, G y B. La razn es porque la transicin usa modulacin de ancho de pulso para la diferentes coloraciones y el sensor no es lo suficientemente rpido para promediar lo que ve en el periodo PWM. Con colores puros el LED est encendido contantemente as que no genera un problema.

m Multi-Muestreo de colores RGB

Regresa

nnnnnnnnn

Esta funcin macro desarrolla una medicin de ambiente, luego hace mediciones individuales con el LED Rojo, Verde y Azul restando la luz de la lectura del ambiente de cada uno. Posteriormente enva 3 nmeros de 3 dgitos hexadecimales representando el ambiente corregido por ejemplo: Red VAR Word Grn VAR Word Blu VAR Word ... SEROUT sio, baud, ["= m !"] SERIN sio, baud, [HEX3 Red, HEX3 Grn, HEX3 Blu]

h l

Selecciona alta sensibilidad Selecciona baja sensibilidad

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 10

El ColorPAL normalmente referencia a la salida de escala completa del sensor de luz a +5V. Para situaciones de muy baja iluminacin esta salida puede referenciarse a 1.1V lo cual multiplica la sensibilidad en una proporcin mayor a 4.5. Esto no es recomendado para ambientes normales de iluminacin o cuando el LED interno se utiliza para iluminacin ya que esto ocasionara una saturacin por la luz ambiental o por el plstico del lente. Para condiciones de bajo ambiente con iluminacin de color externa se puede usar la alta sensibilidad. Como complemento, la baja sensibilidad puede usarse como instruccin de regreso a la activacin inicial. En el siguiente ejemplo se toma una muestra de alta sensibilidad, regresando a baja sensibilidad cuando termina: SEROUT sio, baud, ["= h s l!"] SERIN sio, baud, [HEX3 Value] FLUJO DEL PROGRAMA E INSTRUCCIONES DIVERSAS

pnn Pausa
El comando Pausa toma un argumento de dos dgitos hexadecimales y detiene la ejecucin por un tiempo aproximado igual a nn * 5ms. Un ejemplo que despliega amarillo, cyan y magenta cada uno por un sgudno y luego cambia a negro: SEROUT sio, baud, ["= Y pC8 C pC8 M pC8 t50 X !"]

(nn )

Comienza un ciclo de programa Termina el ciclo del programa

Este par de comandos define un ciclo en un programa. La instruccin de inicio toma un argumento de dos dgitos hexadecimales el cual dice cuantas veces se ejecutar el ciclo. Si este monto es 00 el ciclo se ejecuta indefinidamente. Los ciclos pueden anidarse. Aqu hay un ejemplo de cmo alterna entre rojo y verde 10 veces terminado con una transicin a Azul SEROUT sio, baud, ["= (0A R p64 G p64 ) t50 B !"]

>nn Llama a una subrutina en EEPROM


Los programas guardados con la instruccin directa #nn puede llamar a subrutinas desde un programa corriendo. El argumento de dos dgitos hexadecimales (00-3F) especifica la direccin EEPROM del programa. En este ejemplo el programa del ejemplo anterior se llama como una subrutina para que el azul del final cambie lentamente a negro: SEROUT sio, baud, ["= (0A R p64 G p64 ) t50 B #20"] PAUSE 100 SEROUT sio, baud, ["= >20 tFF X !"]

?nn Activa una desviacin aleatoria


Algunas veces es bueno mezclar un poco las cosas para algunos desplegados de color (por ejemplo luces intermitentes). El comando de desviacin aleatoria (?) permite hacer esto. El parmetro despus del signo de interrogacin se mantiene como el aleatorio desviado. Una vez establecido cualquier parmetro subsecuente para detener, tiempo de transicin, rgb-color e instrucciones de ciclos se afectaran aleatoriamente. Esto trabaja como sigue:
TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012 DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 11

1. Si el parmetro es par, se toma como mnimo, para lo cual un numero aleatorio entre 0 y (desviado - 1) se suma. La suma no puede ser mayor de FE 2. Si el parmetro es impar, se toma como un mximo para lo cual el aleatorio entre 0 y (desviado -1) se resta. La suma no puede ser menor d 01. Para apagar la funcin aleatorio solo ponga un ?00. En el siguiente ejemplo los colores aleatorios cambiaran juntos infinitamente: SEROUT sio, baud, ["= t40 (00 ?FF r000000 ?00 p11) !"] Hay algunos detalles por ver aqu: 1) El t40 no es aleatorio ya que ocurre antes de "?FF"; 2) El ciclo constante s mantiene en 00 porque se carga solo una vez, cuando el ciclo comienza y se coloco en la pila; y 3) el P11 no s aleatorio ya que ocurre despus de "?00" Debido a que este programa genera muchos colores no saturados (blancos) , es muy aburrido. Aqu hay un ejemplo que producir colores completamente saturados el final de cada transicin ya que cada componente siempre se detiene cerca de cero: SEROUT sio, baud, ["= t10 (00 ?FF (07 r808001) (07 r800180) (07 r018080) )!"]

Obtiene el numero de versin del firmware

La instruccin versin permite obtener el nmero de versin del firmware del ColorPAL. Los nmeros de las versiones son salidas de 2 dgitos hexadecimales, comenzando en 01 y se incrementar en uno por cada nueva versin. Los cambios de versin se espera que sean infrecuentes. El programa que sigue lee e imprime el numero de la versin actual: Version VAR Byte SEROUT sio, baud, ["= v !"] SERIN sio, baud, [HEX2 version] DEBUG "La versin actual es: ", DEC version, "."

"other" Caracter Miscelneo Echo

Regresa

"other"

Cualquier caracter ASCII no mencionado aqu ser almacenado y solo mencionado cuando el programa corre. Esto puede ser til para sincronizar el BASIC Stamp a una salida ColorPAL corriendo libre. Por ejemplo podra hacer que la EEPROM del ColorPAL sense y enve datos continuos de un color como: SEROUT sio, baud, ["= (00 $ m) #00"] Entonces su programa puede simplemente sincronizar en el "$" en la cadena de datos para alcanzar la secuencia siguiente de color: SERIN sio, baud, [WAIT("$"), HEX3 red, HEX3 grn, HEX3 blu] Asegrese de leer la nota importante en la seccin "Guardar programa a la EEPROM" que habla de los rangos de baud.

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

SENSOR DE COLOR Y LUZ Y GENERADOR DE COLOR PAL

PAGE 12

Limitaciones del Programa


El espacio disponible para pila de usuario en el ColorPAL est limitado por la RAM del micro y el espacio de EEPROM. El espacio disponible para almacenar programas es de 40 bytes. El monto de espacio requerido en el buffer para cada comando es 1 byte mas 1 byte por cada parmetro numrico de cada dos dgitos. El espacio disponible en EEPROM es 64 bytes incluyendo el byte al final que determina el nmero de la unidad. Los espacios no son apilados y no cuentan para la memoria ocupada por el programa. Una subrutina profunda o anidada incorrectamente puede causar apilamiento y utilizar el espacio en RAM. Cada llamada agrega un byte a la pila; cada ciclo 2 bytes. No hay un chequeo de error. Es responsabilidad del programador asegurarse que el programa est estructurado correctamente.

Programa de Igualamiento de Color


El sitio web de Parallax incluye un programa de igualamiento de color que se puede usar como demo en el ColorPAL. El archivo .zip incluye los ejecutables para PC un programa BASIC Stamp para el ColorPAL y un par de programas BASIC Stamp para el TCS3200-DB junto con alguna otra documentacin.

Esquemtico

TRADUCCION AL ESPAOL PUBLICADA: 04 MARZO 2012

DERECHOS RESERVADOS PARALLAX INC.

You might also like