Mercurial > hg > beaglert
diff examples/basic_analog_output/render.cpp @ 372:db2fe4e1b88e prerelease
Doxygen content added to each example render.cpp.
References to AnalogReadFrame etc. removed from doxygen content.
author | Robert Jack <robert.h.jack@gmail.com> |
---|---|
date | Thu, 09 Jun 2016 18:16:05 +0100 |
parents | 1feb9c23ac57 |
children | 9dc5a0ccad25 |
line wrap: on
line diff
--- a/examples/basic_analog_output/render.cpp Thu Jun 09 17:31:44 2016 +0100 +++ b/examples/basic_analog_output/render.cpp Thu Jun 09 18:16:05 2016 +0100 @@ -1,10 +1,48 @@ /* - * render.cpp - * - * Created on: Oct 24, 2014 - * Author: parallels + ____ _____ _ _ +| __ )| ____| | / \ +| _ \| _| | | / _ \ +| |_) | |___| |___ / ___ \ +|____/|_____|_____/_/ \_\.io + */ +/* + * + * Andrew McPherson and Victor Zappi + * Queen Mary, University of London + */ + +/** +\example 3_analog_output + +Fading LEDs +----------- + +This sketch uses a sine wave to drive the brightness of a series of LEDs +connected to the eight analog out pins. Again you can see the nested `for` loop +structure but this time for the analog output channels rather than the audio. + +- connect an LED in series with a 470ohm resistor between each of the analogOut pins and ground. + +Within the first for loop in render we cycle through each frame in the analog +output matrix. At each frame we then cycle through the analog output channels +with another for loop and set the output voltage according to the phase of a +sine tone that acts as an LFO. The analog output pins can provide a voltage of +~4.092V. + +The output on each pin is set with `analogWrite()` within the for loop that +cycles through the analog output channels. This needs to be provided with +arguments as follows `analogWrite(context, n, channel, out)`. Channel is +where the you give the address of the analog output pin (in this case we cycle +through each pin address in the for loop), out is the variable that holds the +desired output (in this case set by the sine wave). + +Notice that the phase of the brightness cycle for each led is different. This +is achieved by updating a variable that stores a relative phase value. This +variable is advanced by pi/4 (1/8 of a full rotation) for each channel giving +each of the eight LEDs a different phase. +*/ #include <Bela.h> #include <Utilities.h>