Archive for the 'Experiments' Category

Page 3 of 3

Mobile Game: MangueBoy @ Flash Lite

O Mobile Game MangueBoy surgiu na primeira versão em Flash Lite 2 a cerca de 2 anos, como prova de conceito e laboratório. Semana passada resolvi tirá-lo do fundo do baú e empacotá-lo como um widget, e agora ele está disponível para download.

Valeu a todos que me ajudaram no desenvolvimento do layout. Segue abaixouma versão web.

UPDATE: Clique no flash acima, e use o teclado para jogar.
As teclas de setas (UP, DOWN, LEFT, RIGHT) para navegar/jogar, (Enter) para selecionar e (Backspace) para voltar.

NXT controlado pelo Twitter

Neste friadão resolvi fazer uns testes com o NXT Python e descobri que é possível controlar praticamente tudo no NXT brick com Python. Depois pensando num teste prático lembrei dum papo de bar a alguns dias atrás onde conversavamos sobre o Botanicalls Twitter e surgiu a idéia: se uma planta pode usar o Twitter um Lego NXT também pode. (-:

Esta é uma prova de conceito bem básica onde uma “direct message” do Twitter aciona os motores do NXT. Mas assim que sobrar um tempo espero mexer mais nisso ai e postar algo mais elaborado sobre o assunto.

UPDATE 30.03: Se você tem um Lego NXT e quer testar este experimento, baixe o código e dê uma olhada no arquivo README que acompanha o pacote para as instruções necessárias. Nesta versão o robô entende e reage a três comandos: “dance”, “talk” e “go insane”. Divirta-se!

UPDATE 27.03: A demora entre o envio da mensagem e a reação do robo acontece porque nesta versão o script precisa encontrar e conectar (via bluetooth) no NXT antes de enviar o comando.

Arduino + LDR : exemplo de uso

Para começar a série de exemplos de aplicações com arduino, pensei em algo simples para demonstrar.

arduino_ldr_1_thumb.jpg

Um circuito que utiliza como input um ldr (photoresistor) onde a partir da luminosidade defini um som para o ambiente.

arduino_ldr_2_thumb.jpg

Neste caso, vamos usar o velho e bom exemplo, de noite som de grilos e sapos e de dia o som de pássaros. =)

O circuito:

arduino_ldr_circuit

O código: (fonte)


import processing.serial.*;
import cc.arduino.*;
import ddf.minim.*;


Arduino arduino;
int ldrPin = 1;
int ldrVal = 0;
int boundary = 1000;


AudioPlayer audioDay;
AudioPlayer audioNight;


void setup() {


size(40, 40);


Minim.start(this);


audioDay = Minim.loadFile("audioDay.mp3");
audioNight = Minim.loadFile("audioNight.mp3");


arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(ldrPin, Arduino.INPUT);


}


void draw() {


ldrVal = arduino.analogRead(ldrPin);


if(ldrVal >= boundary) {
audioDay.pause();
if(!audioNight.isPlaying()) audioNight.loop();
} else {
audioNight.pause();
if(!audioDay.isPlaying()) audioDay.loop();
}


}


void stop()
{
audioDay.close();
audioNight.close();
super.stop();
}

Os sons utilizados foram encontrados no site Free Sound Project.

A biblioteca utilizada no processing para ativar os sons foi a Minim .

Não podemos esquecer que o arduino deve estar carregado com a interface para processing.