/* LED PWM Uses 2 pots to control the duty cycle of a Pulse Width Modulation with resulting values used to set both the LED and audio signal <---- pot 0 ----> <---- pot 0 ----> | | | | | | | | | <-- pot 1 --> <--- ... */ #define LED (13) #define POT_1 (0) #define POT_2 (1) #define SPEAKER (11) float delay_on; float delay_off; void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on the nano board: pinMode(LED, OUTPUT); // initialize Pin 11 as audio out pinMode(SPEAKER, OUTPUT); } void loop() { // We read the value of the pots at the beginning of the loop // and store them as integer variables (declared at the top) //delay_on = analogRead(POT_1); //delay_off = analogRead(POT_2); // // But in meergranen PCB 1.0, the pots are wired the wrong way // So we need to adjust that :) delay_on = 1023 - analogRead(POT_1); delay_off = 1023 - analogRead(POT_2); // Parameters for the PWM digitalWrite(LED, HIGH); // turn the LED on digitalWrite(SPEAKER, HIGH); // set max audio signal delay(delay_on); // wait for delay_on ms digitalWrite(LED, LOW); // turn the LED off digitalWrite(SPEAKER, LOW); // audio flat line delay(delay_off); // wait for delay_off ms }