Stap 7: Een ingewikkelder schets
Hier is een ander veel ingewikkelder schets, die u naar de ATtiny85 uploaden kunt, het bezet 1508 Byte van Flash-geheugen.# Definieer MAX_CHANNEL 5 int kanaal [MAX_CHANNEL] = {CH1, CH2, CH3, CH4, H5}; lange interval = 500; / / speed = 0,5 seconde void setup () {} allChannelOn (); / / Alle inschakelen leidde één seconde ingedrukt tijdens het opstarten void loop) / / / / / / / / / / / / / / / / / / / / / / / / / Turn on all LED / / / / / / / / / / / / / / / / / / / / / / / / / Turn off all LED / / / / / / / / / / / / / / / / / / / / / / / / / Run LED in de sequentie VOID runKnightRider (void) {} / / / / / / / / / / / / / / / / / / / / / / / / / LED willekeurig run voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {} Als (allChannelState == 0) {/ / als alle LED uitgeschakeld
# Definieer CH1 0 / / ATTiny45/85 PIN5
# Definieer CH2 1 / / ATTiny45/85 PIN6
# Definieer CH3 2 / / ATTiny45/85 PIN7
# Definieer CH4 3 / / ATTiny45/85 PIN2
# Definieer H5 4 / / ATTiny45/85 PIN3
/ / Serial.begin (9600);
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
pinMode (kanaal [i], uitvoer); / / verklaren alle kanaal als output
}
vertraging (1000);
}
{
Vervallen ();
runKnightRider ();
voor (byte ik = 0; ik < 10; ik + +) {/ / loop 10 keer voor willekeurige LED
runRandom ();
}
}
VOID allChannelOn (void) {}
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
digitalWrite (kanaal [i], hoge);
}
}
VOID allChannelOff (void) {}
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
digitalWrite (kanaal [i], laag);
}
}
VOID runDown (void) {}
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
allChannelOff ();
digitalWrite (kanaal [i], hoge);
vertraging (interval);
}
}
allChannelOff ();
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
digitalWrite (kanaal [i], hoge);
vertraging (interval);
}
voor (byte ik = 0; ik < MAX_CHANNEL; ik + +) {}
digitalWrite (kanaal [i], laag);
vertraging (interval);
}
}
VOID runRandom (void) {}
int allChannelState, previousState, staat;
allChannelState = 0;
staat = willekeurige (2);
allChannelState = allChannelState + staat;
digitalWrite (kanaal [i], staat);
}
/ / Gereserveerd
} Else {}
vertraging (interval);
}
}