class Leds{
private:
byte index;
byte *leds;
void PinMode(){
for(size_t i = 0; i <index; i++){
pinMode(leds[i], OUTPUT);
}
}
public:
Leds ( byte ledsP[],byte indexP){
leds = ledsP;
index = indexP;
PinMode();
}
void HighInline(int time){
for(size_t i = 0; i <index; i++){
digitalWrite(leds[i], HIGH);
delay(time);
}
}
void LowInline(int time){
for(size_t i = 0; i <index; i++){
digitalWrite(leds[i], LOW);
delay(time);
}
}
void Blink(int time){
for(size_t i=0;i<index;i++ ){
digitalWrite(leds[i], HIGH);
}
delay(time);
for(size_t i=0;i<index;i++ ){
digitalWrite(leds[i], LOW);
}
delay(time);
}
void Snake(int time){
for(size_t i = 0; i <index; i++){
digitalWrite(leds[i], HIGH);
delay(time);
}
for(size_t i = 0; i <index; i++){
digitalWrite(leds[i], LOW);
delay(time);
}
}
void ZigZag(int time){
for(size_t i = 0; i <index; i++){
digitalWrite(leds[i], HIGH);
delay(time);
}
for(size_t i = 0; i <=index; i++){
digitalWrite(leds[index-i], LOW);
delay(time);
}
delay(time);
}
};
byte ld[]{2,3,4,5,6,7};
Leds leds(ld,6);
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
leds.HighInline(200);
leds.LowInline(200);
leds.Blink(200);
leds.Snake(200);
leds.ZigZag(50);
}