My past Arduino projects haven’t been ones you’d associate with the word “robot”. I finally wanted to dive into the conventional sense of the robot and build a basic roaming robot that I would add onto. With that, “Frank” was born (not sure where I got the name from, but I like it).
I got a lot of inspiration from just Googling “Arduino robot”. There were many other robots already existing that look just like Frank — but made of better materials. I really don’t mind my projects having exposed wires and cardboard everywhere. With everything looking makeshift, it reminds you that you made dis.
My planning started with picking a microcontroller. I’ve only used Arduino Mega compatibles before but for a project that I knew wouldn’t need so many I/O’s and that would have a smaller footprint, I went with the Uno (a real one). I got all of the parts off of RobotShop.com except for a tactile button and a switch I harvested from an old RC car, and an 8-ohm speaker I got with a school lab kit but we never used. They’ve got a Montreal warehouse so their cheapest shipping (around $6) usually takes just a day or too.
Frank is equipped with an ultrasonic range sensor that will detect if there’s something in front of him so he can react appropriately. He moves around using two continuous rotation servo motors. That’s pretty much the base objective I was going for, and I’m satisfied to say that I’ve completed that, though there is still some fine-tuning to do. If he’s not going completely parallel to a wall next to him and just slightly going toward it, he’ll eventually crash into it because he’s only looking forward. I tried to have his head turn to look around him but it wasn’t working so he’s just looking straight ahead for now.
So now that I had a base, I wanted to add my little (almost gimmicky) features. On the underside of his carriage, there is the 8-ohm speaker. Right now he can sing a bit of Vengaboys’ Vengabus and Daft Punk’s Get Lucky. There will definitely be more added to his repertoire eventually.
The next post about Frank will talk about features that didn’t work and future feature additions. I’ll also be cleaning up the code, hopefully making him a bit smarter. Thanks for reading!