Category Archives: Physical Computing

Arduino Serial Communication with Processing

Manuel and I worked together to attach the Arduino chip in the Breadboard to the Breakout board. We were working with a 3.3V chip (FT232R), so we had to break the soldered link between 3.3VCC and VCC on the top of the chip.

We then put code on our Arduino chip to provide serial data back to the computer (using the Analog 0 pin) and used Processing to read it. We found a very helpful tutorial on the Arduino website (here).

Here is a video demonstration of the project:

Arduino and Serial Communication with LCD

To start off on this project, I first made sure that I had my LCD hooked up correctly with the Arduino, so I ran Joel Murphy’s code that he supplied via e-mail. All went ok (I did have to delete a line or two of code in the variable definition area because they were not closed with semicolons).

After that, I found out how many pixels there were per section on the LCD, so I took a look at the Serial LCD documentation off of the Parallax website. Each square is 8 x 5, and there are 32 squares. So I did some sketches of what I wanted to make with my custom character:

I decided to do a sine wave, and I used a conversion table from ASCII.ci to assign codes for my custom character. You can see the conversion table that I used here. In order to do a sine wave, I created 4 custom characters. Here is a photo of my custom characters on the LCD:

For the animation of it, I decided to print through each permutation backwards to give the effect that the sine wave was moving forwards. You can see a video of the animation here:

Servo Motor "Gesture" Homework

For the Servo Motor “Gesture” assignment, I chose to use the servo motor/potentiometer as a LED “light” instrument. I attached an LED to the end of a cardboard plank which was attached to the servo motor (so I could move the light from side to side). I then used a Max MSP patch which Robert Ramirez provided us in class regarding color tracking. I credit Rob as an important resource for the Max patch programming.

The Max patch makes use of the X-position (horizontal position) of a color, and with that position describes the intensity level of distortion and delay. I have also added two different frequency outputs which provide different sounds when tracking the LED.  The color is the light from the LED.

This is a short performance using this setup:

Here is a screen-shot of the Max patch: