Början Arduino: fördröja utan delay(), flera gånger (3 / 3 steg)
Steg 3: Koden
Kopiera denna kod till Arduino IDE och ladda upp den till din Arduino:
/*********************************************************
* Demonstration med millis() istället för delay() så
* en annan aktivitet kan hända inom förseningen.
*
* Anoden av fyra lysdioderna är anslutna till stift 2-5.
* Katoder är anslutna till marken via motstånd.
*
* Lysdioder är tidsinställda att göra en binär räknare.
*
*********************************************************/
osignerade långa tid [4]. Har tiden för varje LED.
int stift [8] = {2.3.4.5}. PIN-nummer för lysdioder.
int växla [8] = {0,0,0,0}. Växlar för lysdioder. (0 eller 1)
/**********************************************
* setup() funktion
**********************************************/
void setup()
{
för (int jag = 0; jag < 4; i ++)
{
pinMode (pin [i], utgång); Ange LED stift.
digitalWrite (stift [i], låg); Alla lampor släckta början.
tid [i] = millis(); Starta timers för alla lysdioder.
}
}
/**********************************************
* loop() funktion
**********************************************/
void loop()
{
int intervall [4] = {1000,2000,4000,8000}.
för (int jag = 0; jag < 4; i ++) //For varje ledde i sin tur.
{
om (millis ()-tid [i] > interval[i]) //Has tid gått intervall?
{
Toggle [i] =! växla [i]; Om så inte växla,
tid [i] = millis(); återställa tiden,
digitalWrite (pin [i], toggle[i]); och växla mellan LED,
}
}
}