Stap 5: Plug it all in en firmware laden
Nu moet je acht bits hart nu klaar om de stekker in en laden van firmware. De bijgevoegde schets pulsen net het hart omhoog en omlaag. Als u mijn ontwerp hebt gekopieerd en schrijft uw eigen schets Houd in gedachten dat ik heb geselecteerd weerstanden met lagere ohm dan de LEDs aankan gedurende een lange periode van tijd. Dus als je elke LED op voor een langere periode van tijd laat er een goede kans is zal u blazen. Eenvoudige stelregel gehanteerd: Houd het verplaatsen en houd minder dan 1/3 verlicht en je _should_ zijn ok (althans dat is mijn begrip, corrigeer me als ik verkeerd ben).
8 bit hart Arduino Sketch:
8 bit hartslag
Een schets uit te voeren op de 8-Bit hart met aangepaste madas timing
en aanpasbare LED-array voor gemakkelijk opnieuw ordenen, alsof ik nodig had.
Door: PuZZleDucK
Licentie: GPL3
Datum: 28/01/2014
int arraySize = 17; Nummer voor LEDs in uw hart... meer middelen je van me houdt.
int ledArray [17] = {4,3,2, A0, A1, A2, A3, A4, A5, 12, 11, 10, 9, 8, 7, 6, 5}; Opmerking de "Europese" stijl van beginnen bij 4.
vluchtige lang = 0; Madman timing...
void setup {/ / Just set alle onze pinnen aan output
for (int i = 0; ik < arraySize; i ++) {}
pinMode (ledArray [i], OUTPUT);
}
}
void loop {}
tijd ++; Voorschot tijd index
Als (tijd == 2147483647L) {}
tijd == 0; Het einde, in de buurt van het begin.
}
Met behulp van modula arithmatic te oposing LEDs oplichten
digitalWrite (ledArray [arraySize-((time-1) % arraySize) -1], hoge);
digitalWrite (ledArray [tijd % arraySize], hoge);
delay(50); Je denkt misschien 100 romantischer misschien wel, maar ik vond 50 te zijn van een mooie balans tussen saai en beslaglegging-inducerende.
digitalWrite (ledArray [arraySize-((time-1) % arraySize) -1], laag);
digitalWrite (ledArray [tijd % arraySize], laag);
} //loop
Ik gebruikte deze voor foutopsporing... Ik bid dat u nooit nodig.
maar als je het doet is geweldig uitzien: blinkN (tijd % arraySize, tijd % arraySize + 1); Dit zal elke pin op zijn beurt met een eigen volgnummer knipperen.
VOID blinkN (int pin, int count) {}
voor (int i = 0; ik < telling; i ++) {}
digitalWrite (pin, hoge);
delay(100); Je denkt misschien 50 zou sneller... maar ik kan niet tellen dat snel: p
digitalWrite (pin, laag);
delay(100);
}
} //blinkN