UPDATE: I changed to a 2S li-po battery and the robot runs faster and runs well on carper too.
Some years ago I became interested in the Arduino microcontroller and more recently the Raspberry Pi computer. Initially I wanted to do some physical computing projects (programming devices to sense and to run physical devices). I made LED’s flash, stepper motors and servos rotate, built a permanent wireless weather station and an infrared burglar alarm and then decided robots were the next thing to do.
It takes some time and effort for a beginner to become familiar enough with Arduino and run the IDE (integrated development environment), but the IDE provides many examples and the internet is full of Arduino programs. –I never wrote any original programs, but did minor modifications to some I found on line–.
The IDE has, now and again, trouble finding the software ports on my iMAC. <I solved this and will sent anyone who NEEDS it the information.>
The whole Arduino “thing” is open source, btw. One can purchase microcontroller copies at pretty low prices that usually work well. <Beware of microcontrollers that require a unique set of drivers.>
My first robot was a complete kit from www.yourduino.com His site provides detailed instructions and the code to copy/paste into the Arduino IDE. One can alter the code to influence speed and ping range.
This robot is autonomous and obstacle avoiding. It runs on a hard surface anywhere it wants and uses a ping sensor (sonar) on the front to detect obstacles and stop and turn to avoid them. It can get out of some pretty tight situations. I used a different battery pack and placed it in the center of the robot to improve wheel traction.
From right to left:the ping sensor on a servo (rotates 180 degrees), H bridge motor controllers, battery pack, and Funduino, an Arduino clone.
References: You Tube: Paul McWhorter, best; et. al.
books by Simon Monk
Wireless weather station on Instructables by Debash Dutta.
What is going on here? The battery pack supplies ~9 VDC to the Funduino, which then powers the H bridge, servo, and Ping sensor. In usual operation the Funduino software tells the H bridge to run the robot forward (one motor clockwise; the other counter clockwise), the H bridge delivers a reduced voltage to the motors which are each 3.3VDC, I think. The Ping scans on the servo and sends a signal to the Funduino if an obstacle is encountered. Depending whether the obstacle is in front, left, or right in relation to the Ping, the Funduino will signal the H Bridge to change whichever motor direction is required and then return to normal forward motion. “Smarter than your average bear.”