Arduino Button Assignment 3

Digital Input/Serial Monitor

After following the code in the lesson, I was able to use the button to both turn the light on and off with the push. Below is one video showing this:

Second, together with Carly, and with the help of Hannah, we were able to create a sketch code that faded the light to a higher fade speed when the button was pressed. This one was much more challenging to figure out because we weren’t entirely sure where to change the code but knew it had to go somewhere in the loop and with the button “if” statement. We finally figured it out:

Here is the coding:

int led = 9;           // the PWM pin the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 1;    // how many points to fade the LED by
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  9;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

// the setup routine runs once when you press reset:
void setup() {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
   // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}


void loop() {

  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) { 
    //if the button is pressed,increased fade amount by 1
    fadeAmount = fadeAmount + 5;
  }

  // set the brightness of pin 9:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
    
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
  
}

 

One thought on “Arduino Button Assignment 3”

Comments are closed.