I change my project a lot. (Hope you will like it...I will show it on Monday...)The following is my code.
I get the code work and I change a little bit. I use more than one LEDs so I set int num_pins=5.
If you olny have one LED, you can ignore: "int pins[] = {
2, 3, 4, 5, 6 };" and "int num_pins=5;" The code works but it may not the perfect one. Let's study together.
:)
int benCounter=0;
int justSwitched=0;
int highdelay=500;
int lowdelay=100;
int pins[] = {
2, 3, 4, 5, 6 };
int num_pins=5;
void setup() {
pinMode(7,INPUT);
int i;
for(i=0; i< num_pins; i++){
pinMode(pins[i],OUTPUT);
}
digitalWrite(6,LOW);
justSwitched==0;
}
void loop() {
if (digitalRead(7)==1 && justSwitched==0)
{
benCounter = benCounter + 1;
justSwitched = 1;
if (benCounter == 1)
{
digitalWrite(pins[0],HIGH);
delay(highdelay);
digitalWrite(pins[0],LOW);
delay(lowdelay);
}
else if (benCounter == 2)
{
int i;
for(i=0; i<2;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 3)
{
int i;
for(i=0; i<3;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 4)
{
int i;
for(i=0; i<4;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 5)
{
int i;
for(i=0; i<5;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter >= 6)
{
int i;
for(i=0; i
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
}
for(i=num_pins - 1; i>=0;i--){
digitalWrite(i,HIGH);
delay(highdelay);
digitalWrite(i,LOW);
}
}
}
else if (digitalRead(7)==1 && justSwitched==1){
benCounter = benCounter;
justSwitched =1;
if (benCounter == 1)
{
digitalWrite(pins[0],HIGH);
delay(highdelay);
digitalWrite(pins[0],LOW);
delay(lowdelay);
}
else if (benCounter == 2)
{
int i;
for(i=0; i<2;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 3)
{
int i;
for(i=0; i<3;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 4)
{
int i;
for(i=0; i<4;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter == 5)
{
int i;
for(i=0; i<5;i++){
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
delay(lowdelay);
}
}
else if(benCounter >= 6)
{
int i;
for(i=0; i
digitalWrite(pins[i],HIGH);
delay(highdelay);
digitalWrite(pins[i],LOW);
}
for(i=num_pins - 1; i>=0;i--){
digitalWrite(i,HIGH);
delay(highdelay);
digitalWrite(i,LOW);
}
}
}
else if (digitalRead(7)==0 && justSwitched==1) {
int i;
for(i=0;i<5;i++){
digitalWrite(pins[i],LOW);
}
justSwitched = 0;
}
else{
int i;
for(i=0;i<5;i++){
digitalWrite(pins[i],LOW);
}
justSwitched = 0;
}
}