Stap 9: Plak de onderstaande code op een open arduino "schets".
Opmerking: De regels die beginnen met / / commentaar secties zijn, ze worden alleen gebruikt om uit te leggen van de code en ze niet bijdragen tot de eigenlijke code!
int ledPins [] = {2,3,4,5,6,7,8,9};
Het eerste element van een array is op index 0.
Hebben we de waarde "2" in de index 0, "3" in indexnummer 1, enz.
De index in de bovenstaande matrix is 7, waarin
de waarde "9".
We gebruiken de waarden in deze array om de pin-nummers opgeven
dat de 8 LEDs met verbonden zijn. LED 0 is aangesloten op
pin 2, LED 1 is aangesloten op pin 3, enz.
VOID Setup
{
int index;
In deze schets gebruiken we "for() lussen" voor stap variabelen uit
een waarde naar de andere, en het uitvoeren van een reeks instructies voor
elke stap. For() loops zijn een zeer handige manier om nummers te krijgen
tellen omhoog of omlaag.
Elke lus for() heeft drie verklaringen gescheiden door
puntkomma's (;):
// 1. Iets te doen voordat u begint
// 2. Een test om uit te voeren; zo lang als het waar is, houden in een lus
// 3. Iets te doen na elke lus (toename per variabele)
Hier gebruiken we een for() lus voor het initialiseren van alle pinnen van de LED
naar de uitgangen. Dit is veel gemakkelijker dan het schrijven van acht aparte
verklaringen te doen hetzelfde.
Deze for()-lus zal index = 0, voer de pinMode()
verklaring binnen de haakjes. Het zal dan hetzelfde doen
voor index = 2, index = 3, etc. helemaal te indexeren = 7.
voor (index = 0; index < = 7; index ++)
{
pinMode(ledPins[index],OUTPUT);
ledPins [index] wordt vervangen door de waarde in de matrix.
LedPins [0] is bijvoorbeeld 2
}
}
void loop
{
Deze loop roept functies die we hebben geschreven verder hieronder.
Wij heb uitgeschakeld sommige van deze door commentaar ze uit (zetten
"/ /" voor hen). Als u wilt proberen verschillende LED displays, verwijderen
de "/ /" voor degene die u wilt uitvoeren, en voeg "/ /"
voor degenen die je niet te commentaar uit (uitschakelen) die
lijnen.
oneAfterAnotherNoLoop(); Op zijn beurt alle LEDs oplichten
}
/*
oneAfterAnotherNoLoop()
Deze functie zal het licht van één LED, vertraging voor delayTime, dan licht
de volgende leidde, en herhaal tot alle van de LED's op. Het zal dan
zwenking zij vandoor in de omgekeerde volgorde.
Deze functie maakt geen gebruik van een for()-lus. Wij hebben het de harde manier gedaan
om u te tonen hoeveel gemakkelijker leven kan worden wanneer u for() gebruikt worden.
Neem een kijkje op oneAfterAnotherLoop() verder naar beneden, die
precies het zelfde ding met veel minder te typen.
*/
VOID oneAfterAnotherNoLoop()
{
int delayTime = 100; / / (milliseconden) tijd om te pauzeren tussen LEDs
Dit verkleinen voor sneller schakelen
alle de LEDs inschakelen:
digitalWrite (ledPins [0], hoge); Hiermee schakelt u LED #0 (pin 2)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [1], hoge); Hiermee schakelt u LED #1 (pin 3)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [2], hoge); Hiermee schakelt u LED #2 (pin 4)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [3], hoge); Hiermee schakelt u LED #3 (pin 5)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [4], hoge); Hiermee schakelt u LED #4 (pin 6)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [5], hoge); Hiermee schakelt u LED #5 (pin 7)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [6], hoge); Hiermee schakelt u LED #6 (pin 8)
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [7], hoge); Hiermee schakelt u LED #7 (pin 9)
delay(delayTime); delayTime milliseconden wacht
alle de LEDs uit te schakelen:
digitalWrite (ledPins [7], laag); LED #7 (pin 9) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [6], laag); LED #6 (pin 8) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [5], laag); LED #5 (pin 7) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [4], laag); LED #4 (pin 6) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [3], laag); LED #3 (pin 5) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [2], laag); LED #2 (pin 4) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [1], laag); LED #1 (pin 3) uitschakelen
delay(delayTime); delayTime milliseconden wacht
digitalWrite (ledPins [0], laag); LED #0 (pin 2) uitschakelen
delay(delayTime); delayTime milliseconden wacht
}