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
|
Terça-feira, 5 de Fevereiro de 2008

Teklas Mobile



Teklas mobile é uma aplicação desenvolvida em Mobile Processing, mobile.processing.org,   que permite 2 utilizadores de telemóvel teclarem em tempo real via Bluetooth.
A versão actual integra diversas funcionalidades, tais como; editar o perfil, escolher entre duas personagens, atribuir um nickname e personalizar cada mensagem com uma das 3 emoções disponíveis.
O código de fonte do projecto é disponibilizado e pode ser modificado livremente, servindo de referência para outros projectos que necessitem de implementar a procura de dispositivos BT na vizinhança, a implementação um servidor e respectivo cliente, ou, simplesmente, carregar imagens dinamicamente numa array.
A versão actual está limitada a dispositivos com uma resolução de 240x280 pixeis e contém alguns bugs.

Instruções rápidas para utilização.
- Instalar o ficheiro JAR em 2 telemóveis (qualquer modelo compatível com java micro edition).
- Activar o BT.
- Iniciar a aplicação nos 2 telemóveis.
- Num telemóvel criar um novo chat.
- No outro telemóvel, procurar chat e quando terminar a pesquisa carregar na tecla 0.
- Durante a conversação a tekla # permite permutar entre as 3 várias expressões ou seleccionar a opção de voltar ao menu principal (loby).

O Mobile Processing é uma plataforma de desenvolvimento de aplicações para dispositivos móveis que recorre à linguagem Action Script e compila na linguagem JAVA, abstraindo grande parte da sua complexidade. É desenvolvido e mantido por Francis Li.
O SDK,  totalmente gratuito (open source), é bem documentado, podendo ser descarregado a partir daqui mobile.processing.org/download/index.php.
O site possui toda a informação necessária para a sua instalação no sistema.

download Código Fonte.
conecta2.txt
funcoes.txt
globais.txt
parametros.txt
download de todo o projecto.
conecta2.rar (810k)

Versão 2 (quase beta)

Bugs
- Ao tentar criar um novo chat sem antes o BT do dispositivo estar activo a aplicação devolve um erro fatal. Para evitar este erro, basta certificar-se que a conexão BT está activa antes de iniciar a aplicação.
- É frequente, quando um utlizador abandona a aplicação, o outro receber um erro fatal.
- Por vezes, a buffer do teclado não é totalmente limpa.

A fazer
- Resolver os bugs.
- Implementas som.
- Implementar rollovers.
- Tornar as imagens escalonáveis e permitir a utilização em qualquer resolução.
- Criar um motor que possa gerir várias ligações BT (vários utilizadores em tempo real).

Créditos
Mário Vairinhos
baseado nos exemplos disponibilizados, em especial no projecto Tic-Tac-Toe by Francis Li.

tags:
publicado por nop às 22:13
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

O NOP mudou de casa :)

Museu Municipal Penafiel ...

Mylamp - tutorial

Materiais - iniciação

Multimédia em Ambientes A...

Usa a cabeça - jogo do po...

Arduino - acelerómetro - ...

Arduino - input analógico...

Arduino - sonar Maxbotix...

Arduino - input analógico...

arquivos

Novembro 2012

Abril 2009

Outubro 2008

Setembro 2008

Abril 2008

Fevereiro 2008

links