Motion: Entry 9

Expressions

This is a short clip using expressions to control gears and make sure that, through math, the gears are in sync forever.

Object Round 2: Entry 4

Lab 4: Serial

The purpose of this lab was to create a game using two inputs and one Arduino output. The game itself was created using P5.js and serial communication. For my game, I utilized a potentiometer and a light sensor to control a one-person game of pong based on Coding Train’s example.

The game is an unwinnable game of Pong where the opponent is a static wall. There is also no means of scoring, either in time or points, rendering the game an exercise in futility.

The Circuit

The Arduino circuit uses a potentiometer, a lights sensor with a 10k dropdown resistor, and a 5 LED strip of Neopixels. The potentiometer controls the paddle, the light controls the speed of the ball, and the LEDs display how many lives the payer has left

Circuit

The Arduino Code

The Arduino code first sets up the pins and the strip. Next, it sends the values from the analog pins to P5. Lastly, it checks for serial input and changes the Neopixel accordingly.

The P5 Code

The P5 code is based on Coding Train’s Pong example. I mostly used this as a basis for how to do collision detection and general code structure. I also added a game state to pause the game when the player eventually loses. Since the draw function is based on FPS, I was able to use that was a makeshift timer.

P5.js code

The Game

You just lost The Game.

Video of the game in action

Motion: Entry 7

Project 2: Creative Brief & Story Board

For Project 2, I will be using the assets and data from one of my previous projects in Text. I will also add a voice-over as many of the infographics is about notable philosophers and their lives. It will also include some death metal music to accentuate the nihilism and as well as make the voice-over less jarring.

The project will cover the subject of nihilism. It will start with a brief overview of the history including notable philosophers such as Camus, Nietzsche, Sartre, and others. Though these philosophers are not nihilists in a strict sense, their radical departures from their respective milieus have influenced the modern manifestations of nihilism. The next short section will cover the modern manifestations of nihilism including Rick & Morty, BoJack Horseman, and another because three is a good number. The last section will look at what Camus’ considers the three reactions to nihilism: religion, death, or embracing the absurd. These will be written as stats about death, religion, and absurdism and a departure from the normal.

All backgrounds will be in grey and all writing will be in Helvetica or Univers in black with no capitals. In order to add life to the project without starying from the theme, I will have rotoscoped icons and figures in black which will contrast with the flat typography on grey. Rotoscoped images will also add to the absurdist views that I incorporated from Sartre and Camus.

Story Board

A single frame is not missing explaining the meaning of this infographic.

Object Round 2: Entry 3

Lab 3

This lab dealt with analog inputs and variable resistors. Variable resistors are used in many sensors such as light sensors, flex sensors, and pressure sensors.

Schematics for both parts of the lab

For the first part of this lab, I used a potentiometer and a light sensor to control a Neopixel LED strip. The amount of light input controlled the color of the strip and the potentiometer controlled the number of lit LEDs. The input was mapped to the outputs using the map() function

Circuit with two analog inputs
Picture of the first circuit
Video of the first circuit in action

For the second part of this lab, I used the same inputs and instead used a speaker as output. This time the light sensor controlled the pitch mapped to between 31 and 1000. As sound changes logarithmically, this should be done using a different mapping function. The potentiometer controlled the duration of the sound blips.

Video of the speaker with two analog inputs

The last part of this lab was to create a box that had two outputs and multiple inputs. This is not that box.

A Box

Object Round 2: Entry 2

Lab 2

The first part of this lab was to create two separate breakout borders. The first one is a switch with a drop-down resister. The second one is two LEDs in series. I wasn’t able to get a 47-ohm resistor for the second board so I used a 100-ohm instead.

All schematics
Switch with dropdown resistor
Soldering on breakout board
Two LEDs in series with 100-ohm resistor
Soldering on two LED board

The second part of the lab was to create a circuit that controlled a NeoPixel strip with two inputs. for my two inputs, I used a potentiometer and a switch. The potentiometer controlled the colors and the switch turned it on and off. The color transition was taken from Adafruit’s strand test.

Capstone 2: Entry 1

Progress Report

The 50% marker for my Capstone project is fast approaching. Looking back it is important to take note on what has been accomplished thus far. Additionally, pains should be taken to document where challenges arose and where corners were cut in order to create a more feasible project.

Interaction

But what is intended for this project? How will people interact with the final installation piece?

Looking back, my initial idea was for the project to be presented as part of an art gallery whereby people’s discussions of the art would be recorded, parsed, and reorganized into a poem. This poem would ideally serve as a memento of the art gallery. However, in order to be part of the art gallery, it would necessitate that the project itself was art. As modern art is defined less by what it is and more by what represents, the “why” of the project still needed to be fleshed out.

The artist’s statement of the project would read something akin to:

What are poems and why do poems make us feel things? Why are poems’ value derived so much from the author? Can poems exist in a vacuum? Without an author, this poems attempt to encapsulate the zeitgeist of the temporial moment.

Code

Continuing from this artist’s statement the code would have to create poems that were able to capture the essence of one’s speech without understanding the meaning of the speech itself.

Most of my code progress is documented on my Github. As such, I have mostly been refining my code and making sure that it works as intended. A large part of the issues with the coding was related to the lack of structure in poems and poems being perceived as poems solely because someone says it is a poem.

The code works as follows. Speech is heard by the system’s microphone, using a wrapper for pyaudio called speech_recognition. The audio is then sent to either Sphinx, Google Speech-to-Text, Houndify, or IBM using the same library. However, there is currently an issue with IBM’s service and the library. The returned audio is then parsed into a PoemGenerator class, which uses two variables for the corpus with stop words and a stop word free corpus. A random word is chosen to end the first line. The rest of the line is chosen via Markov Chains until the line is at its syllabic length. The next lines created in a similar manner with their last words rhyming with a previous line. Rhyming is done using nltk.

Technical

On a more functional level, I have completed an Eagle file for connecting an Arduino to the typewriter. I have also looked at tables hoping to find one that is about the right size to sit the typewriter on and have the computer and microphone under.