

We do not intend to commercialize our design so this should not be an issue. The Wiimote was designed by Nintendo, though I haven’t found a patent for the Wiimote itself.
How to use darwiinremote Bluetooth#
Our project uses the Bluetooth wireless protocol, which is a built-in feature of the Macbook as well as the Wiimote. Relation to Standards and Intellectual Property

Fortunately the servo doesn’t have to be in a precise position for the crane to work, it only has to be roughly controllable. Only two timers on the Mega32 have PWM capabilities (Timer0/Timer2), so we had to manually generate a PWM signal, which sacrificed some accuracy on our timing. We needed to generate three PWM signals to control the three servo motors. The explanations for these concepts come up in the later sections of this report. We also needed some basic circuit design skills for building the LED array. We needed to understand how the Wii’s IR camera worked and also needed to be good at PWM signals for the servo motors. There wasn’t any extremely challenging math involved in our project. We decided to use the remote to track infrared points and use this data to control a crane composed of three servos with a gripper.
:max_bytes(150000):strip_icc()/002_how-to-sync-a-wii-remote-5069399-e8bb8ab0969f4317a3291047b030a12e.jpg)
Our first idea was to track points using two Wiimotes in 3-d, but the difficulty of getting just one Wiimote to work scratched that idea.
How to use darwiinremote serial#
The servos are controlled by PWM signals sent by the Mega32 MCU, and these signals are generated from parsing the received IR data from a serial connection with a Macbook wirelessly connected through Bluetooth to the Wiimote.Īfter watching some of Johnny Chung Lee’s videos on Wiimote hacks(), especially the infrared tracking video, we were inspired to create our own Wiimote application. Our crane is composed of three servo motors, one of which is connected to a gripper. The Wiimote is a powerful gadget and we wanted to build a new hack with it. Increasing that gap (right now its at 100) would let the “faster” PWMs be able to catch the sensed light within that range.We used the Wiimote’s IR tracking capability and Bluetooth to wirelessly control a robotic crane arm. In my case I think I set the Stop PWM to occur when the light sensed was ~ 450 < ircamBlob1.x < 550.

Another way to resolve this is to increase the range in which you set the servos at the “0” position (to stop the servos). If your Slow speed is not slow enough to rotate in small increments, it will overshoot ever time back and forth. You have to test your motors to see what their range are, and figure out the best possible PWMs to allocate as Slow, Medium, and Fast. Sparkfun’s range was from 1000 - 2000, while Adafruit’s was from 1300 to 1700. I bought 2 continous rotation servos one from, and one from. Some servos will have a larger range of pwm signals they respond too. Different servos have a different “0” position.
How to use darwiinremote code#
If you are using my EXACT code then I’m positive of what the problem is I’m relatively new to the Arduino way of working so any advice or direction is extremely appreciated! Please ask me to repeat anything or post code if you feel it is needed - I don’t even really know where to start! I have seen many projects using the Wii Nunchuck with incredibly smooth and responsive movement so I’m wondering, and asking, if there is a better approach I could take? Quite often however the source will ‘over jump’ the centre causing the unit to compensate by moving back and then over jumping again and so forth in a constant loop. On the next loop I analyse the point again and do the same until the source is once again centred. I then instruct the Arduino (via Serial) to move the appropriate servo (pan or tilt) left or right/up or down a step. My logic at the moment is to get the co-ordinates of the source (or average co-ordinates if there are multiple sources) and then analyse their position relative to the centre (i.e: with the pan tilt unit looking dead on at the source) in Processing. Now, herein lies my problem, the tracking motion is incredibly jerky, wobbly and just entirely inefficient. I also have managed to get the pan/tilt system to follow the source using some crude logic. I have managed to successfully connect the WiiMote to my MacBook using DarwiinRemote OSC available from Google Code (Google it for my info, the forum won’t let me post a link on my first post ). Not entirely sure where to put this topic so someone please let me know if this is off topic for the forum category.įor my 4th year university honours project I am trying to build a pan/tilt camera unit which uses an onboard WiiMote to track an Infrared source.
