My C is very rusty and I'm trying to light a row of leds one at a time with a common ground. Any help is appreciated.
int ledPin0 = 13; // LED connected to gnd digital pin 13
int ledR1 [8] = { 9, 3, 2, 12, 15, 11, 7, 6}; // LED connected to vcc for digital pin 13
int vcc = 255;
int gnd = 0;
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital and analog pins as an output:
pinMode(ledPin0, OUTPUT);
pinMode(9, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
pinMode(12, OUTPUT);
pinMode(15, OUTPUT);
pinMode(11, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(ledPin0, LOW); // set common ground for row 1 (pin 13)
for (int i=0; i < 8; i++)
{
if(i=4){ //Analog pin 15 is controlled by analogWrite function
analogWrite(ledR1[i], vcc);
delay(100);
analogWrite(ledR1[i], gnd);
}
else{ //light up the rest of the leds
digitalWrite(ledR1[i], HIGH); // set the vcc to turn on 1,i
delay(100); // wait for a second
digitalWrite(ledR1[i], LOW); // set the gnd to turn off 1,i
delay(100);
}
}
I have it working with a whole bunch of repetition and I'm just trying to minimize this code:
int ledPin0 = 13; // LED connected to gnd digital pin 13
int ledPin1 = 9; // LED connected to vcc for digital pin 13
int ledPin3 = 3;
int ledPin5 = 2;
int ledPin7 = 12;
int ledPin9 = 15;
int ledPin11 = 11;
int ledPin13 = 7;
int ledPin15 = 6;
int vcc = 255;
int gnd = 0;
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
pinMode(ledPin0, OUTPUT);
pinMode(ledPin1, OUTPUT);
digitalWrite(ledPin0, LOW); // set common ground for row 1 (pin 13)
digitalWrite(ledPin1, HIGH); // set the vcc to turn on 1,1 (pin 9)
delay(100); // wait for a second
digitalWrite(ledPin1, LOW); // set the gnd to turn off 1,1 (pin 9)
delay(100);
pinMode(ledPin3, OUTPUT);
digitalWrite(ledPin3, HIGH); // set the vcc for the LED
delay(100); // wait for a second
digitalWrite(ledPin3, LOW); //
delay(100);
pinMode(ledPin5, OUTPUT);
digitalWrite(ledPin5, HIGH); // set the Ground for the LED
delay(100); // wait for a second
digitalWrite(ledPin5, LOW);
delay(100);
pinMode(ledPin7, OUTPUT);
digitalWrite(ledPin7, HIGH); // set the Ground for the LED
delay(100); // wait for a second
digitalWrite(ledPin7, LOW);
delay(100);
pinMode(ledPin9, OUTPUT);
analogWrite(ledPin9, vcc); // set the for the LED
delay(100); // wait for a second
analogWrite(ledPin9, gnd);
delay(100);
pinMode(ledPin11, OUTPUT);
digitalWrite(ledPin11, HIGH); // set the Ground for the LED
delay(100); // wait for a second
digitalWrite(ledPin11, LOW);
delay(100);
pinMode(ledPin13, OUTPUT);
digitalWrite(ledPin13, HIGH); // set the Ground for the LED
delay(100); // wait for a second
digitalWrite(ledPin13, LOW);
delay(100);
pinMode(ledPin15, OUTPUT);
digitalWrite(ledPin15, HIGH); // set the Ground for the LED
delay(100); // wait for a second
digitalWrite(ledPin15, LOW);
delay(100);
}