Friday, May 30, 2014

Actually, I've already purchased an infrared distance sensor with LM393. They say that it can work between 2 to 80 cm, but haven't tested it yet. I didn't give much attention when I bought it maybe because it was fairly cheap but if I'm not wrong it just warns you with a low digital signal when it senses a reflection from a predetermined distance, that distance can be adjusted with a potentiometer, though.

I think that the Sharp IR sensor which is also sold by Parallax is a better solution in terms of IR technology. Instead of telling only yes or no, it speaks analog and gives a voltage corresponding to the distance of the object. I haven't had any experience with that yet, and I don't know how narrow the IR beam is. For example; will it be able to detect a thin wooden chair leg correctly? We'll see.


Wednesday, May 28, 2014

Now that I've almost come near to finish my hardware part of the robot, I should be focusing on the more enjoyable episode which is programming. I have tried to come up with the concept of a state to make my robot have an idea what it is doing at any given time. Until I add image sensing capabilities, my robot has very simple vision tools, so its obstacle avoidance method will also be simple. Actually, it will only be equipped with ultrasonic distance sensors at the beginning. When it detecs an object ahead it should rotate in place and check if the 'new front' is empty to move forward.

When I power it on, it will begin in [initialize & wait] state until it receives a move command via bluetooth module which puts it in [moving forward] state.

Below, you will find my first and simple state diagram. I will build my software on top of it and the state diagram will surely change and improve over time.


Monday, May 26, 2014

I've been trying to figure out how to arrange and place the modules on the robot. My main principle on this issue is modularity. Everything should be easy to replace, change and upgrade. Especially, after spending so many hours on the main plates, I strongly refrain from drilling or damaging the main plates needlessly. So I ended up putting the boards on a seperate small plate.

Later, I started experimenting with ultrasonic sensors. Much to my surprise, these sensors are really sensitive and precise, almost in the rate of half a centimeter. And there is more, I thought it would be a great idea to have a permanent display on the bot for debugging, displaying the state of the program, etc. Thus, I assembled a 4x20 character display. My code is still in a spagetti state therefore I didn't post it yet. But I will post it when it is ready and beautified.

Here are some pictures of the top plate and mentioned elements on top of it;



Did you notice the drawer handles ;)


Tuesday, May 13, 2014

The mount for ultrasonic distance sensors. It fits so nicely and tight that no screw is required to keep it in the place. Now, at least two more are needed.