Calder Sketch Machine

by jpabla in Circuits > Arduino

72 Views, 0 Favorites, 0 Comments

Calder Sketch Machine

IMG_8684.png
IMG_8685.png
IMG_8686.png
Calder Sketch Machine

Armed with two motors and an Arduino, I set out to create my own version of a mark making machine. In doing so, I wanted what I created to be a foundation of a more complex drawing machine. To draw something, it's necessary to have joints in your arm as to reach different parts of the paper. With two motors, I was able to create two joints that guided my pen across paper.

In the way that I structured my machine, the pen or pastel is constantly touching the piece of paper. This means that no movement is left undetected. There is no opportunity to lift into the air. For this reason, I named my machine the Calder machine. Alexander Calder was an artist famous for his wire portraits in which no stroke was left wasted.

Supplies

Arduino Uno

Potentiometer

Button

Servo Motor

DC Motor

L298N H-Bridge Motor Driver

Cardboard

Zipties

Glue

Button Input

Screen Shot 2024-02-18 at 11.45.05 PM.png
IMG_8668.png

I started by finding a way to incorporate user input into my machine. The simplest digital input we can use is a button. I followed the circuit above and wrote a program to print out whether or not the button is being pressed.

Potentiometer Input

Screen Shot 2024-02-18 at 11.45.18 PM.png
IMG_8669.png

The second piece of user input required the use of a potentiometer. As with the button, the circuit above and code below set up the input device and prints out its status.

With this, our input is complete. The potentiometer will be operated by the user to control the positioning of each of our two motors (coming next). It would make more sense to have two potentiometers, one corresponding to each motor. But, with access to only one potentiometer, I will be using the button as a way to toggle between which motor I am controlling with my single potentiometer.

Servo Motor

Screen Shot 2024-02-19 at 8.22.14 PM.png
IMG_8670.png

The first motor we will connect is a servo motor. We can then connect it to one of our inputs in the potentiometer. With the provided circuit and code, twisting the potentiometer will enable the motor to spin as well.

DC Motor

l298.png
IMG_8671.png

The second motor I had access to was a DC Motor with an accompanying L298 H-Bridge Motor Driver. I took inspiration from the circuit shown above to add this motor to my existing circuit. The resulting circuit is shown in the second picture above. As I did in step 3, I wrote a program to translate potentiometer input to motor movement.

Downloads

Putting the Pieces Together

IMG_8684.png
IMG_8685.png
IMG_8686.png

With our circuit complete, I built out a cardboard frame to accompany it. By attaching the motors together, I now had a single arm with two joints, so to speak. At the end of this arm was a mark-making device. I chose a soft pastel but also experimented with a pen.

I then wrote an accompanying program. By clicking the button, a user can switch between controlling the two motors. Then, as we did in previous steps, the user uses the potentiometer to control the motor's movement. The code I wrote is attached. The actual values used for motor calibration can be adjusted based on your specific use case.

Downloads

Next Steps

There were a lot of problems to be solved, often caused by limitations in equipment.

If I had two servo motors, I definitely would have used those instead of the DC motor for more user control.

The other main issue I encountered was how to connect different pieces together. I often used glue and cardboard, but the small surfaces were difficult to cleanly attach. What's more, distributing weight effectively to enforce contact with the pastel/pen and paper was difficult. Finding pieces that attach to my motor more easily and making a more structurally sound device would help with this.