Week 3 Homework

Digital Input


The Serial Monitor


Pressing Button Change Fading Animation Speed

 // constants won't change. They're used here to set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int led = 9; // the number of the LED pin
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(led, 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) {
// turn LED on:
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 = 255) {
fadeAmount = -fadeAmount;
}
// wait for 30 milliseconds to see the dimming effect
delay(15);
} else {
// turn LED off:
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 = 255) {
fadeAmount = -fadeAmount;
}
// wait for 30 milliseconds to see the dimming effect
delay(50);
}
}

One thought on “Week 3 Homework”

  1. Nice work, Elvis! Please edit the category of your post to be “Arduino Homework Exercises.” As for the code, I’ll ask you the same thing I asked Yufei: Can you think of any way to avoid repeating the analogWrite and brightness adjustment portions? Perhaps the button could be made to control fadeAmount?

Comments are closed.

Discover more from Making Studio

Subscribe now to keep reading and get access to the full archive.

Continue reading