Blinka flera lysdioder i olika takt, 1 funktion, nr dröjsmål (2 / 2 steg)
Steg 2: En funktion för flera lysdioder
Slutligen är detta koden för en enda funktion att styra flera lysdioder.
Variabeln previousMillis har varit sostituited med en matris som lagrar alla previousMillis för varje led.
När du anropar funktionen måste du sätta 3 argument: ledde (klämma fast eller variabel), intervall (i ms), array (måste vara olika för varje led).
Detta sätt varje led kan ha är egen intervall, minimal variabler krävs (endast array) och dröjsmål används aldrig.
BLINK FUNKTION FÖR FLERA LED
#define blueLed 3 / /
#define greenLed 2 //pin för varje ledde
osignerade långa previousMillis [2]. [x] = antal lampor
void setup() {
pinMode (blueLed, produktionen);
pinMode (greenLed, produktionen);
}
void loop() {
BlinkLed (blueLed, 100, 0); BlinkLed (som ledde, intervall, en av den lagrade prevMillis
BlinkLed (greenLed, 200, 1); senaste parametrar måste vara olika för varje ledde
}
void BlinkLed (int ledde, int intervall, int array) {
(long) kan utelämnas om du inte planerar att blinka ledde under mycket lång tid tror jag
om (((long)millis() - previousMillis[array]) > = intervall) {
previousMillis [samling] = millis(); lagrar millis värdet i markerade matrisen
digitalWrite (ledde,! digitalRead(led)); förändringarna ledde staten
}
}
Skrivet av FabrizioP @ Instructables.com < /p >
Tack för läsning. Jag har köpt min första arduino några dagar sedan så om du har tips, tips, kritiker och allt kommentera gärna nedan!