JunkBot Update Notes:
- changed PWM functionality: Originally used 4-PWM pins to accomplish the task at hand. Realized it can be done with 2 PWM signals. ie: PWM on pin 3 and HIGH on opposing pin = Forward. PWM on pin 3 and LOW on opposing pin = reverse. Had to invert the duty cycle of course.
- added SD Card functionality to the JunkBot: Am able to record the movements as directed from the wireless remote control, and play back those movements. The device would probably require stepper-motors to have a chance of cutting the lawn by memory alone. However, the next modification to this will likely be a reverse playback or 'rewind' function. Seems to be slight differences between recorded and actual movements, but likely due to timing.or traction I assume.
*One of the major problems I encountered was the cheap SD Shield purchased did not connect well to the cards, so I actually ended up pressing the card in further while I taped it in place. It worked great after that, but took me quite a while to determine the issue since it would stop working randomly, but work again upon re-insertion. One of the motors also started putting out excessive feedback and causing it to fail during writing, and causing data corruption. Replaced with a motor from broken cd-changer.
- Separated all vehicle actions into separate functions to make it easier to follow as well as for later on if individual customized movements are required. ie: Adjust > Fwd/Rvs > FwdRt/FwdLft/RvsRt/RvsLft
- Modified/modifying code to make remote control and turning smoother and transitions more seamless between wheels moving from forward to reverse etc. Is quite a bit better than before.
- Starting to investigate and experiment with different methods for navigation or spatial memory along with looking at sensors that may be useful when attempting to mow a lawn autonomously. This will be a bit of a process to say the least. Wondering about the level of difficulty in building my own acoustic range finder.
- found it impossible to even barely light an LED from analog pin 6 or 7
on the Arduino Nano, but have not found any reference in the official
documentation or otherwise that would suggest why. This was tested on
both Nanos that I have. Could it have something to do with the fact that
the Uno or Duemilanove have only 5 analog pins??
JunkBotSD source: here