Educational GearBot

Hi all,
I’m a college student majoring in computer science, and I’m trying to make an educational robotics product which I’m hoping to do robotics demonstrations at elementary schools with. I started teaching kids programming concepts with robots around 2 years ago. It has been an enjoyable experience and I think the kids learned a few things. But now that I am in college I don’t have access to those robots anymore, so I thought I’d try making my own, and just for fun I thought I would make a forum post on my progress which I would keep updating weekly as I went along. I also have a GitHub here.

This Week

Hardware

  • I made an Onshape model for the robot and included the STL files and link in the GitHub. My idea so far is to have a robot with two wheels. The wheels would have gears connected to them, and would be driven by a single motor with its own gear. The wheels’ gears would be made of cardstock, so kids could fold the teeth of the gears so they are shorter. At some point in time, let A and B be the teeth of the left and right wheels’ gears which are being pushed by the motor’s gear. If A and B are both unfolded, then the motor’s gear will push both of them at the same speed. If A is unfolded but B is folded, then A has a larger radius than B, so A’s gear would spin slower than B’s gear; this would get translated to the left wheel spinning faster than the right wheel, so the robot would turn left.
  • The issue is that because there is only one motor, and the wheels’ gears are to either side of it, the wheels will turn in opposite directions. So I made the motor’s gear such that one side pushed the top of the wheel, and the other side pushed the bottom. This way, they would spin in the same direction, but that direction would alternate as the motor rotated. To make sure the wheels can only go in one direction, I am using a ratchet and pawl mechanism.

Next Week

Hardware

  • I will 3D print the parts and test them out to see if they work okay.

Software

  • I would also like to add an IR sensor to this robot, so that, if a switch is on, the robot will stop when the IR sensor returns 0. I will write the code for that.
  • Over winter break, I took a PCB Design and Microcontroller class. To apply that, I plan to design a PCB in KiCad. The PCB will connect the microcontroller, the IR sensor, the motor controller, and the motor. I’ll first prototype using an Arduino Nano, and then design the board in KiCad.