Stap 6: Een test schets
- Copyright (c) 2009 qs
*
- Scannen van horizontale en verticale pixels
*
- LED Matrix rij: 1-5; Col: 1-6
- Kaart van PORTB == D8:D12 pin [rij + 7]: + v
- PORTD == D2:D7 pin [8-col]; GND
- Onze productie: col::D2:D7 - ve (laag), terwijl row::D8:D13 + ve
*/
int delayTime = 80; 1mS stappen voordat de volgende LED
wijzigen van 1-100 en zien wat er gebeurt
int delayStep;
int ledPin, col, rij;
void setup / / run eenmaal in, wanneer de schets wordt gestart
{
voor (ledPin = 2; ledPin < = 12; ledPin ++) / / standaard setup voor LMP
{pinMode (ledPin, OUTPUT); / / Hiermee stelt u de digitale pen als uitvoer
digitalWrite (ledPin, (ledPin < = 7)); en stelt alle OFF
}
}
void loop / / run over en weer
/ * Kaart PORTB == D8:D13
- PORTD == D0:D7
- Onze productie: col::D7:D2
- (8-col) - ve (LOW)
- terwijl row::D8:D13 + ve
- (rij + 7) + ve (hoog)
*/
{
voor (rij = 1; rij < = 5; rij ++) {/ / verticaal: van links naar rechts
digitalWrite(row+7,HIGH); Hele rij inschakelen
voor (col = 1; col < = 6; col ++) {/ / dan één pixel per col
digitalWrite(8-col,LOW); wordt ingeschakeld
delay(delayTime); voor een moment
digitalWrite(8-col,HIGH); dan OFF
} / / vóór de volgende
digitalWrite (rij + 7, laag); We zijn klaar met deze rij
}
voor (col = 6; col > = 1; col--) {/ / recht omhoog naar links
digitalWrite(8-col,LOW); Een snelkoppeling: col ingeschakeld laten
voor (rij = 5; rij > = 1; rij--) {}
digitalWrite(row+7,HIGH); 1 pixel inschakelen
delay(delayTime); Wacht even
digitalWrite(row+7,LOW); vervolgens uitgeschakeld...
}
digitalWrite(8-col,HIGH); afgewerkt met deze kolom
}
}