Lesson Summary 

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


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. 



Display and hear a sinusoidal wave using the Werksttat. 


1 x 2.2µF electrolytic capacitor

1 x 47µF  electrolytic capacitor

1 x 10k resistor


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


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



Processing is an open source programming environment and community.




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