Let's Make Robots!

Selecting microcontroller - What to look out for?

I'm working on a semi-autonomous robot, controlled via RF. I started off using the BS2, which I pick up from school.

 

however, i requrie something that can incorporate C or Flash as a control interface. So far, I'm only aware of PICAXE & Arduino, but I dun really understand what's the difference.

 

My component list are as follows for now:

1) IR sensors

2) ultrasonic sensor

3) DC motors w H-bridge

4) RF transceiver

 

what MCU are suitable for this application & what specs do I have to look out for?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
thanx robologist. My partner is trying out the FLASH part while I'm working out the BS2 section. Will post updates soon

Is it something like this?   http://forums.parallax.com/forums/default.aspx?f=5&m=153716

 

I have a question regarding the prog:

 

FOR loopCount = 0 TO 255

SEROUT 16, 84, [loopCount] '9600 baud through proto board serial connection  //16468

PAUSE 500

NEXT

END

 

what is the purpose of loopCount?

Sorry, missed your info added earlier :

"the mode of control is quite tricky. I'm currently using some form of  push buttons attached to my fingers with a bs2 on my arm. Thus, the control of the robot does not require a PC. but my project requires a user interface that provides video feedback as well as sensory data, just as obstacles detected, detected range, etc. therefore, the PC (the FLASH program) is used for feedback, whereas the robot control is purely determined by the arm."

In this case, of needing sensor data back from the BS2, SEROUT would be more useful. I was stuck on thinking of controlling the robot from the PC, instead of the arm. The Parallax forum posting is somewhat applicable then.

Yes, it appears they were working on a Flash interface to a BS2 in that Forum posting. However it is different in that the BS2 was sending data to the Flash program, not receiving from it. You need a Flash program to send serial data to the BS2 for control.

Regarding loopCount, did you check the SEROUT command? The format of SEROUT is :

SEROUT Tpin { \Fpin }, Baudmode, { Pace, } { Timeout, Tlabel, } [ OutputData ]

Where Tpin is the transmitting pin (16 above), Baudmode is 84 (9600, 8 bit, no parity, true signal), and the data sent is numbers being sent, 0 to 255 as the count advances. This program does a loop 256 times and sends the number of that loop out serially. All this info is in the Basic Stamp manual.

For getting data from your Flash program, 2 things are needed : Sending serial data from Flash,and using the SERIN command to read it on the BS2.

I'm only aware of programming Bs2 with PBASIC, it can be done with FLASH too? where should i start? I've tried using the DEBUG terminal to input data but it's quite limited and I've no idea how to embed it into FLASH.

 

the mode of control is quite tricky. I'm currently using some form of  push buttons attached to my fingers with a bs2 on my arm. Thus, the control of the robot does not require a PC. but my project requires a user interface that provides video feedback as well as sensory data, just as obstacles detected, detected range, etc. therefore, the PC (the FLASH program) is used for feedback, whereas the robot control is purely determined by the arm.

 

as for the RF comms range, i'm looking at Xbee or Zig 100.

 

 

 

Look at the serin commands for the BS2. If you can get your PC Flash program to send serial data, then any of the micros can respond to it, including the BS2.

PC control? If so, then any of the micros, including the BS2 you already have could receive signals from a PC programmed with C or Flash sending the commands. The more important issue is the distance needed to communicate to. There is some info from Frits on cheap rf that could work on the low end, one way comms at a low data rate for short distances. Or XBee modules could be used 2 way, faster, longer distance communications. Or maybe Bluetooth for in-between.

Getting control signals from a PC program is a matter of making the program in such a way as it sends the micro the signals it can understand, instead of trying to get a micro to understand signals sent.