Tuesday, March 31, 2009

Ardubee schematics

Here's a first attempt at drawing the schematics for my Ardubee board. I'm very new to kicad so maybe it contains errors of all kind..

Monday, March 30, 2009

Ardubee, or an xbee-arduino board

So, i'm working with my robot and i have a problem: the board is deep inside the case, and i have to unscrew it to open and connect the usb cable.
I have an XBee board already inside, so i could use this tutorial to wirelessly program it.
Since this looks like a recurring problem, and since i have many project in mind that use Xbee, i tought: why not having a board with an XBee and an ATMega together? No adapters, no usb, no costly FTDI chips. Sounds cool, uh?

So i went on and installed Eagle to design the board, got scared, disinstalled Eagle and installed Kicad. Much easier. I searched around for the ATMega168 and XBee kicad components, that i found here and there, and started designing the board.

The idea is to have a 3.3V level for the whole board, just to avoid level shifting hassle and such.

The board should be quite easy to make. Stay tuned for some pictures :)

Wednesday, March 11, 2009

Many steps forward for the robot controller

Hello! So flu cought me and i'm home from work until friday, basically having 4 whole days to work on my projects.. isn't it great ? it would be even greater if i hadn't to fill thousands of handcarechiefs with what came out of my nose. But enought with my body fluids! I'm writing to show you the progress with the controller. I have completed the circuit board, making a "naked arduino" with an xbee adapter. This took about one whole day. I also made great progress with the container and the structure, and man, that was some real pain. All have to be planned and tightly placed in order for everything to fit correctly inside the box.
Anyway, i reached a good point. Now i only have the two joystick and two leds (that will be used as output devices), in future i'll place some buttons and such.
So, i tested the board by connecting the two leds to the two potentiometer of the right joystick, and magically it all worked at first try! I planned the board with great care :)

So, before i'll post some pictures, here's the video!


Monday, March 9, 2009

Tuesday, March 3, 2009

I hate when this happens

You purchase an item, and as soon as you start working on something to mount it and get crazy, they start selling a breakout board.

This is exacly what happened with the thumb joysticks!

Now, keep on with the way i'm mounting it, or purchase a couple of this and wait months to arrive ?

Saturday, February 28, 2009

Problem solving on the Killer

So i worked very little lately, since my brother started playing Starcraft again and he made me wish to play it again too :) So i wasted many evening on that instead that on robots. Man, that game still rocks after more than ten years!
Anyway, i had an issue with the Killer.. Basically, after a minute or so of operating, the arduino board freezed and the robot became unresponsitive.

After some heavy debuggin, i didn't found anything. I've noticed that using standard Arduino Serial library instead of AFSoftwareSerial that i was using, it works. I used that to communicate with the XBee module. So it must be something with AFSoftwareSerial, that btw, if you don't know, is a library for serial communication in software made by LadyAda. The serial connection is heavily sinchronized, so making it in software is an hard job. Maybe something in my setup messes with it, and so it hangs. Switching to the standard Serial, which works in hardware, fixed the problem.

The only problem is that the primary serial port is also used to download programs into the arduino, so i'll probably have to disconnect the xbee every time.. Well, whatever :)

Thursday, February 19, 2009

Universal Remote Controller

So, to control my killer robot, i obviously need some kind of controller. Don't you expect me to go around killing peoples while carrying my laptop and using the arrow keys ? :)
Just joking.. my robot won't kill anyone. (Not enought firepower) :)

Anyway, i decided to make a small, hand held, xbee base, arduino powered controller, since it will not be tied in any particular way with the killer robot, it will be avaiable for future robots too, hence the "Universal" in the name.
Initially i considered adapting an existing Playstation controller, but then i realized it doesn't have very much space, and the appearence of these lovely thumb joystick on sparkfun definitely made me decide to roll my own controller. It will look much cooler, btw.

So, here's some of the planned hardware:

Part list:
So basically the idea is to put together the joystick and some extra inputs, define a standard communication protocol and implement the relative software.
The extra input will be a potentiometer (for changing some user defined value), microswitch to make some action buttons, dip switch to set some digital values.
The robots will be able to communicate back some data, that the controller will use to light the leds and eventually to buzz the buzzer.
The structure will be based on a board of plexyglass (13 cm long) with the joystick and potentiometers glued over. Yes, i usually hate to glue stuff, since i like to recycle my robots, but the controller will be universal, and there's no many other way you can use a thumb joystick anyway.
Below the plexyglass, at about 1 or 2 cm i'll attach the perfboard which will contains the circuitry. I have yet to decide wether to use 4xAA batteries or 1x9V batteries to power the stuff. The 9V can maybe be inserted between the two boards (making the controller smaller), while the 4xAA would need to be attached below. I'll have to check the energy budget since the XBee pro module can consume some nice current.

For the "brain", i decided to go for a "naked arduino", that is, an atmega168 chip with Arduino Bootloader without the board. The circuitry needed to run the thing is very simple. It will also use much less space, apart from being cheaper. Of course it require more work, but that's a good thing for me :P It will not programmable "in circuit", but once the software is written, it shouldn't change that often, if ever.

So, stay up for updates :)