Synthesis Friday – Pong

Last Friday we worked in groups learning how to interface the Arduino with p5 via serial communication. My partner Yiting and I decided to make a pong inspired game that was controlled via a linear potentiometer.

FullSizeRender 3

Our code turned out fairly simple. At some point I would like re-write it into objects. Also a two player version would be fun!

Here it is in action!

Assignment #5

This week we worked with objects and arrays. I made a simple program using a snowflake object that Nilomee created. I put this snowflake in an array. My hope was to make the array repeat once it reached its highest value. But after messing with it for hours I couldn’t. I also made a shameful snowman object. At least his arms wave. :/

Screen Shot 2015-10-06 at 12.50.23 AM

http://www.aaronparsekian.com/projects/ICMassignment5a/

Logo design

This week we learned about logo design. We started this assignment by identifying a logo that we feel is successful. I chose Saul Bass’s logo for Bell Telephone. For many years I’ve enjoyed this logo. I think its simplicity is timeless. In fact it has outlived the company it was designed for. Here is a lineage of  Bell Telephone’s logos, with Saul Bass’s version second from the right:

FullSizeRender

Even though AT&T bell telephone was broken up in 1984, Saul’s logo lives on! Hidden on verizon equipment you can still find it. Verizon employees still hold their allegiance to Ma Bell.

VerizonBell

11874696676_fa16a83961_b

Visually I think this logo is very successful. It takes Alexander Graham Bell’s surname, tied with a functional bell, and yet gives it a cutting-edge simplicity that to me relates it to electronic schematic:

3873593_orig

 

I also find the light blue Saul chose to be very eye-catching.

 

2000px-Bell_System_hires_1969_logo_blue.svg

 

 

We also designed a logo for ourselves. Early on I experimented with electrical schematic symbols, lighting drafting symbols – things which describe me and my work. I decided that an LED would be a good start. I wanted to use a square RGB LED, as I use these quite often at work – but I didn’t find them to be legible enough to get the point across to laymen.

IMG_0993

 

I then moved to the more classic LED. I think it is more identifiable:

IMG_0995

I started sketching with both:

IMG_0999

I wanted to use some color, as a lot of my LED work involves color. Almost all of the time LED color is described as RGB, so I wanted to add on this by using CMY as well.

screen

 

My “final” logo is below. I would really like to spend a lot more time on it, but I think it is a good start! I don’t know if Saul Bass would approve. . .

 

logo

 

Assignment #4

This week we learned to use functions. I built the same program as last week, but eliminated almost 100 lines of code!

Most of this was done by putting the ten buttons mouse pressed properties into a for loop, and putting the buttons size and color in a function, then calling those colors to the lines being drawn in the circle.

Here is the program:

http://www.aaronparsekian.com/projects/ICMassignment4

And the code:

3rd Assignment – Typography

This week we looked at different typefaces. We were asked to set our name in six different typefaces that say something about us or our name. Having the letter ‘a’ twice in the beginning of my name, and a strange last name gave me plenty to experiment with. I kept my choices simple, but they are all types that I really enjoy, or have used extensively in the past.

aaron1

aaron2

aaron3

aaron4

aaron5

aaron6 copy

Here they are all together:

aaron

 

Next we were asked to create some expressive words. ‘Gusset’ was born out of a conversation with my roommate about technical engineering terms. Wouldn’t it be great to make a whole dictionary of technical terms where the words were visual representations of what they were?

flange

 

binary_Ft

 

 

 

crappy

 

 

 

3rd Assignment – Digital and Analog Labs

This week we started to use the Arduino to input and output analog signals.

Beginning with a simple pushbutton to turn on an LED:

button_pin2

void setup() {
pinMode(2, INPUT); // set the switch pin to be an input
pinMode(3, OUTPUT); // set the yellow LED pin to be an output
pinMode(4, OUTPUT); // set the red LED pin to be an output
}
void loop() {
// read the switch input:
if (digitalRead(2) == HIGH) {
// if the switch is closed:
digitalWrite(3, HIGH); // turn on the yellow LED
digitalWrite(4, LOW); // turn off the red LED
}
else {
// if the switch is open:
digitalWrite(3, LOW); // turn off the yellow LED
digitalWrite(4, HIGH); // turn on the red LED
}
}

Next we worked with analog inputs:


const int ledPin = 9; // pin that the LED is attached to
int analogValue = 0; // value read from the pot
int brightness = 0; // PWM pin that the LED is on.
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
// declare the led pin as an output:
pinMode(ledPin, OUTPUT);
}
void loop() {
analogValue = analogRead(A0); // read the pot value
brightness = analogValue /4; //divide by 4 to fit in a byte
analogWrite(ledPin, brightness); // PWM the LED with the brightness value
Serial.println(brightness); // print the brightness value back to the serial monitor
}

Here is the code outputting to a potentiometer:

And here it is with a CdS Photoresistor:

 

Finally I decided to work a little with outputting pulse width modulation to an LED, controlled via a sliding pot. Here is the simple code:

 


const int potPin = A0;
const int ledPin = 3;


int sensor = 0;
int output = 0;


void setup() {
}


void loop() {
sensor = analogRead(potPin);
output = map(sensor, 0, 1023, 0, 255);
analogWrite(ledPin, output);
}

Here is what it looks like on my oscilloscope while “dimming” 🙂

Assignment #3

This assignment was done as a collaboration with Xinyao Wang and myself.

Yao and I created a program that draws lines between random points within a big circle and a little circle. There are buttons at the top that toggle what color line is being drawn. Learning about the logic to create buttons that click and stay on was a huge step for me. Also watching Yao figure out the geometric equations at lighting speed was another huge step for me!

I was also really excited to learn that frameRate() works either way. For some reason I assumed that it could only be used to slow the default 60fps down. In our program on my new macbook pro, we have it running at 1800fps instead. Drawing these simple lines is no problem for a modern computer, even at 1800fps.

We used Adobe’s color wheel site to choose colors. It also happens to be an excellent example of interaction on the web:

https://color.adobe.com/create/color-wheel

 

 

screen2

 

screen1

And here is the code:

http://www.aaronparsekian.com/projects/ICMassignment3/

Programming this did not come without its frustrations! Mainly we tried everything to get rid of the horizontal line. It seems like the program enjoys writing horizontal lines very often.

I decided to keep up my projection theme. This time from a new angle:

IMG_0945

Here are some quick videos of it in action!

 

 

2nd Assignment – fun with very simple circuits

This week we went over buttons/switches, LED’s, and resistors. We also plugged in a 7805 5VDC voltage regulator.

Starting with the 7805:

volt across led

Looks like its doing its job! The meter is measuring voltage across the blue LED and the 220Ohm 1/8 watt resistor.

Up next we have two red LED’s in series with a 220Ohm resistor:

2 led series

2 led series volt across r

The 220Ohm resistor is drawing 1.4VDC.

Next up we have three red LED’s in parallel. I have lifted the left LED’s anode and put my amp meter in parallel. These sissy LED’s are only drawing 1.4mA.

Here we have an LED and a little motor in parallel:

motor led para

And finally a voltage divider made with a 10Kohm potentiometer:

volt divider

And now some switches! Not sure which one to use 🙂

switches

Here are three normally-open push buttons in parallel:

para switch

And here they are in series:

series sw

 

For my switch project I decided to have some fun with a 40watt RGBW LED. I stated by mounting it to an old pentium III heatsink, with some thermal compound in between:

led hs

Next I went to the data sheet. I’ve had this thing for four years . . . luckily mouser saves your purchase orders 🙂

I found the forward voltage ratings and decided to run this thing at 12VDC. The Green diodes forward voltage starts at 12.8V, but Im sure it’ll look fine at 12V. These are some big numbers to be seen for an LED. This LED certainly must be a package containing several dies per color. . .

Screen Shot 2015-09-16 at 1.00.28 AM

Even my awful math skills can figure this out 🙂

FullSizeRender 2

Next we add some switches:

led wired

Here is the final product!

led purple

Looks like we are drawing a happy healthy 520mA with a 12VDC input. For the white, the closest high power resistor I had was 3.9ohms instead of the 2.14ohms I calculated.

IMG_0841

This guy is painfully bright at 12VDC, so I think for class I will stick with a 9V battery.

led blu

2nd Assignment – Signage

This week we were asked to pick three examples of signage around the city that we felt was unsuccessful, and one that we like.

I have to say the first part of this assignment is almost too easy in NY:

FullSizeRender 3

I find this sign unsuccessful because the phrase ‘Human Hair’ doesn’t really make me feel beautiful. . .

 

FullSizeRender 2

This is one of my favorite unsuccessful signs that I constantly see at work. They are affixed to scissor lifts below waist level. Poor viewing placement aside, a lot of the rules are depicted confusingly, and some are just beyond obvious: (Don’t fall out of the lift). Its also pretty visually frustrating that they couldn’t come up with ONE more rule to make this thing symmetrical. There are three wind/storm-related rules, I could imagine it wouldn’t be too hard to come up with one more no-no. Maybe you are supposed to draw your own?

 

Somehow I knew the award for best-worst sign I would see would go to the MTA . . . .

IMG_0759 2

This sign is unsuccessful for two reasons. It definitely wins the “Not my Job” award for starters. An installer measured subway car doors off the first car marker and no solution was come up with where the doors align with a pole in the station. Regardless of the pole being in the way, in terms of directing people this sign is also useless . As a New Yorker I get that you are supposed to stand to the sides of the subway doors and let people off. Why is this information in the same block of yellow with the three arrows? Am I supposed to ‘step aside’ by backing up? The two white arrows aren’t much use either.

My version is pretty simple. The main change is that I am suggesting people walk into the brighter section instead of the black bars on the MTA version.

NEW_SIGN

 

Luckily there is hope for NYC in some places. I live in Greenpoint, Brooklyn next to several signage studios that hand paint advertisements. This is certainly a lost art. I really enjoy watching them paint these murals and signs. It gives a brand / logo / idea a different quality. As someone who tries to ignore ads as much as possible by not owning a TV, hating the radio, putting three ad-blockers on all my web browsers – I find that I cant help myself but to look at and enjoy the work these studios do. They also often times help businesses in my community by paining murals on the weekend. Such as this one:

IMG_0837

Assignment #2

This week we learned about how to control sketches with mouse and key inputs. I decided to write a sketch that could be used with a projector for a live performance.

It includes five different looks that are controlled via the q,w,e,r,t keys. The mouse is used for movement, and left mouse click clears the drawing.

The code is pretty simple. The main part of it runs off an ‘if’ statement linked to the five key presses. Each one uses variables to control color, size, and wether it is drawing a line or a point

screen1

Here is the projection setup 🙂

 

IMG_0779

 

IMG_0786

 

IMG_0787

 

The program itself: http://www.aaronparsekian.com/projects/ICMassignment2/

And a short video of it in action: