Wii Nunchuck and Arduino -- newb problem

This is the second time I've connected my wii nunchuch to my Arduino Duemilanove. The first time it worked perfect -- seriously just plug and play. Now, though, I am getting an error regarding the power.

In Arduino it says this:
In function 'void WiiChuck_beginWithPower()':
At global scope:

I cant figure out what the problem is (well, my guess is that there is no power). I have tried 3.3v and 5v connections and the error appears on both.

What am I overlooking?

The error is a compiler error, nothing to do with the power supply - your sketch isn't even running.
Can you post your sketch?

sure thing... it's from the TinkerIt! website tutorial. I installed the necessary libraries already.

/*

  • WiiChuck -- Send serial data with a Wii Nunchuck
  • This code is based on the original code by Chad Philips (www.windmeadow.com),
  • WiiChuck code from Todd E. Kurt (todbot.com) and has been tweaked by Karsten
  • Schmidt (http://postspectacular.com/).
  • The WiiChuck adaptor uses analog pins 2-5 as shown below:
  • PWR - -- gnd -- black -- Gnd
  • PWR + -- +5V -- red -- 5V
  • I2C d -- SDA -- green -- Analog In 4
  • I2C c -- SCK -- blue -- Analog In 5

*/

#include "Wire.h"
#include "WiiChuck_funcs.h"

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

#define WiiChuck_ARDUINO_POWERED 1

void setup()
{
Serial.begin(19200);

if( WiiChuck_ARDUINO_POWERED ) {
WiiChuck_beginWithPower();
} else {
WiiChuck_begin();
}

nunchuck_init(); // send the initilization handshake
}

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
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;
int accel_y_axis = outbuf[3] <<2;
int accel_z_axis = outbuf[4] <<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] & 0x01) {
z_button = 1;
}
if (outbuf[5] & 0x02) {
c_button = 1;
}

if (outbuf[5] & 0x04) {
accel_x_axis += 2;
}
if (outbuf[5] & 0x08) {
accel_x_axis ++;
}
if (outbuf[5] & 0x10) {
accel_y_axis += 2;
}
if (outbuf[5] & 0x20) {
accel_y_axis ++;
}
if (outbuf[5] & 0x40) {
accel_z_axis += 2;
}
if (outbuf[5] & 0x80) {
accel_z_axis ++;
}

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

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

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

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

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

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

Serial.print (c_button, DEC);

Serial.print ("*");
}

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
}

// 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;
}

Check that your copy of "WiiChuck_funcs.h" has "WiiChuck_beginWithPower();" in it, or check the spelling/case of the name.

I'm looking at one here that has only "wiichuck_begin" defined, all lower-case.

(Please use the "Code" (#) button when posting code.)