Week 8.5

When a code-controlled drawing arm is Art

About the Project: Harlen Cruz's A Crash

Although the screws and sturdy materials

suggest the artwork is stable, the drawing it

creates says the opposite. It moves aggressively



on the paper and it taps the paper frequently,

demanding attention as if the artwork itself

needs help.

The image created looks similar to a wave

crashing. A smooth stream of water makes

people think of tranquility and peace, a violent

wave is a crash of thoughts and emotions.

Choosing a blue marker and teal structure

is supposed to connect with feeling “blue,” the

project releases its stress and frustration

through its motion on the paper.


import RPi.GPIO as GPIO

import time

servoPIN = 18

GPIO.setmode(GPIO.BCM)

GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 18 for PWM with 50Hz

p.start(2.5) # Initialization

try:

while True:

p.ChangeDutyCycle(5)

time.sleep(0.5)

p.ChangeDutyCycle(10)

time.sleep(0.5)

p.ChangeDutyCycle(2)

time.sleep(0.5)

p.ChangeDutyCycle(12.5)

time.sleep(0.5)

p.ChangeDutyCycle(1)

time.sleep(0.5)

p.ChangeDutyCycle(7.5)

time.sleep(0.5)

p.ChangeDutyCycle(12)

time.sleep(0.5)

p.ChangeDutyCycle(2.5)

time.sleep(0.5)

p.ChangeDutyCycle(11)


#plus many more


p.ChangeDutyCycle(12)

time.sleep(0.5)

p.ChangeDutyCycle(5)

time.sleep(0.5)

except KeyboardInterrupt:

p.stop()

GPIO.cleanup()





________________________________________________________
Jade Vincent's Colossus Jr.


Colossus Jr. is base off of the music video from Avatar’s Colossus, which entails mankind attempting to create the perfect person from a robot child but teach it through abuse and fear tactics. Since I am currently taking a social context of education class at the moment, I have learned how and why this type of approach to teaching is not the most optimal way for a child to learn and in fact is extremely harmful to them. In my piece I wanted to show an alternate way that Colossus can learn; in a nurturing environment that would allow him to flourish. 

To get the idea across that this was going to be a healthy learning environment for what is essentially a child. I surrounded it with children’s storybooks, colorful toys, and different art materials (paints, crayons, markers, etc.). I painted my armature baby blue and built it to be around the size and length of a child’s arm. For the paper, I had my two-year-old cousin draw whatever he wanted with paint and paid attention to how he drew (scribbled, really) on it. When he was done, I edited my coding to somewhat simulate his arm movements; how often did he go off the paper, how rigid his arm was, how sporadic his brushstrokes were, and so on.



#!/usr/bin/env python

import RPi.GPIO as GPIO

import time

IN1 = 11 # pin11

IN2 = 12

IN3 = 13

IN4 = 15


def setStep(w1, w2, w3, w4):

    GPIO.output(IN1, w1)

    GPIO.output(IN2, w2)

    GPIO.output(IN3, w3)

    GPIO.output(IN4, w4)


def stop():

    setStep(0, 0, 0, 0)


def forward(delay, steps):

    for i in range(0, steps):

        setStep(1, 0, 0, 0)

        time.sleep(delay)

        setStep(0, 1, 0, 0)

        time.sleep(delay)

        setStep(0, 0, 1, 0)

        time.sleep(delay)

        setStep(0, 0, 0, 1)

        time.sleep(delay)


def backward(delay, steps):

    for i in range(0, steps):

        setStep(0, 0, 0, 1)

        time.sleep(delay)

        setStep(0, 0, 1, 0)

        time.sleep(delay)

        setStep(0, 1, 0, 0)

        time.sleep(delay)

        setStep(1, 0, 0, 0)

        time.sleep(delay)


def setup():

    GPIO.setwarnings(False)

    GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location

    GPIO.setup(IN1, GPIO.OUT) # Set pin's mode is output

    GPIO.setup(IN2, GPIO.OUT)

    GPIO.setup(IN3, GPIO.OUT)

    GPIO.setup(IN4, GPIO.OUT)


def loop():

    while True:

        print ("backward...")

        backward(0.003, 64) # 512 steps --- 360 angle

   

        print ("stop...")

        stop() # stop

        time.sleep(1) # sleep 3s


        print ("forward...")

        forward(0.005, 64)


        print ("stop...")

        stop()

        time.sleep(1)


        print ("backward...")

        forward(0.005, 32)


        print ("stop...")

        stop()

        time.sleep(1)

       

        print ("forward...")

        forward(0.005, 16)

       

        print ("stop...")

        stop()

        time.sleep(1)


        print ("backward...")

        forward(0.005, 16)


        print ("stop...")

        stop()

        time.sleep(1)


def destroy():

    GPIO.cleanup() # Release resource


if __name__ == '__main__': # Program start from here

    setup()

    try:

        loop()

    except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child function destroy() will be executed.


        destroy()


________________________________________


Andrew LaMonica's Conceptual Barber

The Conceptual Barber is a drawing machine designed to create potential

hairstyles. The styles created by the barber, in almost an act of divination, continue to

match up to various hair styles I have had throughout my life, and even some hair styles

reminiscent of those prominently seen in contemporary politics. The machine is

programmed to have a similar rhythm to a barber, with bursts of movement and a pause.

The barberly movement is compounded by the methodical repositioning of the drawing

machine, while in use, by the artist. The machine can create potential hairstyles, but it is

up to each individual's interpretation to show what these truly are.


import RPi.GPIO as GPIO

import time

servoPIN = 18

GPIO.setmode(GPIO.BCM)

GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 18 for PWM with 50Hz

p.start(2.5) # Initialization

try:

while True:

p.ChangeDutyCycle(5)

time.sleep(0.5)

p.ChangeDutyCycle(7.5)

time.sleep(0.5)

p.ChangeDutyCycle(10)

time.sleep(1.5)

p.ChangeDutyCycle(12.5)

time.sleep(0.5)

p.ChangeDutyCycle(10)

time.sleep(0.5)

p.ChangeDutyCycle(7.5)

time.sleep(1.5)

p.ChangeDutyCycle(5)

time.sleep(0.5)

p.ChangeDutyCycle(2.5)

time.sleep(0.5)

except KeyboardInterrupt:

p.stop()

GPIO.cleanup()





_______________________________


Mounira Elsamra's American School System:


My drawing arm is a representation of the current American school system. The system is very robotic and does not allow much room for creativity or growth. The current public school system in the US is structured around test taking and making children memorize and regurgitate information learned in the classroom. The robot featured in the video represents that system while the permanent marker represents the teacher. The fine #2 pencil, with its path prepaved,  represents the student. If there is no freedom there will be no growth only predictable lines that mirror that of the teachers.

















Comments