# Need help replacing delays with millis

**URL:** <https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841>\
**Category:** Programming\
**Created:** [June 8, 2023, 12:13pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841 "2023-06-08T12:13:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:13pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/1 "2023-06-08T12:13:54Z")

</div>

```arduino
int analogInput = A0;
unsigned int total;
float voltage;
float vout = 0.0;
float R1 = 1000;
float R2 = 1000;
int value = 0;
float batt1;
float batt2;
float batt_LOW = 1.40;
float batt_MAX = 4.40;
int Start = 2;
int GREEN_LED = 3;
int charge_1 = 4;
int charge_2 = 5;
int charge_3 = 6;
int charge_4 = 7;
int charge_5 = 8;

void setup()
{ Serial.begin(9600);
pinMode(GREEN_LED, OUTPUT);
pinMode(analogInput, INPUT);
pinMode(charge_1, OUTPUT);
pinMode(charge_2, OUTPUT);
pinMode(charge_3, OUTPUT);
pinMode(charge_4, OUTPUT);
pinMode(charge_5, OUTPUT);
pinMode(Start, INPUT_PULLUP);
digitalWrite(charge_1, HIGH);
digitalWrite(charge_2, HIGH);
digitalWrite(charge_3, HIGH);
digitalWrite(charge_4, HIGH);
digitalWrite(charge_5, HIGH);
delay(500);
}

void loop()
{
if (digitalRead(Start) == LOW)
{ Serial.println(" NOW ON. ");
delay(800);
digitalWrite(GREEN_LED, LOW);
batt_1();
}
}

void batt_1()
{ total = analogRead(analogInput);
batt1 = (total);
delay(1000);
total = 0;

if (batt1 >= batt_MAX)
{ digitalWrite(charge_1, LOW);
delay(60000);
digitalWrite(charge_2, LOW);
delay(120000);
digitalWrite(charge_3, LOW);
delay(60000);
digitalWrite(charge_4, LOW);
delay(80000);
digitalWrite(charge_5, HIGH);
delay(120000);
batt_2();
}
}

void batt_2()
{ total = analogRead(analogInput);
batt2 = (total); // convert readings to volt
delay(1000); // 2 seconds between measurements
total = 0; // reset value

if (batt2 <= batt_LOW)
{ delay(1000);
digitalWrite(charge_1, HIGH);
delay(1000);
digitalWrite(charge_2, HIGH);
delay(1000);
digitalWrite(charge_3, HIGH);
delay(1000);
digitalWrite(charge_4, HIGH);
delay(1000);
digitalWrite(charge_5, LOW);
delay(180000);
batt_Stop();
}
}

void batt_Stop()
{ delay(1000);
digitalWrite(charge_1, HIGH);
digitalWrite(charge_2, HIGH);
digitalWrite(charge_3, HIGH);
digitalWrite(charge_4, HIGH);
digitalWrite(charge_5, HIGH);
delay(1000);
}

```

---

<div class="post-metadata">

**Author:** ![J-M-L](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/j-m-l/32/766245_2.png) [@J-M-L](https://forum.arduino.cc/u/J-M-L)\
**Post date:** [June 8, 2023, 12:14pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/2 "2023-06-08T12:14:34Z")

</div>

that's at the start of your code, may be it's a hint.

> [@alemartk](#):
>
> `Use code tags to format code for the forum`

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 8, 2023, 12:15pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/3 "2023-06-08T12:15:32Z")

</div>

> [@alemartk](#):
>
> Use code tags to format code for the forum

Why didm't you follow the advice that you yourself posted ?

---

<div class="post-metadata">

**Author:** ![anon56112670](https://avatars.discourse-cdn.com/v4/letter/a/c5a1d2/32.png) [@anon56112670](https://forum.arduino.cc/u/anon56112670)\
**Post date:** [June 8, 2023, 12:15pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/4 "2023-06-08T12:15:56Z")

</div>

Why  
does  
your  
code  
wander  
all  
over  
the  
page?

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:17pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/5 "2023-06-08T12:17:20Z")

</div>

no idea. im new posting

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 8, 2023, 12:21pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/6 "2023-06-08T12:21:33Z")

</div>

Whilst the compiler does not care about blank lines and empty space in code it makes it difficult for humans to read

Please use Auto Format in the IDE then post the code here in \< CODE/ \> tags in a new post in this topic

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:25pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/7 "2023-06-08T12:25:39Z")

</div>

sorry im a newby.

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:36pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/8 "2023-06-08T12:36:54Z")

</div>

can anyone help me with this riddler....

i been trying to replace delay with millis without success

no matter how i tried millis won't work.

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 8, 2023, 12:39pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/9 "2023-06-08T12:39:39Z")

</div>

> [@alemartk](#):
>
> no matter how i tried millis won't work.

Please show how you tried

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:43pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/10 "2023-06-08T12:43:43Z")

</div>

i erase already

---

<div class="post-metadata">

**Author:** ![UKHeliBob](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ukhelibob/32/215663_2.png) [@UKHeliBob](https://forum.arduino.cc/u/UKHeliBob)\
**Post date:** [June 8, 2023, 12:43pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/11 "2023-06-08T12:43:59Z")

</div>

Unfortunately you cannot simply replace delay() with millis(). Instead you have to use a completely different structure for your sketch such that instead of blocking its operation using delay() you use millis() to determine whether it is time to do something and if not, go and do something else

See [Using millis() for timing. A beginners guide](https://forum.arduino.cc/index.php?topic=503368.0), [Several things at the same time](https://forum.arduino.cc/index.php?topic=223286.0) and the BlinkWithoutDelay example in the IDE

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:44pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/12 "2023-06-08T12:44:34Z")

</div>

thats the last code a have to work with

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:46pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/13 "2023-06-08T12:46:02Z")

</div>

thanks for your help

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 12:50pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/14 "2023-06-08T12:50:26Z")

</div>

can anyone help me replacing this delay with millis or point me in the right direction .  
in bein having a hard time with this school project.

---

<div class="post-metadata">

**Author:** ![paulpaulson](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulpaulson/32/363643_2.png) [@paulpaulson](https://forum.arduino.cc/u/paulpaulson)\
**Post date:** [June 8, 2023, 12:52pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/16 "2023-06-08T12:52:56Z")

</div>

Hello

In general - Arrays and structs are your friends.  
Don't duplicate code in your sketch. Write code once - use it multiple times.

Use the BlinkWithOutDelay example of the IDE to design and code your own timer() functions as needed for your project.

Have a nice day and enjoy coding in C++.

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 8, 2023, 12:57pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/17 "2023-06-08T12:57:14Z")

</div>

> [@alemartk](#):
>
> point me in the right direction .

already done - see post #11

---

<div class="post-metadata">

**Author:** ![alemartk](https://avatars.discourse-cdn.com/v4/letter/a/e8c25b/32.png) [@alemartk](https://forum.arduino.cc/u/alemartk)\
**Post date:** [June 8, 2023, 1:02pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/18 "2023-06-08T13:02:53Z")

</div>

![post](https://europe1.discourse-cdn.com/arduino/original/4X/3/4/3/34305f2222874b6482980cd1f1e8b9c4b38e6b71.png)  
thanks to all of you for a nice welcome....good day to all.

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 8, 2023, 1:09pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/19 "2023-06-08T13:09:16Z")

</div>

What does this arrow means?

---

<div class="post-metadata">

**Author:** ![J-M-L](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/j-m-l/32/766245_2.png) [@J-M-L](https://forum.arduino.cc/u/J-M-L)\
**Post date:** [June 8, 2023, 1:10pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/20 "2023-06-08T13:10:45Z")

</div>

I suppose this is to show that he fixed the code tags in post 1

---

<div class="post-metadata">

**Author:** ![b707](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/b707/32/854321_2.png) [@b707](https://forum.arduino.cc/u/b707)\
**Post date:** [June 8, 2023, 1:11pm UTC](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841/21 "2023-06-08T13:11:48Z")

</div>

O-ps  
understand

[Next page](https://forum.arduino.cc/t/need-help-replacing-delays-with-millis/1135841.md?page=2)
