Abstract Art Machine

by Darmana1234 in Circuits > Arduino

165 Views, 1 Favorites, 0 Comments

Abstract Art Machine

machine.PNG

Throughout time art has been a creative expression of ideas through representation however at times you just don’t have any but that's ok!  The Abstract art machine is here to help. This innovative technology uses the power of physics and imagination to transform a blank canvas into a work of art! The catapult launches paintballs, merging together splats of colour all over! Never again will you have to worry about last-minute art projects, just let the machine do its job. 

The strength of the motor and tension of the rubber band help flick the paintballs to construct your art, no more aching wrists! You might get kicked out because your art will be extraordinary and too good to be submitted as an assignment. No more A+’s instead your work will get to be featured at an art gallery, or on social media. The abstract art machine will brighten up your life, and maybe also your clothes along with the canvas, but this sacrifice will be worth it in the end! Hope, trust, and believe, the abstract art machine will change your life for the better.



Supplies

Electronic Components

  • Arduino components 
  • An ultrasonic sensor
  • 12V motor
  • L298 Motor Driver
  • Wires

Fabrication Components

  • Plywood (or any strong wood) 3mm
  • Acrylic (or any other strong material)
  • Nuts
  • Washers
  • Screws
  • Rubber Band
  • Cap

Tools/ Machinery

  • Super Glue
  • Laser Cutter

Assembly of Arm, Base, and Box

Utilizing the list above the following:

Arm:

  • Using an acrylic sheet laser cut a rectangular piece for the arm and a small stopper for the rubber band. There should be a hole for the screws, and an extended holder for the cap.

Stopper/Legs

  • The stopper and legs are laser cut using plywood, a rectangular piece with a slit according to the thickness of the material is used to ensure it fits and holds the structure of the machine well

Face

  • The face of the machine is laser cut using plywood, a rectangular piece with an angle cut on the side contains 3 holes, one for holding the screw/rubber band, the motor, and the arm.


Software/ Hardware Assembly

385 Diagram_pages-to-jpg-0001.jpg
!!!!!!!.PNG

Using Aurdino components, the following can be constructed using the diagram:

Fabrication Laser Cutting

Arc385_Drawing2 [Converted]-01.jpg

The image above showed the laser-cutting file in order to construct the abstract art machine

Assembled Diagram

ViewCapture20230315_210058.png
ViewCapture20230315_044233.png

How it should look after laser-Cutting. Second image shows the box which would hold the hardware components

Code

//https://lastminuteengineers.com/l298n-dc-stepper-driver-arduino-tutorial/

//https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/


// const int motionSensorPin = 8; // Assign motion sensor pin to 2

const int motorEnaPin = 7; //Assign motor to enable pin (on/off) to 7

const int motorIn1Pin = 6; //Assign motor input 1 pin (to control direction) to 6

const int motorIn2Pin = 5; //Assign motor input 2 pin (to control direction) to 5

const int TRIGPIN = 11;

const int ECHOPIN =10;

double duration;

double distance;


void setup() {

 //Set PIR Sensor to Input

 Serial.begin(9600);

 // pinMode(motionSensorPin, INPUT);

  

 // Set all 12V motor pins as outputs

 pinMode(motorEnaPin, OUTPUT);

 pinMode(motorIn1Pin, OUTPUT);

 pinMode(motorIn2Pin, OUTPUT);

 pinMode(ECHOPIN,INPUT);

 pinMode(TRIGPIN,OUTPUT);


 // Start with the motor off

 digitalWrite(motorEnaPin, LOW);

 digitalWrite(motorIn1Pin, LOW);

 digitalWrite(motorIn2Pin, LOW);

}


void loop() {

 // Check if the input is HIGH (motion sensor pin)

 // int motionSensorValue = digitalRead(motionSensorPin);

 // Serial.println(motionSensorValue);

digitalWrite(TRIGPIN,HIGH);

 delayMicroseconds(1000);

 digitalWrite(TRIGPIN,LOW);

 duration = pulseIn(ECHOPIN,HIGH);

 distance = (duration/2) / 28.5;

 Serial.println(distance);


 if (distance<10) { //if the motion sensor senses motion (HIGH)

// Turn on the motor at maximum speed

digitalWrite(motorEnaPin, HIGH);

//When Motor pin 1 - High, and Motor Pin 2 = LOW, the motor spins forward

digitalWrite(motorIn1Pin, HIGH);

//digitalWrite(motorIn2Pin, LOW);

delay(1000);

 } else { //if motion is not sensed, turn off the motor

digitalWrite(motorEnaPin, LOW);

// When both motor inputs = LOW, the motor turns off

digitalWrite(motorIn1Pin, LOW);

digitalWrite(motorIn2Pin, LOW);

 }

}

Project Design Assembled

Arc385_Drawing [Converted]-01-01.jpg
IMG_4815.MOV

The Assembly of materials is shown in the diagram.

The motor is placed within the open hole with the aurdino and other circuit connections located in the box

Conclusion

The abstract art machine was an interesting way of combining both the fabrication of design with aurdino code, however, the process of getting it to function as desired became challenging. Through the assembly of the design, our group experimented with ideas of how the machine can be built. At first, we considered utilizing two paddles and a motor to throw a paintball out, however, realized that the force could result in the paintball exploding before it reached the canvas. Therefore, a new design idea was developed by using a catapult where the paintballs would be thrown out of the slingshot. This would require a strong motor connected with a rubber band which would control the arm of the machine which is responsible for throwing the paintballs. We constructed a sketch model of this and researched the most efficient and precise ways of projecting an object, discovering that 45 degrees are the best angle to use. Most of the challenges we faced were through the fabrication process by trying to figure out the best positions for the holes, their sizes, and connections between all the parts. Through numerous attempts, we figured out the perfect measurements which allowed everything to function as it should. The most difficult part was positioning the motor, elastic, and arm, so as the motor rotated, the rubber band would be tense enough to push the arm upwards at the perfect angle, and restrict it with the positioning of the stopper. Once we figured it out everything was glued in place. We experimented with the code and were able to combine both to create a functioning art machine!


Through the design process, we learned the importance of experimenting, planning, and the relationship between hardware components with software code. It was difficult to create something which relies on both considering how digital ideas may not translate perfectly in the real world and requires a lot of redesigning and thought. We were able to get the overall design to behave as we wanted individually, but the system altogether needed work to function. We noticed the arm behaved differently than expected due to the positioning and strength of the motor however were able to find the perfect balance between the two.


In conclusion, our group was able to learn from the challenges we faced through both the code, and fabrication of the design, as well as putting the two together. However, through the mistakes, we made we were able to learn from the process and create a functioning abstract art machine which can fling paintballs onto a canvas and create a work of art.