p5 serial RGBW candle

This week we worked with DOM libraries in p5. I decided to use four DOM sliders to control a 40Watt RGBW LED by outputting serial from p5 into an arduino.

The code to do this took a lot of trial and error on the serial side. The outputs from the four sliders are made into a serial string, then parsed in the arduino code to four analog outputs.

Here is the p5 code:

and the Arduino code:

The sketch is very simple looking 🙂

Screen Shot 2015-10-16 at 11.05.21 AM

I mounted the RGBW LED to an old pentium II heatsink, and connected the four anodes to the arduino’s analog outputs through four TIP120 transistors.





Color Composition

This week we explored color. We were asked to make a composition using color. I started out by taking the hue test:

Screen Shot 2015-10-08 at 10.41.53 PM

I wonder if I would do any better with my calibrated monitor at home?

Next I decided I wanted to do some physical control to manipulate the hue, saturation, and brightness of my ‘composition’  – since it would be very related to how I want to use my programming knowledge as a lighting designer.

I started out by trying to use some addressable LED tape that I had. This turned very frustrating very quickly. The library used to control this tape is no cake-walk, and I found myself in over my head after two days of messing with it.

I turned to a slightly simpler route and used p5 and an arduino to change the H/S/B of some squares on screen via a slider and two knobs.



Here are some of the outputs:






And a video:

Working with serial

This week we started working with the Arduino and serial.

Here I have two potentiometers and a push button:

FullSizeRender 3

Using one sensor, I uploaded the example code to display the sensor value in different ways:


Screen Shot 2015-10-13 at 2.49.27 PM

We learned how to write to three sensors and view the data in the serial monitor:

Screen Shot 2015-10-13 at 2.53.15 PM

Next we learned how to use the arduino to send values from an analog sensor via serial to the p5 IDE.

My favorite friend the sliding 10K pot:


The arduino code to write the single sensor value in binary to serial is pretty simple:

Screen Shot 2015-10-13 at 2.14.18 PM

Here is the p5 sketch working with it. It is printing the serial value as text:

Screen Shot 2015-10-13 at 2.01.50 PM

Next I mapped this data into a graph:

Screen Shot 2015-10-13 at 2.06.08 PM


It was really exciting to get the two potentiometers and the push button to talk to p5 at the same time via serial:

Screen Shot 2015-10-13 at 4.57.55 PM

4th Assignment – Business cards

This week we designed business cards for ourselves. I decided early-on that I wanted to do something simple. Since our typography class I have taken a liking to Futura and how my name looks set in it.

FullSizeRender 6

I also checked out Kandinsky’s book on composition. It was an interesting read, but some of it came off as drawing meaning out of thin-air. Mel Brooks comes to mind!

Back to the business card – I found myself working in circles quite a bit on this one. I decided to use my logo from the previous week, along with icons of light bulbs that I found on thenounproject.com which I then modified. The original icons were designed by Eli Ratus (https://thenounproject.com/mordarius/collection/light-bulb-socket-standards/)

I tried quite a few different designs!

IMG_1045 2

I ended up with inkjet prints on matte presentation paper that I cut out and folded in half.



Here is the finished product for now:



Assignment #4 – Analog outputs with the arduino

This weeks lab covered interfacing the Arduino with servo motors and speakers. The servo lab basically involves mapping the range of an analog input (variable resistor) to the servo motors full rotation.

FullSizeRender 5

The tone lab uses the tone library in Arduino to map an analog input to a frequency range on the speaker.

FullSizeRender 4

I decided now would be a great time for me to use this nintendo DS touchscreen that I had lying around. Sparkfun has some great information on how to use this screen. Basically it is two variable resistor arrays. One for X values and one for Y values.


I found some code by John Boxall very helpful. (http://tronixstuff.com/2010/12/29/tutorial-arduino-and-the-ds-touch-screen)  He explains how to alternate pins between analogWrite and analogRead in order to get the touch screen to work on its four connections.

I decided to map the touch screen to four sections, similar to what we learned in ICM early on with p5.js.

I used these four sections to toggle between four colors. Here is the final product:


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


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:


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.



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:



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





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.



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


I started sketching with both:


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.



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. . .




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:


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.






aaron6 copy

Here they are all together:



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?