KNIGHT RIDERS använder ARDUINO (4 / 4 steg)
Steg 4: Kodning:-
void setup() {
pinMode (A0, indata); ställa in PIN-koden för att läsa potentiometern / / nu måste vi ställa in vår LED stift som resultat:
int i; för (jag = 0; jag < 15; i ++) {
pinMode (led_pins [i], produktionen); Som standard varje LED till off. Detta förutsätter anoder av lysdioder är anslutna / / till utgångsstift (med en 330 ohm motstånd i mellan för strömbegränsning) / / och den andra sidan av alla lysdioder (katod) är anslutna till marken.
digitalWrite (led_pins [i], låg); }}
void loop() {/ / vi ställa upp en variabel till index i vårt utbud av pin-koder. Vi kommer som standard det 0 (först / / LED) och låta sitt utbud gå från 0 till 14 inclusive (femtonde värdet i vår matris).
heltal index = 0; Vi behöver också en variabel att berätta vilken riktning vi "studsar" lysdioderna. Vi ska börja med 1 och använda -1 för att gå åt andra hållet:
int riktning = 1; samtidigt (1) {
int värde = analogRead(A0); få positionen från 0 till 1023 / / vi ska använda detta värde som antalet millisekunder till fördröjning mellan vidare till mellan LED'S. Det finns 1000 millisekunder i en sekund så det ger oss ett bra utbud av dröjsmål från 1/1000 till en / / lite mer än 1 sekund. Men först måste vi vända på "nuvarande" LED (den som indexeras av "index"):
digitalWrite (led_pins [index], hög); tur LED pin-hög, '1', + 5v, alla samma sak... / / fördröjning nu under en tid i förhållande till potentiometern. Funktionen "delay()" väntar numret / / millisekunder vi ge innan det återvänder så detta fungerar perfekt: delay(value); Stäng av strömmen ledde innan framåt:
digitalWrite (led_pins [index], låg); Vi avancera vårt index nummer så på nästa pass vi pratar om nästa LED:
index += riktning; Vi inspekterar vårt index för att se om vi är på väg att gå förbi någon ände. Om vi har nått antingen / / slutet vi kommer helt enkelt multiplicera riktning med -1 varje gång vi når ena änden eller andra och detta / / kommer att växla från 1 och -1, redo för nästa pass:
om ((index == 0) || (index == 9))
{riktning * = -1;} }
}