
Tbeta (The Beta) é um projeto open source e multi-plataforma desenvolvida pelo NUI Group para uso de interfaces multi-toque para sistemas computacionais.
Para criar a interface multi-toque usa-se uma câmera que capta a movimentação das mãos sobre uma placa transparente fosca. Então mapea-se a movimentação dos dedos levando em conta a mudança da incidência de luminosidade quando se toca na placa. Existem várias formas de se fazer isso.
O Tbeta fica responsável pelo mapeamento dos toques na tela. O único inconveniente é que é necessário escrever programas específicos para uso com a plataforma. Até agora só encontrei programas feitos em flash.
Ontem testamos um protótipo. O Dino construiu a mesa que usamos com uma caixa de papelão, um pedaço de vidro e papel manteiga. Projetamos a imagem na parede, mas o ideal é projeta-la diretamente sobre a superfície de toque. Não fizemos isso pois não tínhamos uma superfície ideal. Mas o resultado nos agradou.
Dê uma olhada no guia de primeiros passos para uma melhor idéia de como o Tbeta funciona.
Finalmente consegui um tempo para escrever! Os 5 dias que passei fora, participando da Latinoware 2008 e viajando foram muito interessantes. Fiquei quase que por tempo integral participando da Olimpíada de Robótica Livre, onde eu e o restante da equipe brincamos com o Arduíno e construímos o que foi chamado de TDPSM (Theremin Digital com Percussão Sintetizada Mecanicamente), uma mistura de Theremin com percussão feita com um HD velho.
O Theremin foi um dos primeiros instrumentos musicais eletrônicos e produz som sem ser tocado. Ele possui duas antenas que funcionam como sensores, fazendo com que o som gerado seja modificado de acordo com a posição em que as mãos do músico se encontram. Uma das antenas controla o volume e a outra o oscilador de rádio freqüência.
O Theremin digital baseia-se nessa idéia, porém, em vez de antenas ele utiliza um Resistor Variável Conforme Incidência De Luz (LDR), um tipo de resistor cuja resistência varia conforme a intensidade de radiação eletromagnética do espectro visível que incide sobre ele. Variando-se a resistência, ocorre a variação da tensão elétrica que é enviada para uma das portas analógicas do Arduíno. No Arduíno, após programado, realiza-se a conversão do valor obtido em um delay que será utilizado para a geração do sinal digital de saída para a geração do som. Este som se assemelha ao do Theremin, mas é digital. Em vez de um auto-falante analógico, utilizamos um piezo elétrico colado no fundo de copinhos de plástico.
A percussão sintetizada mecanicamente foi criada com um HD estragado, aproveitando o disco e a cabeça de leitura/gravação. A primeira idéia que nos ocorreu foi de aproveitar o movimento da cabeça para gerar batidas como qualquer outro instrumento de percussão. Porém, variando-se a freqüência de mudança da polaridade da cabeça, criou-se ressonância no disco gerando um som muito peculiar semelhante ao produzido por alguns sintetizadores, mas de forma mecânica. Para fazer a mudança de polaridade da cabeça do HD, usamos o Shield Motor Control, que consiste em um circuito de ponte H para o Arduíno para controlar dois motores. Também utilizamos um potenciômetro para controlar a freqüência da mudança de polaridade do braço do HD.
Nós não montamos um esquema elétrico do que fizemos, mas boa parte dos conhecimentos que utilizamos para construir o TDPSM foi extraído do livro Getting Started with Arduino, que possui uma versão online com 30 páginas livre para downloads. Nesse documento é possível encontrar os esquemas de ligação dos sensores LDR e do potenciômetro e programas de exemplo.
Código do Theremin:
int sensorPin = 0; // pino do sensor LDR int somPin = 7; // pino do piezo int val = 0; void setup() { pinMode(sensorPin, INPUT); pinMode(somPin, OUTPUT); } void loop() { digitalWrite(somPin, HIGH); val = analogRead(sensorPin); //recebe sinal do sensor for( int i=0; i<200; i++ ) { digitalWrite(somPin, HIGH); //envia 1 para o piezo delayMicroseconds(val); //o valor pego do LDR e utilizado para alterar a frequencia do sinal digitalWrite(somPin, LOW); //envia 0 para o piezo delayMicroseconds(val); //o valor pego do LDR e utilizado para alterar a frequencia do sinal } }
Código da Percussão:
int dirPin = 12; //pino de controle de direcao int enablePin = 8; //pino de enable int veloPin = 9; // pino de controle de velocidade int potenciometroPin = 0; //pino do potenciometro int var = 0; void setup() { pinMode (potenciometroPin, INPUT); pinMode(dirPin, OUTPUT); pinMode(veloPin, OUTPUT); pinMode(enablePin, OUTPUT); digitalWrite(dirPin, LOW); analogWrite(veloPin , 100); digitalWrite(enablePin, HIGH); } void loop() { int vardelay; var = analogRead(potenciometroPin); vardelay = var; digitalWrite(dirPin, LOW); //move para um lado delay(vardelay); digitalWrite(dirPin, HIGH); //move para outro delay(vardelay); }
Fácil, não? O Arduíno é uma plataforma de desenvolvimento Open-Source que inclui uma placa com entradas e saídas, Software de desenvolvimento e uma enorme comunidade crescente ao seu redor. O microcontrolador usado normalmente na plataforma é o ATMEGA8, para algumas de suas versões e ATMEGA128, para outras. O mais interessante de tudo, como pode-se ver, é que não é necessário o uso de instruções em Assembly ou em C para se programar o microcontrolador, sendo que as instruções são todas muito simples e com pouco estudo qualquer pessoa pode utilizar a plataforma.
Vídeo da Percussão Sintetizada Mecanicamente.
Este ano vou participar novamente da Olimpíada de Robótica Livre. Dessa vez vou entrar na Olimpíada avançada onde teremos a oportunidade de brincar com o Arduíno! Ano passado eu e minha equipe montamos um elevador com 3 sensores e 2 motores controlados pela porta paralela do computador, utilizando o Kdevelop e shell script. Nada muito sofisticado, mas foi muito divertido transformar sucata - peças de impressoras, scanners, etc - em um brinquedinho.
Como a II Olimpíada de Robótica Livre vai acontecer durante todo o evento, acho que não vou conseguir ver todas as palestras que tenho vontade. Abaixo segue a lista das palestras que selecionei:
30/10/08
- 13h-14h Desenvolvimento em Linux para dispositivos móveis com Moblin - Sulamita Garcia
- 15h-19h Maemo, Desenvolvimento para essa plataforma - Osvaldo Santana
- 18h-19h Do Consumo em sociedades pós-coloniais: Mobilização sobre consumo consciente e sustentabilidade Ao Projeto Robótica Livre: Uma alternativa para a forma - Danilo Rodrigues César
31/10/08
- 09h-10h PunkRock, Anarquismo e SoftwareLivre: Faça você mesmo - Antonio Carlos C. Marques
- 13h-17h Administración de contenido con Plone - Roberto Allende
- 17h-21h Super Dojo Python - APyB - Fabricio de Sousa Nascimento
- 19h-20h Debian Squeeze: Uma distro de outro mundo! - Felipe Augusto van de Wiel
- 20h-21h Projeto Reciclagem de Computadores - Ana Lúcia Rodrigues Wiggers, Viviane Aparecida
01/11/08
- 09h-10h Palestras relâmpago - ApyB
- 10h-11h Computação sustentável. Computação para o seculo XXI. - John “Maddog” Hall
- 12h-13h Vamos traduzir o Gnome? - Fábio “Elvis” Nogueira
- 15h-16h Comunicação em rede sociais - Novas mídias, nova geração. - Gustavo Guanabara
- 16h-17h Programación de Extensiones para Nautilus Usando Python - Germán Póo-Caamaño
- 18h-19h Desenvolvendo o X11 - Tiago Vignatti
- 19h-20h Robótica Educacional de Baixo Custo- Uma Realidade para as Escolas Brasileiras - Paulo Cesar Gonçalves
Ano passado dormimos a primeira noite em um posto de gasolina. Nada legal! Este ano vamos dormir no alojamento de uma igreja em Foz do iguaçu. Vamos pagar 15 reais a estadia, sem rango. Mas o lugar parece ser bem confortável.
Vou tentar escrever todos os dias falando um pouco sobre as palestras, sobre a olimpíada e sobre as nossas aventuras em Foz do Iguaçu e Cidad Del Leste!
See ya!
<ESC>ZZ
Essa idéia eu tirei de um vídeo que foi enviado para a lista do projeto Robótica Livre. A idéia é genial! Uma cabeça de escova de dente, um pedaço de adesivo, motor vibracall de celular e uma pilha. Só isso e você tem um BristleBot!
O projeto Robótica Livre é muito interessante. Ele junta os conceitos de Software Livre, robótica, reciclagem e com a “pedagogia da sucata” cria um potencial multidisciplinar, desmistificando o trabalho super-especializado e aproveitando lixo tecnológico na construção de artefatos técnicos que auxiliem o ensino das diversas disciplinas escolares.
Desmistificar o trabalho super-especializado e aproveitar lixo tecnológico é algo que o físico Etienne Delacroix faz de uma maneira muito interessante. Ele junta as novas tecnologias com a arte e viajando pelo Brasil com seu workshops nômades de metareciclagem - os quais chama de Ateliê Labs - ensina programação e eletrônica para crianças e jovens. Nos Ateliê Labs os dispositivos desmontados ganham novas funcionalidades, desde módulos que são usados para a criação de sons digitais até instalações de arte e bijuterias.
Bijuteria é o que está sendo feito também para reaproveitar o “lixo tecnológico” de máquinas caça níquel que estão sendo transformadas em terminais educacionais na casa brasil, um projeto em parceria com a rede Piá e outras instituições.
Todos esses projetos estão explorando o potencial do que nós em geral ouvimos chamar de “lixo”. Drivers de CD, disquete, fios, motorzinhos, peças de plástico e um pouco de criatividade podem se tornar uma forma de desmistificar a tecnologia e exercitar a criatividade!
Vídeo: DuckBristleBot







