rgb

20
©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. MANUAL DE MONTAGEM DE EXTRAS Bot’n Roll ONE

Upload: giomon1

Post on 26-Jun-2015

141 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: RGB

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda.

MANUAL DE MONTAGEM DE EXTRAS

Bot’n Roll ONE

Page 2: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 1

ÍNDICE

Manual de Montagem de Extras ................................................................................................................. 1

Índice ........................................................................................................................................................... 1

1. Seguidor de Linha ................................................................................................................................ 3

1.1 Montagem e Soldadura dos Componentes ....................................................................................... 3

1.2 Fixação do Seguidor de Linha............................................................................................................. 6

1.3 Ligação Eléctrica do Seguidor à Placa do Bot´n Roll ONE................................................................... 6

1.4 Código de Exemplo ............................................................................................................................ 7

2. LCD ....................................................................................................................................................... 8

2.1 Fixação do LCD ................................................................................................................................... 8

2.2 Ligação Eléctrica do LCD ao Bot´n Roll ONE ....................................................................................... 9

2.3 Comunicação I2C com o LCD .............................................................................................................. 9

2.3.1 Barramento I2C ........................................................................................................................... 9

2.3.2 Comandos de Controlo do LCD ................................................................................................... 9

2.3.3 Lista de Comandos do LCD ........................................................................................................ 10

2.4 Código Exemplo ............................................................................................................................... 10

3. Altifalante .......................................................................................................................................... 11

3.1 Fixação do Altifalante....................................................................................................................... 11

3.2 Ligação Eléctrica do Altifalante ao Bot´n Roll ONE .......................................................................... 11

3.3 Picaxe Tune Wizard .......................................................................................................................... 12

4. LED Muliticolor RGB ........................................................................................................................... 12

4.1 Componentes do kit LED Multicolor ................................................................................................ 13

4.2 Ligações Eléctricas dos LEDS Multicolores RGB ............................................................................... 13

4.3 Aplicação dos LEDs Multicolores no Bot’N Roll ONE ....................................................................... 13

4.4 Comunicação I2C com o LED RGB .................................................................................................... 14

5. Sensor de Cores RGB .......................................................................................................................... 15

5.1 Componentes do Kit Sensor de Cores RGB .............................................................................. 15

5.2 Fixação do Sensor de Cores RGB .............................................................................................. 15

Page 3: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 2

5.3 Ligação Eléctrica do Sensor de Cores RGB ao Bot’n Roll ONE .................................................. 16

5.4 Comunicação I2C Com o Sensor de Cores RGB ................................................................................ 17

Page 4: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda.

1. SEGUIDOR DE LINHA

O seguidor de linha possui 3 sensores de infravermelhos. U

sensores e envia a informação dos

peças separadas e tem de ser previamente montado e soldado. Estão incluídos todos os acessórios para

fixação e respectivos cabos de ligação à placa do Bot´n Roll ONE.

NOTA IMPORTANTE: Não retires os sensores de infravermelhos ST

Retira-os apenas quando forem necessário

emissores de infravermelhos EL-7L e p

1.1 MONTAGEM E SOLDADURA DOS

Conteúdo do Kit:

PCB Componentes electrónicos Acessórios de fixação Cabos de 4 pinos

Fig. 2: PCB do Seguidor de Linha

Extras

Soluções de Automação e Robótica, Lda.

3 sensores de infravermelhos. Um microcontrolador pré-programado

informação dos estados ao PICAXE 28X1 através de 3 saídas digitais. Este kit vem em

previamente montado e soldado. Estão incluídos todos os acessórios para

fixação e respectivos cabos de ligação à placa do Bot´n Roll ONE.

Fig. 1: Seguidor de Linha

Não retires os sensores de infravermelhos ST-7L que estão num

necessários para a montagem. Estes sensores são idênticos aos

7L e por isso deve-se ter o cuidado de não os misturar.

OLDADURA DOS COMPONENTES

Fig. 3: Conteúdo do kit seguidor

3

programado lê os 3

3 saídas digitais. Este kit vem em

previamente montado e soldado. Estão incluídos todos os acessórios para

7L que estão num saco separado.

Estes sensores são idênticos aos

se ter o cuidado de não os misturar.

: Conteúdo do kit seguidor de linha

Page 5: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 4

Em seguida apresentam-se os componentes para montagem no topo (do lado da serigrafia) do PCB

(Soldadura a efectuar no verso do PCB).

Material:

IC1, suporte de circuito integrado de 14 pinos e microcontrolador PIC16F876

R1, Resistência de 4K7

R2, Resistência de 12R

A1, Conjunto de resistências de 4K7 (472G )

A2, Conjunto de resistências de 1K (102G)

VR1, Potenciómetro de 100K

L1-3, LED 3mm amarelo

Procedimento:

1. Solda as duas resistências R1 (4K7) e R2 (12R) na posição

correspondente;

2. Solda o suporte de circuito integrado de 14 pinos IC1;

3. Solda os três LEDs amarelos L1-3 na posição correspondente,

certificando-te que o perno mais comprido é inserido no

orifício com a marcação “+”.

4. Solda os dois conjuntos de resistências A1 e A2 nas suas posições tendo em atenção que a marcação de um “ponto” no componente alinha com a marcação do ponto no PCB.

5. Solda o cabo com 2 condutores da seguinte forma: o condutor

vermelho solda na furação com a marcação 1 e o condutor

castanho solda no orifício 5;

6. O cabo com 3 condutores será soldado de acordo com a Fig. 6.

Solda o condutor amarelo no orifício 2, o laranja no 3 e o

vermelho no 4;

Fig. 4: Resistências e Suporte do IC

Fig. 5: Leds e Resistências

Fig. 6: Ligação de cabos

Page 6: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 5

7. Solda o potenciómetro em VR1 e coloca o

microcontrolador no suporte de circuito integrado de 14

pinos, de forma que o pino 1 fique direccionado para o

lado das resistências R1 e R2.

Componentes para montagem do PCB (Soldadura efectuada

no lado da serigrafia do PCB)

C1-3, Condensador 100nF

IR1-3, Emissor de Infravermelho de 3mm EL-7L

Q1-3, Receptor de Infravermelho de 3mm ST-7L

Solda os três condensadores C1-3 na posição correspondente.

Eles vão actuar como uma "parede" entre o emissor e receptor

de infravermelhos, garantindo que apenas a luz reflectida é

detectada;

Solda os três emissores de infravermelhos IR1-3 como indicado

na Fig. 9, certificando-te que o perno mais comprido é inserido

no orifício com a marcação “+”. Certifica-te também que os

emissores ficam colocados perpendicularmente ao PCB.

Solda, por fim, os três receptores de infravermelhos Q1-3 na

posição correspondente, certificando-te que o perno mais

comprido é inserido no orifício com a marcação “+”. Assegura-

te que os emissores ficam colocados perpendicularmente ao

PCB.

Fig. 7: Potenciómetro e Microcontrolador

Fig. 8: Condensadores

Fig. 9: Leds Emissores

Fig. 10: Leds Receptores

Fig. 11: Montagem final

Page 7: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 6

1.2 FIXAÇÃO DO SEGUIDOR DE LINHA

A fixação do seguidor de linha no Bot´n Roll ONE é efectuada

através de 2 orifícios na placa de acrílico, com furação de 3mm.

(Ver ANEXO B do Manual Bot´n Roll ONE.)

Para a colocação do seguidor de linha são fornecidos dois

conjuntos de espaçadores de nylon (Fig. 12).

Cada conjunto perfaz um comprimento de 36mm e terá que ser

colocado como indicado na Fig. 13.

Fixa o seguidor de linha ao Bot´n Roll ONE usando os espaçadores

e os parafusos de nylon.

1.3 LIGAÇÃO ELÉCTRICA DO SEGUIDOR À PLACA DO BOT´N ROLL ONE

Passa os cabos do seguidor de linha pela placa de acrílico como

exemplificado na Fig. 14.

Liga o cabo com 3 condutores ao Bot´n Roll ONE no conector

com a marcação “JP1” e o cabo com 2 condutores ao conector

com marcação “JP5”.

ATENÇÃO: Executa sempre a ligação eléctrica com o Bot´n Roll

ONE desligado!

Fig. 12: Suportes

Fig. 13: Fixação do seguidor de linha

Fig. 14: Ligação ao Bot’n Roll ONE

Page 8: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 7

1.4 CÓDIGO DE EXEMPLO

'segueLinha.bas symbol IR_ESQ = b0 'cria a variável IR_ESQ no endereço interno b0 symbol IR_DIR = b1 'cria a variável IR_DIR no endereço interno b1 symbol IR_CEN = b2 'cria a variável IR_DIR no endereço interno b2 main: gosub linha if IR_ESQ = 0 AND IR_DIR = 0 AND IR_CEN = 1 then gosub FRENTE endif if IR_DIR = 1 AND IR_ESQ = 0 then gosub DIREITA endif if IR_DIR = 0 AND IR_ESQ = 1 then gosub ESQUERDA endif if IR_ESQ = 0 AND IR_DIR = 0 AND IR_CEN = 0 then gosub PARA endif if IR_ESQ = 1 AND IR_DIR = 1 AND IR_CEN = 1 then gosub PARA endif let IR_DIR=0 let IR_ESQ=0 let IR_CEN=0 goto main linha: if porta pin0 = 1 then let IR_ESQ=1 ‘ Verifica se o sensor da Esquerda está activo endif if porta pin1 = 1 then let IR_CEN=1 ‘ Verifica se o sensor do centro está activo endif if porta pin2 = 1 then let IR_DIR=1 ‘ Verifica se o sensor da Direita está activo endif return FRENTE: ‘ Rotina que faz andar o Bot´n Roll ONE em frente let pins = %00000101 pwmout 2 , 49, 200 pwmout 1 , 49, 200 return ESQUERDA: ‘ Rotina que faz virar o Bot´n Roll ONE à esquerda let pins = %00000110 pwmout 2 , 49, 150 pwmout 1 , 49, 150 return DIREITA: ‘ Rotina que faz virar o Bot´n Roll ONE à direita let pins = %00001001 pwmout 2 , 49, 150 pwmout 1 , 49, 150 return PARA: ‘ Rotina que faz parar o Bot´n Roll ONE let pins = %00000000 pwmout 2,49,0 pwmout 1,49,0 return

Page 9: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 8

2. LCD

O LCD03 é um LCD de 4 linhas, com 20 caracteres por linha e comunicação I2C. A ligação com o Bot´n

Roll ONE é feita através do barramento I2C. Com este LCD terás um interface para comunicação com o

exterior. Podes imprimir mensagens para o utilizador como por exemplo, estados do programa ou o

valor de variáveis.

Este LCD contém todos os acessórios para fixação e o respectivo cabo de ligação à placa do Bot´n Roll

ONE.

2.1 FIXAÇÃO DO LCD

Para o suporte do LCD são fornecidos 4 conjuntos de

espaçadores de nylon de 36mm (Fig. 16).

Fixa os espaçadores na base de acrílico como exemplificado

na Fig. 17. Existem 4 orifícios de 3mm na placa de acrílico

para a inserção dos espaçadores (Ver ANEXO B do Manual

Bot´n Roll ONE).

Aplica o LCD no Bot’n Roll ONE usando os espaçadores e os

parafusos de nylon (Fig. 18).

Fig. 15: Dysplay LCD

Fig. 16: Material para suporte do LCD

Fig. 17: Suportes LCD

Fig. 18: Aplicação do LCD no Bot’n Roll ONE

Page 10: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 9

2.2 LIGAÇÃO ELÉCTRICA DO LCD AO BOT´N ROLL ONE

A ligação eléctrica é efectuada através de um cabo de 4

condutores e respectivos conectores.

Um dos conectores ligará na Placa Expansora do

Barramento I2C do Bot´n Roll ONE, onde a serigrafia

indica “LCD”(Fig. 19).

Liga o outro conector ao LCD com a disposição

apresentada na Fig. 20.

2.3 COMUNICAÇÃO I2C COM O LCD

2.3.1 BARRAMENTO I2C

O LCD é colocado no barramento I2C com o endereço 0XC6.

2.3.2 COMANDOS DE CONTROLO DO LCD

O LCD03 tem quatro registos, três dos quais são apenas registos de leitura de informação. O registo 0

tem dupla funcionalidade, quando é para escrita, é o registo de comando onde todas as instruções da

secção de comandos poderão ser enviadas. Quando é de leitura retorna o número de bytes livres no

buffer FIFO.

Fig. 20: Conexão no LCD

Fig. 19: Conecção à Placa Expansora do Barramento I2C

Page 11: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 10

2.3.3 LISTA DE COMANDOS DO LCD

Nota: Para mais informação sobre o display LCD03 consulta o manual em anexo (LCD03.pdf).

2.4 CÓDIGO EXEMPLO

‘LCD03.bas init: pause 2000 ‘espera necessária para inicialização do LCD i2cslave %11000110,i2cslow,i2cbyte ‘configuração do i2cslave para o LCD main: writei2c (0,12,4) ‘comando que apaga a informacao do LCD pause 100 writei2c (0,2,24) ‘coloca o cursor na posicao 24 do LCD writei2c (0,"Bot`n Roll ONE") ‘impressao do "Bot`n Roll ONE" no LCD pisca: writei2c (0,19) ‘liga a luz de fundo do LCD pause 500 writei2c (0,20) ‘desliga a luz de fundo do LCD pause 500 goto pisca end

Page 12: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 11

3. ALTIFALANTE

Equipado com um Altifalante, o Bot’n Roll ONE consegue emitir

sons para o exterior e desta forma aumentar a sua interacção com

o mundo.

Poderás verificar no Altifalante fornecido, as suas especificações

técnicas. Neste exemplo, o Altifalante tem uma impedância de 8

Ohms e uma potência de 2 W.

3.1 FIXAÇÃO DO ALTIFALANTE

Para fixares o Altifalante usa o velcro fornecido no kit que permitirá a sua colocação em qualquer parte

da estrutura do Bot’N Roll ONE.

3.2 LIGAÇÃO ELÉCTRICA DO ALTIFALANTE AO BOT´N ROLL ONE

O Altifalante possui um cabo de ligação e respectivo conector de

cinco pinos, que deverá ser ligado ao Bot’n Roll ONE no conector

identificado como “JP2”.

Fig. 22 Ligação do Altifalante

Fig. 21 Altifalante

Page 13: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda.

3.3 PICAXE TUNE WIZARD

O "Picaxe Tune Wizard" é uma ferramenta do "

facilmente as melodias ou sinais de aviso. Para aceder a esta ferramenta clica em

Ring Tone Tunes. Aparece então a janela do Editor.

Para uma correcta configuração do altifalante terás de seleccionar o Out

Seguidamente defines o tempo da música em batid

tendo em conta a sua duração e a oitava. Para ouvires a tua criação musical clicas em Play e não te

esqueças de ir guardando o teu trabalho para um ficheiro clicando em

a composição deverás adicioná-

Copy no "Tune Wizard". O código gerado será colocado no local do programa onde estiver o cursor.

4. LED MULITICOLOR RGB

O par de LEDs Multicolores vão “colorir”

configurar os leds de forma independente. Cada um tem uma resolução RGB de 24 bits, ou seja, pode

apresentar 16.777.216 cores diferentes! O LED Multicolor tem diferentes modos de funcionamento.

Podes, por exemplo, configurar mu

cores, com um tempo definido por ti.

Podes também programar o LED com uma sequência de cores para ele executar repetidamente.

Nunca olhes directamente para um led

problemas de visão permanentes

Extras

Soluções de Automação e Robótica, Lda.

" é uma ferramenta do "Picaxe Programming Editor" que te permitirá compôr

facilmente as melodias ou sinais de aviso. Para aceder a esta ferramenta clica em PICAXE

. Aparece então a janela do Editor.

Fig. 23: “Picaxe Tune Wizard”

Para uma correcta configuração do altifalante terás de seleccionar o Output 4 no "PICAXE Tune Wizard

Seguidamente defines o tempo da música em batidas por minuto (BPM) e adicionas as notas no editor,

tendo em conta a sua duração e a oitava. Para ouvires a tua criação musical clicas em Play e não te

esqueças de ir guardando o teu trabalho para um ficheiro clicando em File->Save. Assim que terminares

-la na programação do teu Bot´N Roll ONE e para isso basta clicar em

O código gerado será colocado no local do programa onde estiver o cursor.

LED MULITICOLOR RGB

par de LEDs Multicolores vão “colorir” o teu Bot´n Roll ONE. Usando comunicação I2C podes

configurar os leds de forma independente. Cada um tem uma resolução RGB de 24 bits, ou seja, pode

apresentar 16.777.216 cores diferentes! O LED Multicolor tem diferentes modos de funcionamento.

exemplo, configurar mudanças instantâneas de cor ou aplicar um efeito de transição entre

cores, com um tempo definido por ti.

Podes também programar o LED com uma sequência de cores para ele executar repetidamente.

Nunca olhes directamente para um led a uma distância curta pois pode ferir a retina e causar

permanentes.

12

" que te permitirá compôr

PICAXE -> Wizards ->

PICAXE Tune Wizard".

as por minuto (BPM) e adicionas as notas no editor,

tendo em conta a sua duração e a oitava. Para ouvires a tua criação musical clicas em Play e não te

. Assim que terminares

la na programação do teu Bot´N Roll ONE e para isso basta clicar em

O código gerado será colocado no local do programa onde estiver o cursor.

o teu Bot´n Roll ONE. Usando comunicação I2C podes

configurar os leds de forma independente. Cada um tem uma resolução RGB de 24 bits, ou seja, pode

apresentar 16.777.216 cores diferentes! O LED Multicolor tem diferentes modos de funcionamento.

danças instantâneas de cor ou aplicar um efeito de transição entre

Podes também programar o LED com uma sequência de cores para ele executar repetidamente.

a uma distância curta pois pode ferir a retina e causar

Page 14: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 13

4.1 COMPONENTES DO KIT LED MULTICOLOR

O Kit LED Multicolor é composto pelos seguintes items:

2 LEDs Multicolores

2 Cabos de 4 condutores

2 Abraçadeiras de serrilha

4.2 LIGAÇÕES ELÉCTRICAS DOS LEDS MULTICOLORES RGB

Ligações eléctricas dos LEDs Multicolores

Para ligar os LEDs Multicolores deves:

1. Encaixar cada LED Multicolor numa extremidade de cada cabo

como indicado na Fig. 25.

2. A outra extremidade de cada cabo conecta à Placa Expansora

do Barramento I2C nas ligações “RGB1” e “RGB2” (Fig. 26).

4.3 APLICAÇÃO DOS LEDS MULTICOLORES NO BOT’N ROLL ONE

Aplica os LEDs Multicolores no teu Bot’N Roll

ONE onde achares mais conveniente. Neste caso

foram usadas as abraçadeiras de serrilha para

colocar os LEDs no suporte do LCD.

Fig. 27: Bot’n Roll ONE com LEDs Multicolores

Fig. 24 Componentes Leds RGB

Fig. 26 Ligação dos LEDs RGB ao Bot’n Roll ONE

Fig. 25: Inserção do LED RGB no cabo

Page 15: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 14

4.4 COMUNICAÇÃO I2C COM O LED RGB

Por defeito, todos os LEDs Multicolores vêm de fábrica com o endereço $09 (0x09 em notação

hexadecimal). Para poderes controlar os LEDs de forma independente, é necessário alterar o endereço

de um deles. Para isso terás que colocar um só LED no barramento I2C e executar o código de exemplo

“changeLEDAddress.bas”, no Picaxe Programming Editor. Na segunda linha do programa colocas o novo

endereço a atribuir ao teu LED RGB.

'changeLEDAddress.bas 'programa para mudar endereço I2C do LED Multicolor symbol enderecoNovo=80 ' define o novo endereço a ser atribuído ao LED symbol enderecoSlave=enderecoNovo<<1 'faz um shift para a esquerda do enderecoNovo init: pause 1000 'pausa necessária para inicialização do LED Multicolor main: i2cslave 1,i2cslow,i2cbyte 'define endereço de broadcast writei2c ("o") 'pára a sequência do LED pause 200 'pausa de 200ms writei2c ("A",enderecoNovo,$d0,$0d,enderecoNovo) 'muda para endereço $9 pause 200 'pausa de 200ms i2cslave enderecoSlave,i2cslow,i2cbyte ' configuração do i2cslave para o LED pause 100 'pausa de 100ms pisca: gosub red 'chama a rotina muda a cor do LED RGB para vermelho gosub green 'chama a rotina muda a cor do LED RGB para verde gosub blue 'chama a rotina muda a cor do LED RGB para azul gosub black 'chama a rotina muda a cor do LED RGB para Apagado gosub white 'chama a rotina muda a cor do LED RGB para banco goto pisca 'volta para "pisca" end red: writei2c ("n",255,0,0) 'coloca o Led com a cor vermelha pause 300 'pausa de 300ms return 'devolve o fluxo do programa ao local onde a subrotina foi chamada green:writei2c ("n",0,255,0) 'coloca o Led com a cor verde pause 300 'pausa de 300ms return 'devolve o fluxo do programa ao local onde a subrotina foi chamada blue: writei2c ("n",0,0,255) 'coloca o Led com a cor azul pause 300 'pausa de 300ms return 'devolve o fluxo do programa ao local onde a subrotina foi chamada white:writei2c ("n",255,255,255) 'coloca o Led com a cor branca pause 300 'pausa de 300ms return 'devolve o fluxo do programa ao local onde a subrotina foi chamada black:writei2c ("n",0,0,0) 'coloca o Led apagado pause 300 'pausa de 300ms return

No final do programa o LED deve piscar com várias cores.

Consulta o manual BlinkM.pdf para veres todos os comandos disponíveis além dos já apresentados no

programa.

Bom Trabalho!

Page 16: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 15

5. SENSOR DE CORES RGB

Este extra consiste num sensor de cores RGB de 10 bits e de quatro canais. Tendo quatro canais, o

sensor consegue decompor uma determinada cor nas três cores primárias (vermelho, verde e azul),

registando também a intensidade da luz incidente.

A resolução de cada canal é de 10 bits, isto é, para cada

cor primária e intensidade de luz de uma leitura do

sensor, obtêm-se valores que variam entre 0 e 1023.

Este sensor mede intensidades de luz entre 100 lux e

100000 lux e adapta-se facilmente a ambientes de

iluminação diferentes bastando para isso um ajuste dos

valores de configuração do sensor no software.

Este sensor possui iluminação própria através de um

LED de cor branca. É muito preciso e fiável, conseguindo

identificar pequenas diferenças entre cores.

A comunicação com o Bot’n Roll ONE é efectuada pelo barramento I2C.

5.1 COMPONENTES DO KIT SENSOR DE CORES RGB

O Kit Sensor RGB é composto pelos seguintes itens:

1 Sensor RGB;

1 Cabo com 4 condutores;

4 Espaçadores de nylon;

4 Parafusos de nylon;

5.2 FIXAÇÃO DO SENSOR DE CORES RGB

A fixação do sensor RGB no Bot´n Roll ONE é

efectuada através de 2 orifícios na placa de acrílico,

com furação de 3mm. (Ver ANEXO B do Manual

Bot´n Roll ONE.)

Para a colocação do sensor RGB são fornecidos dois

conjuntos de espaçadores de nylon (Fig. 30).

Cada conjunto perfaz um comprimento de 38mm e

terá que ser colocado como indicado na Fig. 30.

Fig. 28: Sensor RGB

Fig. 29: Material constituinte do kit Sensor RGB

Fig. 30: Suportes do Sensor RGB

Page 17: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 16

Fixa o sensor RGB ao Bot´n Roll ONE através dos

espaçadores de 38mm usando os parafusos de nylon

(Fig. 31).

O sensor RGB está a 2mm do chão o que permite uma

correcta amostragem das cores.

No caso usares o sensor RGB em conjunto com o

Seguidor de Linha, fixa o sensor RGB aos espaçadores do

Seguidor de Linha. Como estes espaçadores são de

36mm permitem manter a distância óptima de 2mm ao

chão para a amostragem das cores.

Na figura Fig. 32 vês como fixar os dois sensores para serem usados em conjunto. Nota que o sensor RGB

fica por baixo (mais perto do chão) do Seguidor de Linha.

5.3 LIGAÇÃO ELÉCTRICA DO SENSOR DE CORES RGB AO BOT’N ROLL ONE

Insere no sensor RGB uma extremidade do cabo

fornecido e passa-o através da placa de acrílico,

como indicado na Fig. 33.

Insere a outra extremidade do cabo na Placa

Expansora do Barramento I2C em “C+D-“ como

indicado na Fig. 34.

Fig. 31: Fixação do sensor RGB ao espaçador

Fig. 32: Sensor RGB usado em conjunto com o Seguidor de Linha

Fig. 33: Ligação eléctrica do sensor RGB

Fig. 34: Ligação do sensor RGB na Placa Expansora

Page 18: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 17

5.4 COMUNICAÇÃO I2C COM O SENSOR DE CORES RGB

Usando o I2C consegues efectuar leituras e configurar o teu Sensor de Cores RGB.

Para enviar comandos de configuração e iniciar uma leitura usa o endereço I2C $E8 (notação

hexadecimal). Para aceder aos registos com o resultado de uma leitura/conversão usa o endereço $E9.

Este sensor possui registos de configuração que devem ser ajustados para efectuares uma leitura com

precisão. Estes registos são um condensador e um tempo de integração que devem ser alterados de

forma que, para cada canal, obtenhas valores de leitura que variem entre 0(preto) e 1000(branco).

O valor do condensador é configurado alterando o seu valor entre 0 e 15 (notação decimal).

Aumentando o valor do condensador terás valores de leitura mais baixos.

O tempo de integração corresponde a uma variável de 12bits, 8 LOW bits + 4 HIGH bits. Aumentando o

tempo de integração terás valores de leitura mais altos.

Com estas opções de configuração, facilmente adaptas as tuas leituras às mudanças de intensidade de

luz que acontecem frequentemente.

O código que se segue efectua a

configuração do sensor (uma só vez

no início do programa). De seguida e

de forma repetitiva, efectua leituras

de côr. Aparecerá a janela de

“Debug” do Picaxe Programming

Editor que mostra os valores obtidos

para cada canal. Estes valores são

actualizados a cada leitura e são os

valores das variáveis usadas no

programa.

O programa também envia cada

leitura, para um LED RGB que possua

o endereço $A0. Os valores de 10 bits

do Sensor RGB são previamente

convertidos para valores de 8 bits

usados pelo LED.

Analisando o código seguinte vais perceber como efectuar as configurações do sensor assim como obter

leituras de côr. Este programa encontra-se nos programas exemplo de que acompanham o manual.

Bom trabalho!

Fig. 35 Janela de Debug do Picaxe Programming Editor

Page 19: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 18

'*********** Definição dos Endereços I2C a usar no programa *********** symbol write_add = $E8 'Endereço para escritas no Sensor RGB symbol read_add = $E9 'Endereço para leituras do Sensor RGB symbol led_add = $A0 'Endereço para escritas no LED RGB '*********** Definição dos registos de configuração do Sensor RGB *********** symbol CAP_RED = $6 'Ajuste do ganho do sensor - Valor do condensador 0 a 15 (Decimal) symbol CAP_GREEN = $7 'Ajuste do ganho do sensor - Valor do condensador 0 a 15 (Decimal) symbol CAP_BLUE = $8 'Ajuste do ganho do sensor - Valor do condensador 0 a 15 (Decimal) symbol CAP_CLEAR = $9 'Ajuste do ganho do sensor symbol INT_RED_LO = $A 'Ajuste do ganho do sensor - Tempo de integração 8 bits symbol INT_RED_HI = $B 'Ajuste do ganho do sensor - Tempo de integração 4 bits 0 a 4095 (Decimal) symbol INT_GREEN_LO = $C 'Ajuste do ganho do sensor - Tempo de integração 8 bits symbol INT_GREEN_HI = $D 'Ajuste do ganho do sensor - Tempo de integração 4 bits 0 a 4095 (Decimal) symbol INT_BLUE_LO = $E 'Ajuste do ganho do sensor - Tempo de integração 8 bits symbol INT_BLUE_HI = $F 'Ajuste do ganho do sensor - Tempo de integração 4 bits 0 a 4095 (Decimal) symbol INT_CLEAR_LO = $10 'Ajuste do ganho do sensor - Tempo de integração 8 bits symbol INT_CLEAR_HI = $11 'Ajuste do ganho do sensor - Tempo de integração 4 bits 0 a 4095 (Decimal) '*********** Definição dos registos para leitura da cor *********** symbol CTRL = $0 'Registo de controlo symbol DATA_RED_LO = $40 'Côr - 8 bits symbol DATA_RED_HI = $41 'Côr - 2 bits 0 a 1023 (Decimal) symbol DATA_GREEN_LO = $42 'Côr - 8 bits symbol DATA_GREEN_HI = $43 'Côr - 2 bits 0 a 1023 (Decimal) symbol DATA_BLUE_LO = $44 'Côr - 8 bits symbol DATA_BLUE_HI = $45 'Côr - 2 bits 0 a 1023 (Decimal) symbol DATA_CLEAR_LO = $46 'Côr - 8 bits symbol DATA_CLEAR_HI = $47 'Côr - 2 bits 0 a 1023 (Decimal) symbol OFFSET_RED = $48 'Offset da côr symbol OFFSET_GREEN = $49 'Offset da côr symbol OFFSET_BLUE = $4A 'Offset da côr symbol OFFSET_CLEAR = $4B 'Offset da côr '*********** Declaração de variáveis ********************** symbol VERMELHO = w3 'Variável de recepção do i2c ->b6:b7 symbol VERDE = w4 'Variável de recepção do i2c ->b8:b9 symbol AZUL = w5 'Variável de recepção do i2c ->b10:b11 symbol LUMIN = w6 'Variável de recepção do i2c ->b12:b13 symbol RED_LED = b3 'Armazena cor vermelha para o LED RGB symbol GREEN_LED = b14 'Armazena cor verde para o LED RGB symbol BLUE_LED = b15 'Armazena cor azul para o LED RGB main: ‘Rotina inicial do programa gosub cfg_sensor 'Calibração dos parâmetros de conversão do Sensor RGB gosub cfg_led 'Inicialização do LED RGB gosub ler_cfg 'Verificação dos valores de configuração introduzidos goto loop_ 'Salta para a rotina que lê a cor do Sensor e escreve no LED loop_: 'Leitura do Sensor RGB e escrita no LED. gosub leitura_cor 'O Sensor RGB efectua a leitura de uma côr gosub converte_cor 'Converter a côr lida de 10 bits para 8 bits gosub escreve_led 'Envia o valor de 8 bits da côr para o LED RGB goto loop_ cfg_sensor:'Configura o valor de um condensador virtual e um tempo de integração i2cslave write_add,i2cslow,i2cbyte 'i2cslave para escrita no Sensor RGB pauseus 1 writei2c(CAP_RED,5) 'Ajuste do valor do condensador para a cor vermelha writei2c(CAP_GREEN,5) 'Ajuste do valor do condensador para a cor verde writei2c(CAP_BLUE,2) 'Ajuste do valor do condensador para a cor azul writei2c(CAP_CLEAR,12) 'Ajuste do valor do cond. para a intensidade de luz writei2c(INT_RED_LO,$D8) 'LOW byte do tempo de integração para a cor vermelha writei2c(INT_RED_HI,$0E) 'HIGH byte do tempo de integração para a cor vermelha writei2c(INT_GREEN_LO,$D8) 'LOW byte do tempo de integração para a cor verde writei2c(INT_GREEN_HI,$0E) 'HIGH byte do tempo de integração para a cor verde writei2c(INT_BLUE_LO,$A0) 'LOW byte do tempo de integração para a cor azul writei2c(INT_BLUE_HI,$0F) 'HIGH byte do tempo de integração para a cor azul writei2c(INT_CLEAR_LO,$00) 'LOW byte do tempo de integ. da intensidade de luz writei2c(INT_CLEAR_HI,$0C) 'HIGH byte do tempo de integ. da intensidade de luz return cfg_led: 'Inicialização do LED RGB i2cslave led_add,i2cslow,i2cbyte ' configuração do i2cslave para o LED RGB2 writei2c ("f",150) 'comando que define a velocidade de transição de côr (Fade) writei2c ("o") 'Termina a leitura da sequência programada no LED RGB

Page 20: RGB

Manual de Montagem de Extras

©Copyright 2010, SAR - Soluções de Automação e Robótica, Lda. 19

return ler_cfg: 'Leitura e apresentação dos valores de configuração introduzidos no Sensor RGB i2cslave read_add,i2cslow,i2cbyte ' configuração do i2cslave para o Sensor RGB pauseus 1 writei2c(CAP_RED) 'Valor do condensador da côr vermelha i2cread(b16) 'Armazena o valor na variavel do PICAXE b16 writei2c(CAP_GREEN) 'Valor do condensador da côr verde i2cread(b17) 'Armazena o valor na variavel do PICAXE b17 writei2c(CAP_BLUE) 'Valor do condensador da côr azul i2cread(b18) 'Armazena o valor na variavel do PICAXE b18 writei2c(CAP_CLEAR) 'Valor do condensador da intensidade da luz i2cread(b19) 'Armazena o valor na variavel do PICAXE b19 writei2c(INT_RED_LO) 'Valor do tempo de integração LOW byte vermelho i2cread(b20) 'Armazena o valor na variavel do PICAXE b20 writei2c(INT_RED_HI) 'Valor do tempo de integração HIGH byte vermelho i2cread(b21) 'Armazena o valor na variavel do PICAXE b21 writei2c(INT_GREEN_LO) 'Valor do tempo de integração LOW byte verde i2cread(b22) 'Armazena o valor na variavel do PICAXE b22 writei2c(INT_GREEN_HI) 'Valor do tempo de integração HIGH byte verde i2cread(b23) 'Armazena o valor na variavel do PICAXE b23 writei2c(INT_BLUE_LO) 'Valor do tempo de integração LOW byte azul i2cread(b24) 'Armazena o valor na variavel do PICAXE b24 writei2c(INT_BLUE_HI) 'Valor do tempo de integração HIGH byte azul i2cread(b25) 'Armazena o valor na variavel do PICAXE b25 writei2c(INT_CLEAR_LO) 'Valor do tempo de integração LOW byte int. luz i2cread(b26) 'Armazena o valor na variavel do PICAXE b26 writei2c(INT_CLEAR_HI) 'Valor do tempo de integração HIGH byte int. luz i2cread(b27) 'Armazena o valor na variavel do PICAXE b27 gosub debug_t 'Actualiza a janela de DEBUG do Picaxe Programming Editor return leitura_cor: 'O sensor RGB efectua a leitura de uma côr i2cslave write_add,i2cslow,i2cbyte 'Configuração do i2cslave para escrita no Sensor RGB pauseus 1 writei2c(CTRL,$1) 'Faz a amostragem da côr e inicia a conversão pause 100 'Espera de 100ms para que a conversão da amostra termine i2cslave read_add,i2cslow,i2cbyte 'Configuração do i2cslave para o Sensor RGB pauseus 1 writei2c(DATA_RED_LO) 'Pedido de leitura do LOW byte da cor vermelha i2cread(b6) 'Leitura devolvida pelo sensor e guardada no LOW byte da WORD 3 writei2c(DATA_RED_HI) 'Pedido de leitura do HIGH byte da cor vermelha i2cread(b7) 'Leitura devolvida pelo sensor e guardada no HIGH byte da WORD 3 writei2c(DATA_GREEN_LO) 'Pedido de leitura do LOW byte da cor verde i2cread(b8) 'Leitura devolvida pelo sensor e guardada no LOW byte da WORD 4 writei2c(DATA_GREEN_HI) 'Pedido de leitura do HIGH byte da cor verde i2cread(b9) 'Leitura devolvida pelo sensor e guardada no HIGH byte da WORD 4 writei2c(DATA_BLUE_LO) 'Pedido de leitura do LOW byte da cor azul i2cread(b10) 'Leitura devolvida pelo sensor e guardada no LOW byte da WORD 5 writei2c(DATA_BLUE_HI) 'Pedido de leitura do HIGH byte da cor azul i2cread(b11) 'Leitura devolvida pelo sensor e guardada no HIGH byte da WORD 5 writei2c(DATA_CLEAR_LO) 'Pedido de leitura do LOW byte da intensid. de luz i2cread(b12) 'Leitura devolvida pelo sensor e guardada no LOW byte da WORD 6 writei2c(DATA_CLEAR_HI) 'Pedido de leitura do HIGH byte da intensid. de luz i2cread(b13) 'Leitura devolvida pelo sensor e guardada no HIGH byte da WORD 6 gosub debug_t 'Actualiza a janela de DEBUG do Picaxe Programming Editor return converte_cor: RED_LED=VERMELHO*1/4 'Converte a cor vermelha de 10bits para 8bits GREEN_LED=VERDE*1/4 'Converte a cor verde de 10bits para 8bits BLUE_LED=AZUL*1/4 'Converte a cor azul de 10bits para 8bits return escreve_led: i2cslave led_add,i2cslow,i2cbyte ' configuração do i2cslave para o LED RGB writei2c ("n",RED_LED,GREEN_LED,BLUE_LED) 'Envia a cor lida para o LED RGB return debug_t: low 0 ' reset 0 to correct condition pause 250 ' wait a while debug ' display values on computer screen return