You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.6 KiB
C++

/*
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
}