tank robot

Finished robot, on track.

I started with the same base as the Cocoabot https://www.robotshop.com/letsmakerobots/node/36700 - I had not seen his, but great minds think alike. I built this as a demo bot for Roborave.org. I used aa Arduino pro328, with a proto shield jusrt for connections, and a protoboard on the top for my connections and two 2-motor H-bridge chips.

If you look at the track, you can see it is just black electrical tape. The original track - on the other side - has a tight turn the tracked base could not handle because it was too long.

The arm motor is to move an arm to dump ping-pong balls into a box. The front sensor determines the distance to the box. This is a QRD1114 IR LED and optotransistor.

The line followers are a Sharp GP2Y0D810Z0F. Thru a mixup, this sensor was meant to be the distance sensor. It is another IR LED/optotransitor, but with a filter that has a PWM-like output. I had to custom make a little PCB out of copper clad, JB weld the sensors onto them, then cut my own pads to solder the connections to. The "art" piece is my prototype connections to make sure I knew how to connect the thing.

Otherwise, construction was simple. I started with the electronics stack in the middle, but had to move it back to balance with the arm motor (a  kit by the same folks as the base).The same battery pack powered everything.

line follow

  • Actuators / output devices: Tamiya twin gearbox
  • Control method: Pre-programmed
  • CPU: pro328
  • Operating system: none - bare metal
  • Power source: 8-AA
  • Programming language: C (old school)
  • Sensors / input devices: Reflective infared distance sensor, Line
  • Target environment: educational

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/tank-robot

I had added pictures

I addedpictures in the HTML, but after a preview, they had disappeared. The pictures are in the attached files.

Nice!

I like your sturdy construction on top of the Tamiya stuff.  (After the gearbox they don’t really leave you much space on the original chassis, do they?)

What’s the wire (if it is a wire) coming in from the right?

The wire…

The long wire is the USB/serial cable to start the sequence, then show the various sensor values and state machine transitions. I have a Command Line Interpreter (CLI) with commands that let me control various things - like read the line sensors in a loop, or set the thresholds, etc.

Hope that answers your question.

Thanks

That’s a good approach to know-- especially for debugging, I’ll bet.  USB was one of my guesses… the other guess was a safety line, in case it made a sudden run for the edge of the table :slight_smile:  Speaking of that, good thinking with the “T” at the end of the route.

A table-driven CLI in C for Arduino

I am happy to post the CLI code for Arduino if someone is interested. I do firmware for a living, and I have different ones for my professional work. The first thing I do is get a serial port working and port a CLI.

Please point me to the right FAQ or posting on the process if y’all are interested.