Pages: [1]   Go Down
Author Topic: Wiimote Robotic Control  (Read 397 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey guys, part of a robotics project I decided to tackle for one of my classes is to control a robot (specifically a quadrocopter) using a Wiimote.  Initially I read over the Wiibrew wiki for the wiimote [link] and it seemed quite feasible so in a bit of haste I decided to buy the SparkFun Bluetooth Mate Silver.  I've been trying to just test it to make sure it's working and I ran into a few problems:
  • I cannot view Serial output via the Serial Monitor (though using some LEDs I can see SOMETHING is happening)
  • I'm not entirely sure I can even connect to the Wiimote using this method

For the first problem- are there any good workarounds where I can view the serial output as well as send data via serial? It seems I can only do one or the other.  the SoftwareSerial library would be an option if it didn't have baud rate limite of 9600 (the bluetooth module runs at 115200).  

For the second problem- well, it really says it all.  Can I even connect the wiimote to my arduino using the Bluetooth Mate as an intermediary?  My second option (one that seems like less of a nightmare to program but more of an expense) is to send the Wiimote info through a PC and then back out to the Arduino via bluetooth.  I'd prefer to solve it without the use of a PC but if it is absolutely necessary I can concede on that point.

If ANYONE can help, offer more reading material, ANYTHING, I'd be extremely grateful!

And for reference, my current code:

#include <avr/io.h>
//Wii Address = 00:1B:7A:3E:97:45

void setup()
  // put your setup code here, to run once:
  Serial1.begin(115200);   // opens serial port, sets data rate to 9600 bps
  //enter command mode
  Serial1.write('$$$');             // CMD mode
  Serial1.write('SA,1');            // Require BT Authentication
  Serial1.write('SR,001B7A3E9745'); // Store Remote BT address
  Serial1.write('C');               // Attempts to connect to remote address

void loop()

« Last Edit: July 03, 2011, 04:39:03 pm by fronzbot » Logged

Pages: [1]   Go Up
Jump to: