/* LED PWM Uses 2 pots to control the duty cycle of a Pulse Width Modulation <---- pot 0 ----> <---- pot 0 ----> | | | | | | | | | <-- pot 1 --> <--- ... */ #define LED (13) #define POT_1 (0) #define POT_2 (1) #define POT_3 (2) #define SPEAKER (11) float delay_on; float delay_off; float delay_div; 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(LED, SPEAKER); } 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); // We also read pot 3 value that we will use to control a bit // the delay to reach audible range //delay_div = 1023 - analogRead(POT_3); // // But meergranen 1.0 delay_div = analogRead(POT_3); // Parameters for the PWM digitalWrite(LED, HIGH); // turn the LED on digitalWrite(SPEAKER, HIGH); // turn the LED on delay(delay_on/delay_div); // wait for delay_on ms digitalWrite(LED, LOW); // turn the LED off digitalWrite(SPEAKER, LOW); // turn the LED off delay(delay_off/delay_div); // wait for delay_off ms }