Drawing Robot

22 January 2016


The drawing robot was a fun project that was mostly software based for me. It consisted of a two-dimensional plotter with a microcontroller connected to stepper motors like a 3d printer. The stepper motors drove belts that connected to a cartdridge that held the pen.

I was tasked with creating a program that the controller in the robot could use to make interesting images. I decided to write a program that converted digital images into the same image but represented by continuous squiggly lines, which could easily be traced out by the robot.

The squiggly lines were generated by a sine function with variable amplitude and frequency. The algorithm scanned the jpg image by a certain number of pixels per increment and based on the brightness of those pixels, a corresponding amplitude and frequency was generated for the sine function. This produced quite beautiful images and allowed the robot to move the pen with a minimum amount of lifting-off the page.


Portrait


For the electronics, an arduino uno was used with a CNC shield and drivers for the stepper motors. In order to configure the stepper motors, the potentiometers on the drivers had to be adjusted so as to set the current limit on the stepper motors. This ensures that the torque caused by these motors does not exceed the rated value.