Lesson Summary 

Describe and recall variations in wave types.


Longitudinal - Particle displacement is parallel to the direction of wave propagation.  The animation below shows a one dimensional longitudinal wave.  Examples of longitudinal waves include seismic P waves (primary waves) and sound pressure. 




Transverse - Particle displacement is perpendicular to the direction of wave propagation. The animation below shows a one dimensional transverse wave.  Examples of transverse waves include seismic S waves (secondary waves) and electromagnetic (light) waves. 






LED/Photoresistor VCO control. 


1 x LED





1 x 1kΩ Resistor

1 x Photocell

Jumper Cables

1 x Arduino


We will be using a variable resistor based on light called a photoresistor.  This element changes its resistance based on the amount of incoming transverse electromagnetic waves (light). We will be connecting an LED (Light Emitting Diode) to our Arduino and using the light from that element to control the VCO on our Werkstatt. 



Connect the 3.3V out on the Arduino to one end of the photoresistor. From the other lead off the photoresistor run a jumper to the VCO EXP IN.  The photoresistor is non-polarized so it does not matter lead you use.  In contrast, our LED is polarized so we must make sure to observe the lead lengths.  The short lead of our LED is negative and the long lead is positive.  Run the longer lead through a 1k resistor to pin 6 on the Arduino, and the shorter lead to ground. This configuration should resemble Figure 1.


 Figure 1. LED photoresistor


For our photoresistor exercise we will be using an Arduino to speak to the program Processing.  The Arduino should already have the Standard Firmata sketch uploaded to it. For more detailed information on the Arduino uploading process visit their website

Open the Photoresisor.pde Processing program.  If all of our connections are in place we should run the program and see our LED fade in and out as well as hear the change in resistance has on the pitch of the Werkstatt. The two main functions in Photoresistor.pde are blinkLED and fadeLED. 



blinkLED needs an integer in () to determine what the delay time is between on and off cycles.

Experiment with the blink delay times and hear the changes in the Werkstatt output. 



fadeLED needs two integers in ().  One determines the delay time between each fade step, in this case 100, while the other determines the fade step itself, in this case 5. 

Experiment with the delay and fade times and hear the changes in the Werkstatt output. 

For more information refer to the comments in Figure 2. 


 Figure 2. Screen capture



Processing is an open source programming environment and community.




The Arduino is a micro controller and programming environment for interactive systems.