Jump to content

About movement and communication

Recommended Posts


I've got two beginners questions...


1) If I'd want to move a robot by a specific distance (however not be very precise), do I need wheels with encoders? Can't I somehow approximate the time I need to power the engine? I don't need to move exactly 1mm left or right. I've read about encoders, but they are too expensive for me.


2) If I wanted to control a robot from an Android app via bluetooth, could I send some data from the robot to my phone, process the data (on the phone) and send something (an instruction, lets say) back to the robot?


Sorry for my English.

Thanks in advance.

Link to post
Share on other sites

1) encoders are the easiest way to go, but are not strictly needed. They can be free, if you know where to look. An old printer, floppy disk drive, ball-type mouse, or any of a large selection of other devices is a good source for a LED-phototransistor  pair, and the encoder wheel can be made from pretty much any opaque material that you can cut round and put a few holes or slots into and mount to the motor or wheel shaft.2


2) Yes, if you have a bluetooth com device available for your controller on the robot, but this is a "if you have to ask, probably not" type question in regard to YOUR current level of skill. It is not trivial to do this, and the android end if  a totally different task than the robot end. Do not allow me to discourage you, but you are likely to have a lot to learn to be successful, and it will likely take you some time to get there. There are people here that can give you a lot more detail than I can. This is far from my specialty and I have never dealt with bluetooth directly- only as a buried layer in the middle of a protocol that makes it invisible to me.

Link to post
Share on other sites

1) It all depends.  Without encoders, you have to assume the distance traveled is directly related to the time the motor is running.  There are a number of things that can introduce uncertainty to this (e.g. wheel slip, slop in the motor, different surfaces, etc), and the more 'moves' you make, the more the uncertainty adds up.  So moving point A-> point B over a smooth surface and low speed?  Sure you can probably get away with it.  If you want to get more complicated than that, then you will want some sort of feedback to tell the robot that it actually did the motion it was commanded to do.  You can estimate the uncertainty and figure out how much 'slop' you can tolerate in the problem, or you can just try it without encoders, and if it doesn't work go back to the drawing board.


2).  The BT bridge part is simple.  You can purchase BT->UART dongles that provide a 3.3V level UART bridge.  You supply it power and a connection to the UART on your MCU and it creates a virtual BT serial port for a computer to connect to.  This is only 1/10th the problem though.  You still need to figure out what "data" is being sent and how to process it on both ends of the connection.  

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...