VCO.SCI.2

Lesson Summary 

Illustrate a Sine wave and identify amplitude, phase, and frequency. 

Skills 
Arduino
Programming
Vocabulary 

Sine - The sine wave is commonly used as a model for periodic phenomena such as sound and light waves, and the position and velocity of harmonic oscillators. 

 

Exercise 

Display and hear a sinusoidal wave using the Werksttat. 

Materials 

1 x 2.2µF electrolytic capacitor

1 x 47µF  electrolytic capacitor

1 x 10k resistor

Hardware 

Sine waves are not particularly harmonically interesting so they are often overlooked in many synthesizer circuits.  However, by passing a triangle wave through a low pass filter we can approximate the visual waveform of a sinusoid.  We can achieve this by patching the LFO OUT into a breadboard with three electronic components to filter our signal.  

 

 Figure 1.

 

 Figure 2. DC offset/Low Pass filter schematic

Software 

For our wave shape viewing 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 Waveshape.pde, ensure that the jumpers are connected in the configuration displayed in Figure 1 and press the run button.  We should have a window pop up similar to that of Figure 3.  

 

 Figure 3. Sine wave displayed by Waveshape.pde

 

Notice how wave shape changes as the LFO RATE knob is turned. Waveshape.pde allows for the user to define what color in RGB, and line thickness (stroke) are used for the wave in the function drawWave.    The included function settings state that we are drawing a white line at thickness 1. drawWave(r, g, b, stroke).

Waveshape.pde also allows the user to zoom in and out as well as pause the wave animation.  These can be controlled by pressing the arrow keys. 

↑  Zoom In

↓  Zoom Out

←  Pause Animation

→   Play Animation

For more information please refer to the comments in Figure 4.

 

 Figure 4. Screen capture

Downloads 

 

Processing is an open source programming environment and community.

moog_werkstatt processing_files.zip

 

 

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

Standard_Firmata.zip

Practice 

Subject 
Unit