Saturday, March 29, 2025

12.3: shift register lab and introduction to motors

 


This week's lab is on shift registers, which allow us to expand the number of output pins we can use. The arduino has a limited amount, but by using a shift register and software, we can create more on a breadboard. These are the instructions we used: https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial/

A shift register is an integrated circuit package (IC), specifically, a dual inline package (DIP). It's like a train of binary that sends on or off signals to the pins in the line. Serial data is being input, and parallel data is being output. 

In software, "clocking" feeds data into one line of pins, and "latching" pushes the data over to the pins that control our desired outputs.  

Using an i loop to gradually push data to pins in a pattern that causes a desired output is an important aspect of the shift registers: in the two examples below, an i loop is what causes the pins to get turned on one by one.



the bitSet(); call causes the leds to turn on and stay on.




Motors


Motors are the principal way things could get moved around in our next project. Other ways might be something like pneumatics (airflows).

Types of motors

DC motor:
    draws a lot of power

DC gearhead motor
    slower, more powerful
    might use mechanisms like pulleys or belts for more complex motion (like reciprocal linear, which is going back and forth)

Intermittent rotary, such the geneva wheel:
    rotates a certain fraction of a full rotation at a time, with pauses between. 

Stepper Motor
   usually really powerful
   moves a specific distance
   harder to control and needs a driver
   4+ wires

Servo Motor
    moves to a specific position
    consumes lots of current

AC synchronous motor
    can be plugged into a wall
    very slow and easy to find, but not compatible with our arduinos because they run on DC.


Gears allow us to control the power and speed of motors, which have an inverse relationship. Oftentimes motors are much too fast and not powerful enough. Mechanical advantage allows us to use things like gears to shift the motor's potential from speed to power. 

A driving gear is attached to a motor; that gear interlocks with another gear: the driven gear. Power of the driving motor and relational quantities of gear teeth cause changes in speed and outputted power.

For example, a driven gear with half the teeth of the driving gear will double the speed:


Gears might also be stacked like this in a gearbox to slow the motor down and increase its power significantly.



12.2: project 2 sketches

I've come up with 25 different sketches for project 2, though I'm already feeling pretty sure that I know I want to use electronics to move, process, and interact with water. Plant life is also a big part of my conceptual interests, so I would like to make a sculpture about automated growing, organic systems contained in/supported by synthetic ones, and basic life substances like life and water. My challenge as I continue to develop these ideas further is how to make an object that facilities rich and interesting phenomena, not just a decorated hydroponic grow system.















12.1: metal performance discussion

On Tuesday we had a discussion about Steve Dixon's essay "Metal Performance." A few main ideas in the piece and the discussion were humanizing machines, the dehumanizing effect of using machines, camp ideas and aesthetics, and using electronics/mechatronics in artworks.

Camp aesthetics are the use of mainstream trends, images, rituals, etc in a way that is clunky or over-the-top with the goal of being subversive and/or liberated. Though camp is inseparable from queer culture, Dixon notes that it also makes sense to describe robotic/technological artworks through the lens of camp. The clunkiness and remixing of ubiquitous technologies aligns with camp strategies.

We talked about the fact that no matter how advanced or developed a robot is, there is always some recognizable, even if not fully articulable, difference between robot and human. That gap is an exciting place for artworks to be in conversation with.

I am personally interested in reading this work, which was published in 2004, with an eye to how developments in AI (the non-physical aspect of robots) recontextualize the points Dixon is making; Especially since the work's title is a wordplay on metal performance shaders, graphics cards that give computers their incredible computing power, which make AI possible on laptops, etc. It does seem that some technologies are reaching a point where it might one day be impossible to tell a difference between humans and artifice. Might it be equally interesting to now explore not only gaps between human and robot, but also where they are converging?

Saturday, March 22, 2025

11.1: project one results











 


Project 1 is complete after a week of python meddling, belt sanding, and laser cutting. Here are the last technical developments that were required to get it working:

time of day -> filter setting


I realized that making the time value change the video input to the collage change was easier than resetting all the parameters of one filter top:
 

Sun position

A parabolic parametric equation controls the parameters of a transform Op to place the sun in the frame. I manually tested the transform settings first to get the right vertex and leftmost/rightmost points and then had chatGPT write the equation:



window frame design

a mix of video inputs, level tops, and composite tops allowed be to create an effect that I want for the indoor video. In a future iteration, I want the length of the shadow and tone of the video to also be affected by the time of day.







Saturday, March 15, 2025

10.1: ides of march project development



Assembly of the bottom section of the suncaster happened: and I've chosen to use the potentiometer for the movement of the clock hand. When I add the top to the piece, the top of the potentiometer will stick out just enough for the clock hand to be attached. 

I got the arduino and touchdesigner in communication so that when the potentiometer reaches a certain value that corresponds to one of my two clock hand positions, it triggers a request from the API and get the current time of day. 



When the potentiometer is at the value that corresponds to the other hand position, it will cause the projection and alter the parameters of an image collage I'm making. 




I'm using this image I took a while ago as a background that will change in tone based on the time of day. I still need to write the function that will place a circular sun image at the point in the sky that also matches with the time of day.

I'll also be adding a window structure to the collage and create shapes around it that invoke architectural/window shadows.

There is a lot of work to be done before the crit; this week, I will be:
-adding the mirror to the window inset
-fabricating the top piece
-attaching the clock hand to the potentiometer
-sanding the edges of the device
-completing the projected "collage"

Monday, March 10, 2025

9.1: more project development


These pieces are the frame for the Suncaster: there will be a laser-cut circle to serve as the bottom, and another one on top to conceal the imperfections in the cut job. 

Alongside fabrication, I am working on how electronic switches will trigger time calculations and projections in touch designer.

Something along the lines of this script should work: when a certain serial message is received, it will trigger a request for the sunrise and sunset time from the API, and also the script I have that gets the specific time of day.


I also have the sun's position in the sky as a number from 0 to 1.



The other part of the project I'm working on is what the projections will look like. I want there to be movement, not just a still image. I'm currently at my mom's house for break, and have access to my old bedroom window. I'm taking photographs throughout different times of day, and with enough photos, I can blend them based on an equation to create a unique image for any time of the day. There are lots of beautiful shadows created by the windows, trees, and sun around the house, and those will become the video aspect of the projection. 
 

Saturday, March 1, 2025

8.2: project development

1. Using API in Touch Designer

this API allows you to request the sunrise and sunset time of the day: https://sunrise-sunset.org/api

By using this in combination with the specific time that my object is activated, I'll be able to make projections in TD that are time-specific and relate to the sun's position.

First I used a web client DAT to request the sunset/sunrise times. These times can be parsed using a json DAT. 


The times then need to be converted to a seconds value that doesn't have AM or PM in it so that it can be used for calculations. The python script below does that, and then sends the value to a text DAT. Then the DAT to CHOP operator enables the values to affect the parameters of other operators.

2. Object Prototyping:

I also made a simple prototype of my thing, which I'm calling "suncaster" as of now. The half-circle interior inset will hold a two switches activated by the turning of the clock hand; and an arduino that will interact with my TD program. 



The sections made of wood and cardboard in the prototype will be wood in the final, but I'm thinking that the top cover that's gray here could be clear or some kind of acrylic. Whatever projection emerges from my TD program will be output onto a projector that is cast onto the mirror inside the suncaster, creating another projection in the space the sculpture is in. 

My focus during the upcoming week will be projection-making and beginning fabrication.  



8.1: soldering demo

✷ the temperature that's ideal for soldering is 325-350 c, with the higher end of 350 being safer only for non-complex objects like wires.
✷ when soldering boards/computers, its important to take breaks between solders so as not to cook your electronics.
✷ make sure to constantly wipe the tip of the soldering iron on the metal sponge to keep it clean and shiny
✷ two types of wire:
    solid: if you bend it and it stays in that position
    braided: if you bend it and it curls back towards its original shape
        braided: twist it and solder: use heatshrink!
✷ painting on flux helps solder flow better
✷ unsoldering: first heat it (using new solder) then click the solder sucker to remove
✷ don't bother with lead-free solder 

✷ to solder wires:
    ✷ place your wires in an x over each other and twist them several times
    ✷ away from the wires, melt a bit of solder on the tip of the iron
    ✷ press the tip onto the wires to heat them
    ✷ take more solder and run it along the wire twists, allowing it to flow between them

14.1 project 2 prototypes/planning

I began prototyping this week by mapping out all the individual elements I need to construct for my seed growing lamp, which has become some...