# Problema delay nel combinare due sketch

**URL:** <https://forum.arduino.cc/t/problema-delay-nel-combinare-due-sketch/1030284>\
**Category:** Software\
**Created:** [September 9, 2022, 1:50pm UTC](https://forum.arduino.cc/t/problema-delay-nel-combinare-due-sketch/1030284 "2022-09-09T13:50:12Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![Datman](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/datman/32/219519_2.png) [@Datman](https://forum.arduino.cc/u/Datman)\
**Post date:** [September 13, 2022, 7:31am UTC](https://forum.arduino.cc/t/problema-delay-nel-combinare-due-sketch/1030284/7 "2022-09-13T07:31:24Z")

</div>

> [@quintoquarto](#):
>
> In pratica ho messo il lampeggio in una funzione chiamata lampeggia ed al suo interno viene chiamata la funzione dei servo!

Mi sa che non hai riportato il programma giusto!  
Riguardo millis(), leggi anche qui:

> [@Problema con delay!!](https://forum.arduino.cc/t/problema-con-delay/595094/4):
>
> \>Domi02: Devi studiarti come si usa la funzione [millis()](https://www.arduino.cc/en/Reference/Millis), prima [QUI](http://www.leonardomiliani.com/2012/come-gestire-loverflow-di-millis/), poi [QUI](http://www.leonardomiliani.com/2013/programmiamo-i-compiti-con-millis/) e [QUI](http://arduino.cc/en/Tutorial/BlinkWithoutDelay) e [QUI](http://www.baldengineer.com/pushbutton-and-flashing-led-tutorial-with-millis.html) e tutti gli articoli che sono in [QUESTA](https://www.baldengineer.com/arduino-millis-examples.html) pagina ... vedrai che ti sarà tutto più chiaro. Guglielmo P.S.: ... oltre che a quei link, prova a dare un occhiata anche [QUI](http://forum.arduino.cc/index.php?topic=491944.msg3361369#msg3361369).

> [@ritardo che non mi blocchi il loop](https://forum.arduino.cc/t/ritardo-che-non-mi-blocchi-il-loop/700795/8):
>
> millis() è come un cronometro che parte da 0 all'accensione e va avanti fino alla fine dell'unsigned int che esprime in millisecondi il tempo trascorso. Raggiunto il limite dei 32 bit (oltre 4 miliardi, pari a circa 50 giorni) ricomincia da zero. Per usarlo, quindi, devi solo prendere il tempo all'inizio di qualcosa e poi verifichi ciclicamente se è trascorso il tempo prefissato con la forma: if(millis()-t\_iniziale \> DURATA) {}; Supponi di infornare una torta, accendere il fuoco al caffè e met…

Se LED e servo devono fare passi contemporanei, però, puoi anche usare la stessa temporizzazione per entrambi e, a quel punto, il delay() funziona ugualmente:

```arduino
loop()
{
- Fai un passo alle luci
- Fai un passo al servo
- Aspetta un momento
}

```

Naturalmente non puoi usare dei for(): devi incrementare le variabili a ogni giro di loop e azzerarle quando raggiungono il valore massimo.  
Per fare avanti e indietro, puoi incrementare da 0 a 360 e mettere:

```arduino
if(degrees>180) valore=360-degrees;
else valore=degrees;

```

---

_[View the full topic](https://forum.arduino.cc/t/problema-delay-nel-combinare-due-sketch/1030284)._
