First, we unboxed our Scribbler 3 robot, visited https: \\blockly.parallax.com, downloaded the robot driver, and checked out the Blockly programming environment for the Scribbler 3 Robot.
Our task in our partner groups were to ask some questions and then to see whether we could answer them. Our first questionAt first we used a light sensor and had the robot follow a light source using our smartphone flashlights. Using a forever loop and two conditional statements, we were able to get the robot to drive forward following the light. We were also able to get the robot to stop driving when the light source was removed.
We did not think that our next project would be that much more challenging. The plan was to use the sensors on the bottom of the robot to follow a black line made with electrical tape on a large presentation-style piece of white chart paper. The code as-is is pretty self-explanatory with error correction to turn the robot back to the line if it veers off of it. We went through quite a bit of trial and error, however, figuring out some of the quirks of the sensors. Originally, we had an else condition that was executed when the robot received a condition that it was not on the line. Various things we tried when the signal off the line was received: turning 15 degrees (looking for the line), calibrating (another form of looking at the line), stopping the motor, and playing a tone. Dr. Brady suggested playing the tone when the off-the-line condition was met as a debugging step. That suggestion proved to be very fruitful as we found that the C-tone was executed almost constantly even while the robot continued on its path. This lead us to the conclusion that, for whatever reason, because of the reflective qualities of the paper, the nature of the sensor etc, that the robot regularly received the off-the-line condition even though the robot was, at least for human purposes, on the line. Finally, this lead us to remove the off-the-line condition completely as it appeared that the best course of action when the off-the-line condition was met was just simply to continue driving forward and correcting. This meant that we could just delete that section of code that executed for the off-the-line condition completely. You can see our final video and our code below.