Quarta-feira, 20 de Fevereiro de 2008

Biblioteca de prototipagem rápida de interfaces tangíveis - CERIALCOME



Descrição
O objectivo deste projecto consiste em dotar o ambiente de desenvolvimento do Director Mx da possibilidade de ligação rápida aos interfaces físicos e aos sensores electrónicos sem que seja necessáriom recorrer à programação. Foi desenvolvido, tendo em mente, a importante comunidade de artistas e designers que conhecem e utilizam com frequência o Director, como uma ferramenta visual de produção de conteúdos multimédia, mas que não têm competências ao nível da programação.
Os sensores e os dispositivos de interface físicos oferecidos pela electrónica são um instrumento valiosos para o desenvolvimento de instalações de arte digital ou de artefactos de comunicação visual como são o exemplo dos quiosques e das montras interactivas. A presente biblioteca pretende facilitar a prototipagem de soluções ao nível da interacção, abstraindo a camada técnica da programação que, regra geral, se traduz num obstáculo afastando a comunidade de artístas e designers da exploração tecnológica. Durante a presente década, temos vindo a assistir a um visível esforço no sentido de aproximar o público menos especialista, ao nível da programação e da electrónica. Exemplo dessa tendência são os casos da comunidade open-source ARDUINO, que nasceu na Itália, da companhia americana PARALAXE, que comercializa os micro-controladores STAMP ou da empresa do Reino Unido que disponibiliza a linha PICAXE.
Após a sua instalação, surge no painel Library um conjunto de novas funcionalidades, passíveis de serem directamente arrastadas para cima de qualquer sprite na Timeline ou no Stage.
Qualquer sensor analógico (potenciómetro, foto-diôdo, sonar, acelerómetro ... ) comunica com a biblioteca a partir de uma placa micro-controlada (Picaxe, Arduino, Stamp ...) pela porta série. A presente versão foi testada apenas para as gamas de placas PICAXE.

Requisitos
- Sistema operativo Win32 (brevemente também para mac).
- Placa Picaxe (qualquer versão).
- Porta Série.
Todavia, a biblioteca é compativel com qualquer placa microcontrolada que se lique ao PC por Porta Série ou por BlueTooth). Brevemente será disponibilizado o firmware para Arduino Bluetooth e Arduino Diecimila.


Instalação
1- Copiar o ficheiro CERIALCOMEXtra.x32 para a directoria de xtras onde se encontra instalado o Director. A localização típica é:
C:\Programas\Macromedia\Director MX 2004\Configuration\Xtras\Scripting
download [guardar como]

2- Copiar o ficheiro CERIALCOME.CST para a directoria de libs onde se encontra instalado o Director. A localização típica é:
C:\Programas\Macromedia\Director MX 2004\Configuration\Libs
download [guardar como]

3- Inserir o seguinte firmware na placa PICAXE com o valor de 4MHZ na janela de opções.

main:
    readadc 1,b1
    sertxd(#b1,0)
goto main

A partir do site da PICAXE encontramos toda a documentação necessária para instalar o software no sistema operativo.



Funcionamento
Após concluída a instalação, a sua utilização é simples e directa.

1- ligue um componente analógico à placa PICAXE, como por exemplo um potenciómetro.
O potenciómetro tem 3 terminais, o que se encontra ao centro liga-se ao pino nº1 da Placa, os restantes dois terminais das duas extremidades ligam-se ao pino V e ao pino G (a ordem afecta apenas o sentido da acção).

2- Abra um novo documento no Director.

3- Localize a Biblioteca CERIALCOME e arraste o Behavior INIT para o Cast do projecto.

4- Crie uma sprite (shape, texto ou imagem).

5- Arraste um ou vários Behaviors da biblioteca sobre o sprite.

nota: a comunicação com a placa é realizada por omissão na porta nº 1 e a uma velocidade de transmissão de 4800 baudrate. Estes parâmetros podem ser modificados no Movie Script INIT.

imagem da biblioteca no painel Library


Funcionalidades
A primeira versão da biblioteca CERIALCOME contém apenas as acções mais usadas. Nas próximas versões serão acrescentadas novas funcionalidades.

INIT
Script que suporta os Behaviors da biblioteca. É necessário colocá-lo no Cast do projecto.

CONTRASTE COR FIGURA
Este Behavior é arrastado sobre o sprite que pretendemos controlar a propriedade de luminância numa escala de cinzentos.

LOOP SPRITE
Aplica-se ao sprite de forma a que o valor analógico desloque a cabeça de leitura ao longo da sua duração no Score permitindo controlar a animação.

ROTAÇÃO SPRITE
Aplica-se sobre o Sprite e controla a sua rotação. Admite definir uma gama de rotação entre um valor mínimo e máximo.

OPACIDADE SPRITE
Semelhante ao Behavior que controla a luminosidade, mas neste caso é o valor da opacidade que é modificado.

ESCALA SPRITE
Modifica as propriedades de largura e altura do Sprite proporcionalmente.

GO FRAME PLUS 1 LIMIAR
Arrasta-se para o canal de FrameScript. Pára a cabeça de leitura e espera que o valor do sensor seja maior ou menor que um limiar ajustável, nesse caso, avança para a próxima frame que possui uma etiqueta (label), permitindo controlar a navegação ao longo do filme.

A fazer
Mais acções, sobretudo de navegação.

tags:
publicado por nop às 22:55
link do post | comentar | favorito
|
Quarta-feira, 6 de Fevereiro de 2008

Cerial Come - porta série no Director



O Xtra CerialCome foi desenvolvido após constatar a dificuldade em adquirir de forma gratuita uma solução que possibilitasse o Lingo aceder ao protocolo RS232, essencial na comunicação com os microcontroladores.
A partir do código-fonte de um Xtra já existente, do projecto Ezio, foi criado um interface simples e standart que permite ao programador escrever e ler na porta série de um PC através do Director.

download CERIALCOMXtra.x32 [guardar como]

Instalação
Copiar e colar onde se encontra instalado o Director na directoria dos xtras
Exemplo:
C:\Programas\Macromedia\Director MX 2004\Configuration\Xtras\Scripting\CERIALCOMEXtra.x32

Funcionalidades
O Xtra CerialCome disponibiliza 4 procedimentos ou funções:

Init( integer porta, string config)
descrição: inicializa a porta série, devendo ser chamada uma única vez no início do projecto.
A função devolve o valor lógico True ou False consoante conseguiu ou não inicializar a porta com sucesso.
exemplo:
global com
on startmovie
  com = new xtra ("CERIALCOMEXtra")
  put com.Init(1,"4800,N,8,1")
end
Este exemplo abre a porta série nº1 com uma Baud Rate de 4800, sem controlo de fluxo, dados de 8 bits e com usando 1 stop bit.



Le()
descrição:  devolve um byte da buffer de input.
exemplo:
on enterFrame me
  global com
  com.LimpaInput()
  put "recebido da porta série:" & com.Le()
end



Escreve( integer byte)
descrição: coloca um byte na buffer de output da porta série.
exemplo:
on enterFrame me
  global com
  repeat with a=1 to 10
      com.Escreve(a)
  end repeat
end
O excerto de código anterior envia pela porta série os números de 1 a 10

LimpaInput()
descrição: apaga todos os bytes que existam na buffer de input.
Quando um microcontrolador envia constantemente dados pela porta série (broadcast),
esta função é útil para evitar que a recepção por parte do Lingo se "atrase". A solução é descartar todos os dados excepto o último, que é sempre o mais recente. Ver exemplo da função Le().


Limitações
- Não existe uma função para fechar a porta série.
- A função Le e Escreve são "Blocking", i.e. bloqueiam a execução do Lingo até que termine a sua própria execução. Caso o micro-controlador não responda, a instrução Le pendura a aplicação.
- Apenas para Win32.
tags:
publicado por nop às 19:11
link do post | comentar | favorito
|

pesquisar

 

tags

arduino

c/c++

codebits

deca

director

flash

iniciação

maa

materiais

mobile

oficina

opencv

relé

tui

ua

todas as tags

recentes

Biblioteca de prototipage...

Cerial Come - porta série...

arquivos

Novembro 2012

Abril 2009

Outubro 2008

Setembro 2008

Abril 2008

Fevereiro 2008

links