At last everything is working! In order to get the bot working we had to tweak two things:
- the wheels were not fixed in the walls of the bot so it could not go in a straigh line. By adding tape to the motors, we were able to make a better fit and fixed the wheels.
- When all the parts had come together, the bot would not draw/drive anymore. The problem was that all the parts were pulling too much energy. So by putting two batteries in series we were able to give the bot enough power.
Explain whether your project ended up as you initially envisioned
The final project does differ from our envisioned goal. We have not made use of the WiFi Shield and, therefore, cannot read APIs and make the robot move based on that data. So the final project is a "lite" version of our initial idea.
However, having the bot run "offline" is a good starting point to learn more about robotics.
What challenges did you face?
This project had a big physical component to it so we had to figure that out before actually starting the coding (which then only was the last push). The hardware added another dimension to the project and it made de-bugging really complicated because the errors became "invisible". The only way to really figure out the poblems is to do a lot of testing of the cables and isolating and testing all parts individually. For example, the range sensor stopped working at some point and we weren't entirely sure why. So we wrote a sketch just for the sensor and ran some test until we figured out that the casing was pushing the ultrasonic receiver and transmitter at an angle apart from one another. This caused the sensor to not read properly. Althought the bug is fairly simple in theory, figuring out what caused took some time.
Any lessons learned?
Yes, we should have prototyped everything on a breadboard rather than throwing everything together in the actual robot. Going for the bot right away makes you run into a lot of problems and debugging very complex.
Any last thoughts about this project?
Building the bot really was a challenge because I have never dabbled in robotics before. However, it is very rewarding when things actually work out in the end. I hope to learn more about soldering and rewiring shields in the future so I can actually connect it to APIs to make it draw based on data it receives.
Any last thoughts about physical computing?
At the beginning of this semester I really had no clue about physical computing or Arduinos and I really didn't expect to be building a robot by the end of the semester. That being said, I think there is so much more to be explored and I am very glad to have a more entertainting "real-life" application to programming. That is something I have been waiting to explore for a long time!