Showing posts with label My Work. Show all posts
Showing posts with label My Work. Show all posts

Saturday, 30 May 2009

Paper cup project


prototype of my MA project

Thursday, 16 April 2009

Read wii nunchuck data into arduino



The nunchuck uses a proprietary connector. I just cut the end off of my nunchuck cable. The cable has 4 wires.
white - ground
red - 3.3+v
green - data
yellow - clock

Attach white to the Arduino's ground, red to 5 volt+, green to analog pin 4, yellow to analog pin 5. The nunchuck is only supposed to get 3.3+ volts. So far it has worked fine at 5 volts, but be warned. I am guessing that using the higher voltage will shorten the nunchucks lifespan.



#include
#include

#undef int
#include

uint8_t outbuf[6]; // array to store arduino output
int cnt = 0;
int ledPin = 13;

void
setup ()
{
beginSerial (19200);
Serial.print ("Finished setup\n");
Wire.begin (); // join i2c bus with address 0x52
nunchuck_init (); // send the initilization handshake
}

void
nunchuck_init ()
{
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x40); // sends memory address
Wire.send (0x00); // sends sent a zero.
Wire.endTransmission (); // stop transmitting
}

void
send_zero ()
{
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.send (0x00); // sends one byte
Wire.endTransmission (); // stop transmitting
}

void
loop ()
{
Wire.requestFrom (0x52, 6); // request data from nunchuck
while (Wire.available ())
{
outbuf[cnt] = nunchuk_decode_byte (Wire.receive ()); // receive byte as an integer
digitalWrite (ledPin, HIGH); // sets the LED on
cnt++;
}

// If we recieved the 6 bytes, then go print them
if (cnt >= 5)
{
print ();
}

cnt = 0;
send_zero (); // send the request for next bytes
delay (100);
}

// Print the input data we have recieved
// accel data is 10 bits long
// so we read 8 bits, then we have to add
// on the last 2 bits. That is why I
// multiply them by 2 * 2
void
print ()
{
int joy_x_axis = outbuf[0];
int joy_y_axis = outbuf[1];
int accel_x_axis = outbuf[2] * 2 * 2;
int accel_y_axis = outbuf[3] * 2 * 2;
int accel_z_axis = outbuf[4] * 2 * 2;

int z_button = 0;
int c_button = 0;

// byte outbuf[5] contains bits for z and c buttons
// it also contains the least significant bits for the accelerometer data
// so we have to check each bit of byte outbuf[5]
if ((outbuf[5] >> 0) & 1)
{
z_button = 1;
}
if ((outbuf[5] >> 1) & 1)
{
c_button = 1;
}

if ((outbuf[5] >> 2) & 1)
{
accel_x_axis += 2;
}
if ((outbuf[5] >> 3) & 1)
{
accel_x_axis += 1;
}

if ((outbuf[5] >> 4) & 1)
{
accel_y_axis += 2;
}
if ((outbuf[5] >> 5) & 1)
{
accel_y_axis += 1;
}

if ((outbuf[5] >> 6) & 1)
{
accel_z_axis += 2;
}
if ((outbuf[5] >> 7) & 1)
{
accel_z_axis += 1;
}

Serial.print (joy_x_axis, DEC);
Serial.print ("\t");

Serial.print (joy_y_axis, DEC);
Serial.print ("\t");

Serial.print (accel_x_axis, DEC);
Serial.print ("\t");

Serial.print (accel_y_axis, DEC);
Serial.print ("\t");

Serial.print (accel_z_axis, DEC);
Serial.print ("\t");

Serial.print (z_button, DEC);
Serial.print ("\t");

Serial.print (c_button, DEC);
Serial.print ("\t");

Serial.print ("\r\n");
}

// Encode data to format that most wiimote drivers except
// only needed if you use one of the regular wiimote drivers
char
nunchuk_decode_byte (char x)
{
x = (x ^ 0x17) + 0x17;
return x;

)

source from http://www.windmeadow.com/node/42

Accelerometer

Accelerometer with arduino



I'm fighting with accelerometer at the moment....

Sunday, 8 March 2009

Paper cup phone


it's very analog way to communicate to each other.

However, everyone knows what does do and how it works.

What if I use some recording input and random-play out put in same unit?

lots of thing will happen.

Friday, 27 February 2009

Nano Fabric


University of Pittsburgh researchers have synthesized a molecule that forms the first "nanocarpet," whereby
the nanotubes organize themselves into an expanse of upright clusters that looks like the fibers of a shag rug.
Moreover, unlike other nanotube structures, these tubes can sense their environment, change color and can be
trained to kill bacteria. The research aims at developing a paint that in the event of biological or chemical agents
being deployed would change color and simultaneously destroy the deadly substances.

* http://www.arablog.net/blog/archives/nano/index.php

Thursday, 26 February 2009

Electroluminescent wire


This electroluminescent (EL) wire from Surelight is an innovative solution for many applications where a versatile, long-life light source is required. Utilising the latest developments in EL technology, this wire can be used in many different applications such as for safety lighting, architecture and decor, signage and retail display. Already in use in the entertainment industry in TV/film, theatre, opera, venues and nightclubs and by performance artists throughout the world.

_Available in several vibrant colours
_Available in 1.5m or 3m lengths
_Fitted with connectors to mate with inverters
_Uniform light distribution across full length of wire
_Wire ΓΈ2.5mm
_Cool to the touch
_UV resistant for longer life
_Splashproof

from rapidonline.com

Tuesday, 10 February 2009