Saturday, April 5, 2025

13.2: motor labs

 1. Using transistors to turn things on and off (first LEDs, then motors). 

-Transistors help with switching power to devices that require more power or current than what the arduino can safely supply. We are working with a PN2222 transistor.

In the examples below, we are using the transistor to either flash the LED bulb on and off; or fade gradually between 0 and full brightness. 

The simple LED blink example that's preloaded into the Arduino IDE works with the transistor; to add the fading component, we simply use a PWM pin to modulate the LEDs invisible blinking at different rates to create different brightnesses.



Similarly, we can use the transistor to turn a motor on and off:


The same circuit and code as the blinking LED can be used, except for the fact that different values of resistors are used because the two plugins require different levels of voltage. 


2. Using relays to control motors

A relay uses electricity to mechanically move a switch so that of two circuits can be connected by it, one will always be on and the other off; or vice versa. When talking about relays, the number of "throws" refers to the possible number of outcomes caused by the relay. An "on or off" possibility would be single throw; more complex possibilities like differing modes is double throw. "Poles" refer to the number of electric paths that can be switched simultaneously.

This is a circuit I made with the relay that came in our kit; I was able to get the relay clicking, which indicated that its switch function was working. However, because it wasn't fitting in the breadboard properly, which caused issues with ground connection, I couldn't get it to control the motor.


3. Using a wall adapter

We also worked on using 5V wall adapters that can supply current to a motor that might be attached to the same breadboard as an Arduino, but that the Arduino itself cannot safely supply enough current to. The wall adapter outputs to a plug that fits into a jack on a board that came with our kit. To circumvent some impracticalities of that board, we soldered wire to the ground and 5V pins on the board so that they could be stuck directly into our breadboard.

Here's how the circuit looked:

The red/orange/brown wire connects to a motor. 


And here is the servo working!:



I tested, and the motor cannot run without the arduino being plugged into a power source because it needs to be up and running so that it can give instructions to the servo. If the wall adapter is unplugged, the motor runs for a brief moment still, but then comes to a stop. 








13.1: project 2 updates

I've narrowed down the focus of my project to be a hybrid between an automated grow system and a household lamp. The main components will be:

   ✦ a lamp that contains an automated/timed grow light at the top and a base to hold growing "cartridges"

   ✦ growing cartridges: a shallow box in a unique shape that can be placed inside and removed from the bottom of the lamp; they'll be filled with growing media and wildflower seeds so that the lamp can act as a seed starter

   ✦ a reservoir below the cartridge to contain runoff water so that it can evaporate

   ✦ a water tank below the lamp, but connected to it with a tube, to provide water supply.

Most of these aspects can be pulled off with simple objects/electronics I have on hand. The most complicated will be a water pump. Since such a small amount of water is needed for the seeds, a low-power/low-tech pump will work. I've ordered this one from adafruit:

https://www.adafruit.com/product/4547


I have leftover wood from my first project, quite a bit of it, so I am going to use that for the structure of my lamp: I really enjoyed using the shop tools and designing for both aesthetics and practicality last time. 



The overall concept behind this work is that something that is used anyway, a lamp in the home, might also have some small environmental payoff just by being used regularly. I am imagining the lamp as a kind of wildflower factory, where I perpetually produce new wildflower sprouts that I can take into the world and plant.



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"

13.2: motor labs

  1. Using transistors to turn things on and off (first LEDs, then motors).  -Transistors help with switching power to devices that require...