Bygga en låg kostnad, rullning LED-skärm för din Arduino mikroprocessor. (6 / 6 steg)
Steg 6: En testet skiss
- Copyright (c) 2009 qs
*
- Scanning horisontella och vertikala pixlar
*
- LEDDE matrisen rad: 1-5. Col: 1-6
- Mappa PORTB == D8:D12 stift [rad + 7]: + v
- PORTD == D2:D7 pin [8-col]; GND
- Vår produktion: col::D2:D7 - ve (låg) medan row::D8:D13 + ve
*/
int fördröjningstid = 80. 1ms steg innan nästa LED
ändra från 1-100 och se vad som händer
int delayStep;
int ledPin, col, rad;
void setup() / / kör en gång, när skissen startar
{
för (ledPin = 2; ledPin < = 12; ledPin ++) / / Standard setup för LMP
{pinMode (ledPin, produktionen); / / sätter digital PIN-koden som utgång
digitalWrite (ledPin, (ledPin < = 7)); och sätter alla OFF
}
}
void loop() / / kör om och om igen
/ * Mappa PORTB == D8:D13
- PORTD == D0:D7
- Vår produktion: col::D7:D2
- (8-col) - ve (låg)
- samtidigt row::D8:D13 + ve
- (rad + 7) + ve (hög)
*/
{
för (rad = 1; rad < = 5; rad ++) {/ / vertikal: från vänster till höger
digitalWrite(row+7,HIGH); Aktivera hela raden
för (col = 1; col < = 6; col ++) {/ / sedan en pixel per kol
digitalWrite(8-col,LOW); blir aktiverat
Delay(delayTime); för ett ögonblick
digitalWrite(8-col,HIGH); sedan OFF
} / / före nästa
digitalWrite (rad + 7, låg); Vi är klara med denna rad
}
för (col = 6; col > = 1; col--) {/ / gå upp höger till vänster
digitalWrite(8-col,LOW); En genväg: lämna col aktiverad
för (rad = 5; rad > = 1; rad--) {
digitalWrite(row+7,HIGH); Aktivera 1 pixel
Delay(delayTime); Vänta en stund
digitalWrite(row+7,LOW); sedan iväg...
}
digitalWrite(8-col,HIGH); klar med denna kolumn
}
}