Physical computing is a good way to spark interest in coding. While manipulating bits and bytes is what code is written for, a change from "0" to "1" in RAM isn't that noticeable as a change from 0V to 5V on a GPIO with a piece of electronics being attached to. The disadvantage is that you need to build (or buy) additional hardware to visualize that change in software state. Robots are a common toy (I see it as a tool) to visualize what normally is invisible. My approach is to install another webcam in my www.RoboSpatium.de that points to a robot you can control by code lines e.g. turn the drive motors on for a second or so to make it move into a certain direction. With a Raspberry Pi powered robot and a second Pi controlling a third person view webcam, the needed hardware already exists:
All that's left to be done, is "just" the coding.
The robot seen on the photo is a prototype of my "World Tour Robot", a rover that is meant to be send out to the world in a post parcel to various destinations. With its RC hobby drives, this prototype is too loud and not reliably enough, so I must build a new one with stepper motor drives. Not good enough for one project doesn't mean it has to be scraped. It definitely is good enough for driving on my attic, triggered by code lines.
For this project there is:
Hardware - solved
Software - time needed...