Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Somebody please help me out coding this Arduino exercise, part1, 2, 3 I. Blink W

ID: 3747908 • Letter: S

Question

Somebody please help me out coding this Arduino exercise, part1, 2, 3

I. Blink Without Delay Sometimes you need to do two things at once. For example you might want to blink an LED while reading a button press. In this case, you can't use delay (), because Arduino pauses your program during the delay ). If the button is pressed while Arduino is paused waiting for the delay ) to pass, your program will miss the button press. This sketch demonstrates how to blink an LED without using delay ). It turns the LED on and then makes note of the time. Then, each time through loop (), it checks to see if the desired blink time has passed. If it has, it toggles the LED on or off and makes note of the new time. In this way the LED blinks continuously while the sketch execution never lags on a single instruction. An analogy would be warming up a pizza in your microwave, and also waiting some important email. You put the pizza in the microwave and set it for 10 minutes. The analogy to using delay () would be to sit in front of the microwave watching the timer count down from 10 minutes until the timer reaches zero. If the important email arrives during this time you will miss it. What you would do in real life would be to turn on the pizza, and then check your email, and then maybe do something else (that doesn't take too long!) and every so often you will come back to the microwave to see if the timer has reached zero, indicating that your pizza is done. In this tutorial you will learn how to set up a similar timer.

Explanation / Answer

int ledPin = 13; // the number of the LED pin

int ledState = LOW; // ledState used to set the LED

unsigned long previousMillis = 0; // will store last time LED was updated

long // milliseconds of on-time

long OffTime = 750; // milliseconds of off-time

void setup()

{

// set the digital pin as output:

pinMode(ledPin, OUTPUT);   

}

void loop()

{

// check to see if it's time to change the state of the LED

unsigned long currentMillis = millis();

if((ledState == HIGH) && (currentMillis - previousMillis >= OnTime))

{

ledState = LOW; // Turn it off

previousMillis = currentMillis; // Remember the time

digitalWrite(ledPin, ledState); // Update the actual LED

}

else if ((ledState == LOW) && (currentMillis - previousMillis >= OffTime))

{

ledState = HIGH; // turn it on

previousMillis = currentMillis; // Remember the time

digitalWrite(ledPin, ledState); // Update the actual LED

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote