Final Project Documentation | Aleksandra’s DJ Booth

For my final project I decided to build a DJ Booth heavily inspired by this Dyskograf project. I had seen this video early on in the semester, and since then, I knew that I wanted to build something similar for my final project. My own little daydream is to learn DJing, so this project idea was very meaningful to me.

So here’s everything you’ll need to replicate my project:

Necessary Components

  1. Circuit:
    1. Arduino Mega
    2. Breadboard
    3. Wires
    4. Four potentiometers (3 turning & 1 sliding)
    5. Four photosensors
    6. 4 10k resistors

2. Soldering:

  1. Solderable Prototyping Breadboard
  2. Solid and Stranded wires
  3. Heat Shrinking Tube
  4. Soldering Equipment

3. Physical Structure:da

  1. Turntable
  2. Wooden Box
  3. Hollow, cylinder shaped piece of bamboo
  4. Screws, nuts, washers, bolts
  5. Equipment: screwdriver, saw, sanding paper etc.
  6. Hot glue
  7. Tape
  8. Paper & black sharpie
  9. Zip-ties for prototyping

Circuit schematic:

Circuit Schematic

My project consists of two main inputs and a single output:

1. Firstly, there is a turntable, which has a paper ‘record’ in it. The paper circle is divided in four concentric circles. Each concentric circle has black colorings in it, that can be added by the user with a black sharpie. It is important that they are colored well and are black.

2. When the turntable and ‘records’ are prepared, then the four photosensors, which are hidden in a bamboo stick picks up a signal via Arduino measuring the amount of light the piece of paper reflects. If the value is under a certain threshold, the program deduces it’s colored black and sends this signal to processing.

3. The processing code plays a specific audio file for each concentric circle for the exact amount of time that it keeps getting the ‘black’ value. When the sensors send that the value has changed to ‘white’, Processing stops playing the sound.

4. Then there are four analog sensors – potentiometers. Each of them has its own function, that imitates a DJ set’s many controls. One controls the volume, one is a bandwidth filter that affects frequency, one affect playback speed, and the last one manipulates panning. These manipulations are done in Processing and affect the sound while it’s being played. 

Here are my initial plans on the final project, before starting to build it:

The process of building this project was long and difficult, but very interesting. I definitely learned a lot. For me, the most difficult and frustrating part was the very beginning, when I had no clue how to write the code, what to start with, and how to start with trying to replicate something I had seen online. Another thing I struggled a lot was soldering the solderable prototyping breadboard. It is incredibly tedious, slow and difficult process. I kept making mistakes, and cleaning up solder is much harder than it looks! 

Another thing I surprisingly struggled with – finding audio files. I thought there would be an online library for these types of sounds. There isn’t. So I had to learn the basics of iOS default music program to record these sounds myself.

I was also surprised by how quickly I wrote the code, which initially I thought would be so incredibly difficult. For the software part, what actually took a lot of time, was debugging. And the hardest mistakes to pinpoint, are the most elementary mistakes (like the wrong pin number). 

Here’s my Arduino code:

 

Here’s my Processing code:

 

The physical construction, soldering and wiring took most of my time. Building prototypes, testing them, and then building the actual wooden box took most of my time. However, I really enjoyed the process!

Something I wanted to initially implement, but ended up cutting down on features, to ensure that I can focus more on the physical construction, was adding visuals. Initially I was worried that people at the IM Show wouldn’t be inclined to come and see what a wooden box does, so I wanted to add some visuals, which would be controlled by the sounds given out by Processing. Unfortunately, as this would take too much of my time, I decided against adding another feature. A simple, neat and fun solution we opted for – a disco ball to add to the DJing experience. 

Here are some photos from my project:

Final Project – Update

DJ Set

The final version of my project includes a podium, a laptop, a screen and the DJ set itself. The DJ set is based on the turntable. Added to it is the light sensor mechanism (which I still haven’t figured out), slider that changes the volume, and 2-3 potentiometers (large) that manipulate different parts of the audio’s frequency. The visuals will be kept very simple (based on existing examples) simply to catch attention. 

The turntable mechanism works with the light & camera monitoring one portion of a turning sheet of paper which has black colorings on it. The moment the camera recognizes that there is a black “blob”, it should be able to determine its position and length in order to return the appropriate sound signal. 

I have prepared multiple sound snippets that, when put together, should work in a logical sequence and create a simple and enjoyable beat. 

Here’s more detail.

Thoughts on Digitize Everything

Digitize Everything

The author’s analysis on the second age of technology doesn’t surprise me, but it still offered some facts that I found quite interesting. Since most of the life that I remember, I have been around technology, mobile phones and internet, the fact that there is such immense amount of data moving every single day doesn’t surprise me. It also seems natural that this information is readily accessible and stems innovation. However, it might be more insightful for me to read a comparison of how the time period I live in differs from the time period, when my parents were my age.

Similarly, the things the author spoke about aren’t new to me, they are something that I consider a part of my daily life, so I just collected some of the quotes that I thought were very insightful and represent the current environment of innovation very accurately (or just seemed a little shocking, when put in perspective, especially the one about humans needing to redefine the metric system to be able to keep track of the amount of data we have generated):

  • Unlike goods made of atoms, goods made of bits can be replicated perfectly and sent across the room or across the planet almost instantaneously and almost costlessly.
  • The old business saying is that “time is money,” but what’s amazing about the modern Internet is how many people are willing to devote their time to producing online content without seeking any money in return.
  • According to a July 2012 story in the New York Times, “The combined level of robotic chatter on the world’s wireless networks . . . is likely soon to exceed that generated by the sum of all human voice conversations taking place on wireless grids.”
  • In fact, if this kind of growth keeps up for much longer we’re going to run out of metric system. When its set of prefixes was expanded in 1991 at the nineteenth General Conference on Weights and Measures, the largest one was yotta, signifying one septillion. We’re only one prefix away from that in the ‘zettabyte era.’
  • Data is the lifeblood of science.
  • “This work shows how social media expresses a collective wisdom which, when properly tapped, can yield an extremely powerful and accurate indicator of future outcomes.”

Even though all of these ideas seem so normal to me, it still shocks me every time these numbers are put in perspective. It’s also very interesting to see how the older generations are finally learning about the true power of social media (and it not only being a waste of time and invasion of privacy).

Aleksandra’s Robot

Interactive Robot

To explore more of the capabilities of Processing x Arduino with two potentiometers, I thought of the main characteristics of each figure we draw in processing – the location, size, and color. Thus I decided to explore how to change all of these with two potentiometers. Here’s my result – a funky, pink-ish robot that waves his hands, stomps his legs all while changing colors.

Here’s a video of my robot: Robot 11 Nov

Here’s the Arduino code:

Here’s the Processing code:

 

Design Meets Disability

“Design depends largely on constraints”

I found this reading particularly interesting, because  it added a new perspective to the usual discussion about the process of designing for the disabled. The popular consensus is to create something that fits the general public and then adjust it to be usable by the disabled as well. And if it’s something that has to be designed specifically for the disabled – it has to be as invisible as possible.

The argument brought forward about how pushing for the design for the disabled to be invisible directly impacts the user’s self-esteem is something that makes perfect sense when pointed out, otherwise somehow being forgotten by the medical professionals and the engineers that design the product. Therefore, I thought the perspective of the model Aimee Mullins and world-famous designer Alexander McQueen was a fresh and particularly unheard perspective from the disabled community. Most people assume that the disabled simply strive to restore what they’ve lost, but what if they want more. Like the author pointed out, what if we push for “an exciting new territory in which human abilities are not just restored but surpassed”?

This brings the interesting example of eyewear. Because I was born in a time were glasses already were seen as an accessory, it is hard to imagine someone to be classified as disabled because of worse eyesight. Just the fact that 20% of the total sales of glasses were with clear lenses, demonstrates the possibilities for other products to shift from medical to accessories. Something that seems incredibly feasible is creating a hearing-aid that not only restores average human hearing, but rather noticeably improves it. Then having a hearing aid would be a statement. It would be a status thing. It would become an accessory, and the owners could not be easily identified as disabled.

Later the author went into a more general overview of what is good design, where I found some great concepts and ideas. I’m of course a big fan of Steve Jobs’ initial design ideas and the ideology that he brought to the mainstream public, but the most interesting concept was the one concerning creative briefs.

“Setting the brief does not precede the design process; it is a fundamental part of the design process. Sometimes the most creative act of all is to provocatively constrain the specification.”

Processing x Arduino Game

The Maze Game

The game I made with processing and Arduino is quite simple and slightly imitates some popular mobile games.

Necessary parts

  • breadbord
  • Arduino
  • 2 10k Ohm resistors
  • wires
  • two potentiometers

The idea of the game – processing holds the code that has multiple rectangles moving from left to right, with one side “stuck” on either the top of the window or the bottom of the window. These rectangles (I call them walls for visualization purposes) move in different speeds – the top ones move slower than the bottom ones. They also come in slightly randomized distances from each other.

The processing code also introduces a little ball that is being controlled by the two potentiometers from the Arduino code.

The objective of the game – to use one of the potentiometers to move the ball on the x-axis and the other potentiometer to move the ball on the y-axis so as to avoid the ball colliding with the moving walls.

The process of creating the game took me a long time, and I feel that moving forward in this class, as the code becomes trickier and trickier, it’s quite funny how mistakes that I spend so much time trying to fix end up being ridiculously small and have nothing to do with the logic – it’s most often a small typo that Arduino and processing don’t catch by themselves, because it’s not a substantial mistake that breaks the code.

I’ve made this game in a way where one can’t lose because:

  • it turned out to be a quite difficult game, and it’s tricky to successfully control the ball with the potentiometers, thus it would be very discouraging to keep losing all the time;
  • because of time constraints I couldn’t manage to fully implement this feature.

The processing code consists of two classes with arrays – one for the line of walls going along the bottom, and one for the line of walls going along the top. Then it establishes contact with the Arduino and creates an ellipse which is controlled by the values coming from the Arduino.

My process:

  • built the circuit,
  • created a class for the walls going along the top,
  • created a class for the walls going along the bottom,
  • created the Arduino code,
  • linked Processing and Arduino together,
  • created the ellipse and added its behavior based on the values Arduino was receiving from the potentiometers,
  • tested until everything worked smoothly.

 

The Arduino Code:

 

The Processing Code:

 

Recreating Old Computer Art

Original Artwork

 

My recreation

 

 

 

 

 

Eyeo2012 – Casey Reas | Reflection

Casey Reas

Casey Reas makes some really interesting points in his speech. The center of his speech –  the topic of controlled chaos – is something I keep noticing in many seemingly non-related fields. For example, an interest of mine – particle physics and astrophysics – might seem like a huge mess of particles flying around, appearing and disappearing in random places, with most interactions taking place based on probability. Economics and financial markets are based on human behavior, which might seem random and chaotic at times, but it’s kept under control, allowing fluctuations, but trying to avoid huge economic crisis (which do happen, when this controlled chaos slips out of control) and so on. There are so many examples, but the most interesting part that seems to combine most of them is that, while we are looking for logical explanations for what controls these processes, there is some randomness that’s unexplainable, however we have learned to figure out patterns, which allows us to see order amongst chaos created by seemingly random behavior.

However, I hadn’t seen that many examples of these principles applied to art. Something my friends and I discussed during fall break was – how do we objectively value and assess art? Is it based on the idea? Is it based on the amount of work involved? Or level of skill? So what about replicas or remixes? Casey’s art would have fit our discussion perfectly, because while he does create the code that makes the shapes, points and lines move, it’s the computer doing the actual artwork, while he waits for the computer to create something beautiful, which he later captures in a more traditional print art form. So while he builds up variables with specific characteristics, he does allow them autonomy of their own, letting them build up an unexpected piece, which he later takes back under control by picking out which patterns he finds beautiful, taking a screenshot and printing it into a traditional piece of art. So could this be considered an artist under the traditional definition of an artist or have art and technology become so interconnected that we have to redefine what art and artist means? Is Casey Reas a programmer or an artist? And how do we draw the line between these two professions under today’s circumstances?

Processing Classes | Circles and Squares

Moving Circles and Squares in Processing

I added a new class called MovingRectangle where I tried to replicate myself the buildup of the whole class, while adding the random function for colors and changing the squares’ size and speed. I wanted the squares to go the opposite direction of the circles so I initialized their speed to negative integers.