Concept & Method
In this assignment, I am using two LEDs, one switch (digital), and one slider potentiometer (analog). The switch controls the entire circuit, and the potentiometer controls the brightness of the LEDs.
Implementation
Code:
#define LED_PIN 3
#define BUTTON_PIN 7
#define POTENTIO_PIN A1
byte lastButtonState = HIGH;
bool LEDOn = true;
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop()
{
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState)
{
lastButtonState = buttonState;
if (buttonState == HIGH) { // button has been released
LEDOn = ! LEDOn;
}
}
if (LEDOn) {
int potentiometerValue = analogRead(POTENTIO_PIN);
int brightness = map(potentiometerValue, 0, 1023, 0, 255);
analogWrite(LED_PIN, brightness);
delay(100); // delay is in milliseconds
analogWrite(LED_PIN, LOW); // turn LED off (0V)
delay(100);
}
else {
digitalWrite(LED_PIN, LOW);
}
}
