Quinta-feira, 1 de Novembro de 2012

O NOP mudou de casa :)

O NOP mudou de casa :)

http://noperation.wordpress.com/

 

publicado por nop às 21:25
link do post | comentar | favorito
|
Segunda-feira, 20 de Abril de 2009

Museu Municipal Penafiel - Lampreias Interactivas

 

O Museu Municipal de Penafiel conta uma instalação interactiva que recria o ambiente das lampreias, um peixe característico nos rios da região. A animação de um grupo de lampreias num meio aquático é projectado sobre uma estrutura circular com 3m de diâmetro desenhada pelo designer Francisco Providência. Os visitantes podem tocar e interagir com as lampreias com as suas mãos ou outros objectos.

O sistema por nós criado é constituído por um computador, um projector e uma webcam instalada sobre a estrutura a cerca de 4m de altura. As imagens da câmara são analisadas em tempo real por uma aplicação desenvolvida em C++. Com a ajuda da biblioteca OpenCV a aplicação detecta as coordenadas das mãos dos utilizadores e comunica-as via sockets para uma segunda  aplicação que é responsável pela animação. Esta última foi escrita em Flash, as3, e contém algumas classes que possibilitam a comunicação via sockets.

 

download Código fonte da aplicação detecta.exe (c++, OpenCV).

download Código fonte do projecto em Flash  (ActionScript 3).

publicado por nop às 22:08
link do post | comentar | ver comentários (2) | favorito
|
Segunda-feira, 13 de Outubro de 2008

Mylamp - tutorial

 

 

Um ícone na desktop controla (liga e desliga) o candeeiro de secretária. Este pequeno tutorial exemplifica como uma aplicação multimédia pode controlar aparelhos ligados a uma tomada, como por exemplo, um electrodoméstico, um candeeiro, uma aparelhagem de som ...

O microcontrolador arduino serve de interface entre o computador e o circuito de 220v via um releé. Qualquer aplicação que aceda à porta série virtual passará a poder controlar a tomada.

Para simplificar criámos um ficheiro BAT com a seguinte linha de comando:

echo k>com6

que, quando executado, envia o carácter k para a porta série virtual nº 6, que no meu computador corresponde à porta instalada pelo driver FTDI do arduino. Por sua vez, o arduino comuta o estado do pin de output nº8 que se encontra ligado ao relé por via de uma resitência e de um transistor. Por fim, criámos um atalho para o ficheiro bat na desktop e desenhámos um ícone para esse atalho.

 

esquema esquema montagem pcb relé

pcb relé

 

ficheiros

download mylamp
na desktop

luz.bat
iconluz.ico
serialin.pde

download mylamp
no processing

ficheiros de processing
ficheiros de arduino

tags: ,
publicado por nop às 00:16
link do post | comentar | ver comentários (12) | favorito
|
Quinta-feira, 2 de Outubro de 2008

Materiais - iniciação

Conjunto de ferramentas e componentes que constituem uma oficina básica para o desenvolvimento de projectos de Arte Digital, Design de Interacção com aplicação dos recursos e prática da Physical Computing.

 

ferramentas

 

 

E os componentes mais usados. Na sua maioria, podemos encontrá-los numa loja de electrónica tal como a Dimofel em Lisboa, a Aquário, a Díodo ou a supertécnica no Porto, ou a TV Lar em Aveiro.

 

componentes

 

publicado por nop às 12:06
link do post | comentar | ver comentários (3) | favorito
|
Terça-feira, 30 de Setembro de 2008

Multimédia em Ambientes Artísticos 0708

 

 

A disciplina de MAA integra o plano de estudos do Mestrado em Comunicação Multimédia do Departamento de Comunicação e Arte da Universidade de Aveiro. A selecção de projectos finais aqui seleccionados são o resultado de investigação teórica em torno do tema Tangible User Interfaces,  e a sua aplicação prática na área dos jogos, arte e design interacção.

A maioria dos projectos que surgiram desta oficina foram desenvolvidos em Flash, Processing, Arduino, biblioteca Jmyron (CAM) e também recorrendo à biblioteca Touchlib.

Este paradigma de interacção assenta no envolvimento do corpo enquanto interface.

 

Os Tangible Users Interfaces (TUI) têm como princípio eliminar a ideia de representação gráfica fazendo, precisamente, coincidir o espaço temporal do utilizador com o da máquina. Este paradigma de interacção evoluiu a partir do trabalho pioneiro de George W. Fitzmaurice que formalizou pela primeira vez o conceito de Graspable User Interfaces. Trata-se pois de um paradigma de interacção que torna possível à pessoa, através das mãos ou de outros elementos físicos, manipular de uma forma virtualmente imediata (no espaço e no tempo) os objectos ou conteúdos da acção. Para levar a cabo esta nova relação pessoa-computador torna-se imprescindível que a máquina “compreenda” o humano num processo que transforma e destitui o estatuto de ambos (a máquina adquire, neste processo, características de sujeito, e o humano as de objecto). Por esta razão, o paradigma de interacção protagonizado pelos TUI recupera a Physical Computing enquanto expressão do sensoriamento/actuação consubstanciada no corpo do utilizador. A implementação deste paradigma de interacção sugere a recuperação do modelo de arquitectura de sistema Ubiquous Computing, o qual consiste na distribuição modular do processamento em diferentes CPUs dedicados pela várias funcionalidades do sistema – sensoriamento, actuação, visualização, etc.

 

Excerto do documento que tem por base esta linha de investigação (no DeCA) .

Mário Vairinhos e Nuno Dias.

 

 

tags: , , ,
publicado por nop às 18:26
link do post | comentar | ver comentários (4) | favorito
|
Quinta-feira, 25 de Setembro de 2008

Usa a cabeça - jogo do pong

 

link: http://videos.sapo.pt/kpmTcS97THz7DoCk6sCz

 

Projecto desenvolvido por Mário Vairinhos (programação) em parceria com Nuno Dias (design) em Outubro de 2007 no evento CODEBITS 2007 organizado pelo SAPO e que mereceu o prémio Hack.

Faz agora quase um ano o fim-de-semana passado na gare do oriente a comer chocolates e pizzas na companhia de 400 nerds.

O projecto foi desenvolvido em C/C++ recorrendo à biblioteca open source de visão por computador OPENCV.

 

Publica-se o código-fonte do projecto. Todo o projecto foi escrito à pressa, ao estilo quick & dirty, numa espécie de correria para o terminar antes do prazo limite.

usaacabeca.c

 

 

 

publicado por nop às 22:31
link do post | comentar | favorito
|
Quinta-feira, 10 de Abril de 2008

Arduino - acelerómetro - adxl330

O acelerómetro adxl330 é um sensor de aceleração sensível ao movimento nos 3 eixos (x,y,z) montado numa pequena placa com espaçamento DIP. Possui 6 pinos; VDD a 3 Volts, GND, X,Y e Z, sendo que o pino ST fica desconectado. Pode ser comprado por cerca de 35$ na loja online sparkfun onde se encontra também disponível para download o datasheet com informação técnica detalhada.



A sua ligação ao Arduino Deciemila ou ao Arduino BT é extremamente fácil, atendendo a que ambas as placas dispõem de  uma saída de 3V3. O sensor envia a informação do movimento através das saídas analógicas X,Y e Z.
.




O programa que nós testámos envia repetidamente os valores da aceleração nos 3 eixos para a porta de comunicações podendo ser lido a partir de qualquer aplicação de terminal parametrizado com uma velocidade de transferência de 9600 bauds.
O acelerómetro pode ser usado para registar a aceleração do movimento mantendo a placa sempre orientada na vertical ou, alternativamente, para registar a orientação da placa, mantendo-a fixa numa posição e orientando-a livremente (tilt).
No primeiro caso, integrando a velocidade podemos interpolar a posição através do método de integração de Euler:
ACEL=FORÇA/MASSA
VEL=VEL+ACEL
POS=POS+VEL
Se pretendermos usar o sensor para  conhecermos a orientação da placa nos 3 eixos (segundo caso) basta-nos ler directamente os valores X,Y e Z.
Quando os dados são lidos directamente a partir da instrução analogRead e com a placa em repouso, verificámos que os valores oscilam bastante. O código que apresentamos resolve esse problema implementando um filtro digital que suaviza os dados. O método usado é simples; guardam-se as últimas 7 amostras e calcula-se a média.
Se o objectivo for  implementar um sistema de interacção  com o PC, ligando a placa arduino ao Processing, Flash, Max  MSP  ou outro SDK, temos de ter em linha de conta que a aplicação terá de calibrar os dados. No nosso caso, com a placa em repouso, os valores obtidos nos 3 eixos situavam-se próximos do valor 340. Uma rotação de +-90º ao longo de cada um dos eixos provocava uma oscilação proporcional de +-60 unidades, o que resulta uma resolução ligeiramente inferior a 2º por unidade.


 

tags:
publicado por nop às 17:28
link do post | comentar | ver comentários (2) | favorito
|
Sábado, 5 de Abril de 2008

Arduino - input analógico - fotodíodo

O fotodíodo quando polarizado de forma inversa faz variar a resistência e pode ser aproveitado para medir a luminosidade. Para tal, basta ligá-lo em paralelo com uma resistência (geralmente na ordem dos 10k a 20k) e obtemos um divisor de voltagem que facilmente é lido pelo comando AnalogicRead.
O fotodíodo pode ser substituído por um LDR subindo o valor da resistência para cerca de 100k.
O LDR, ao contrário do fotodído, é não-polarizado mas em contrapartida não é sensível a frequências superiores a 100hz.
O seguinte circuito funciona como sensor de luminosidade cuja a variação é lida e reenviada repetidamente pela porta de comunicações.







void setup()
{
  Serial.begin(9600);
}
 
int valor;
void loop()
{
 while(true) {
      valor = analogRead(3);
      Serial.println(valor,DEC);
 }
}

tags:
publicado por nop às 00:55
link do post | comentar | favorito
|

Arduino - sonar Maxbotix LV-EZ1

O sonar Maxbotix LV-EZ1 é especialmente atractivo pela seu baixo preço, boa performance, dimensão reduzida e 3 tipos de output; serial, analógico e por impulsos (PWM). Pode detectar pessoas até 3 metros e objectos mais reflexivos em termos acústicos até 6 metros.
Está disponível online na loja sparkfun  assim como a partir da loja do próprio fabricante Maxbotix. O datasheet contém informação técnica detalhada e possui uma FAQ muito bem documentada.



O modo mais rápido de o ligar ao arduino é por via da saída analógica do sonar. O circuito torna-se muito semelhante ao circuito do potenciómetro.
Cada amostra é lida pelo comando AnalogRead, podendo variar entre o valor 0 e 1023.
O programa reenvia a amostra através da porta série, podendo -se ler a distância no Terminal em tempo real.
.







void setup()
{
  Serial.begin(9600);
}
 
int valor;
void loop()
{
 while(true) {
      valor = analogRead(3);
      Serial.println(valor,DEC);
 }
}



tags:
publicado por nop às 00:05
link do post | comentar | favorito
|
Sexta-feira, 4 de Abril de 2008

Arduino - input analógico - potenciómetro

O circuito para ligar um potenciómetro ao arduino. O programa lê o valor e reenvia-o pela porta de comunicações.







void setup()
{
  Serial.begin(9600);
}
 
int valor;
void loop()
{
 while(true) {
      valor = analogRead(3);
      Serial.println(valor,DEC);
 }
}

 

tags:
publicado por nop às 23:50
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