Sida 3 av 6

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 10:02:57
av svanted
lägg till startvärden på utgångarna sist i setup

digitalWrite(outPin1, HIGH);


eller hur du nu har kopplat?

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 10:34:05
av ochkl0620
Kopplat leddarna från GND till 5,6,7 och knapparna med 10K pulldown till 2,3,4.

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 11:27:49
av Miramithe
Har testat själv nu med en annan kod som togglar led på eller av, men det var inte det du ville? utan att de ska lysa när man håller in?

iaf så kolla jag på din kod innan och en sak jag funderade på var

if (reading0 == HIGH && previous0 == LOW && millis() - time > debounce)

Den skulle jag vilja skriva

if ((reading0 == HIGH && previous0 == LOW && millis() - time) > debounce)

men det kanske bara är jag.

Kod: Markera allt

const int button1 = 8;
const int button2 = 9;
const int button3 = 10;
const int led1 = 2;
const int led2 = 3; 
const int led3 = 4;

int led1State = HIGH;         
int button1State;             
int lastButton1State = LOW;   
int led2State = HIGH;         
int button2State;             
int lastButton2State = LOW;   
int led3State = HIGH;         
int button3State;             
int lastButton3State = LOW;   

long lastDebounceTime = 0;
long debounceDelay = 50;

void setup() {
  
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
}

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }

if ((millis() - lastDebounceTime)  > debounceDelay) {
  
  if (reading1 != button1State) {
    button1State = reading1;
    
  if (button1State == HIGH) {
    led1State = !led1State;
  }
  }
  if (reading2 != button2State) {
    button2State = reading2;
    
  if (button2State == HIGH) {
    led2State = !led2State;
  }
  }
  if (reading3 != button3State) {
    button3State = reading3;
    
  if (button3State == HIGH) {
    led3State = !led3State;
  }}}
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  
  lastButton1State = reading1;
  lastButton2State = reading2;
  lastButton3State = reading3;
  
}

Denna skrev jag, kanske inte helt rätt men den funkar.
Kan tilllägga att jag är nog lika ny på detta med Arduino som du är om inte nyare.

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 11:36:32
av sodjan
> Kopplat leddarna från GND till 5,6,7...

Med lämpliga motstånd?

> och knapparna med 10K pulldown till 2,3,4.

Det fungerar helt säkert OK. Men det vanliga är att ha pull-up.
Det finns en del elektriska orsaker till att det i vissa fall är bättre
med pull-up, men låt oss bara säga att det är vanligare. :-)

Det betyrder så klart också att det aktiva ("tryckta") läget är
"0" eller "låg" på pinnen. Man får vända på testerna i koden.

Men som sagt, pull-down fungerar antagligen helt OK i detta fall. :-)

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 11:50:56
av SeniorLemuren
ochkl0620 skrev:För övrigt... nu efter lite tester osv så är allt pannkaka. När jag körde med bara en knapp o en led i taget så funkade det men nu när jag kopplat 3st så får den fnatt. knappen på pin 2 tänder alla led o håller man in den blir det disco jävlar i havet :P Jag dör lite mer .....
Jag ser att klockan gått lite sedan Carlsberg. Om den råkar innehålla alkohol så kanske du passerat Ballmer peak. Då är det färdigprogrammerat för i dag. :D
ballmer_peak.jpg

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 12:00:17
av ochkl0620
Givetvis med motstånd, trodde det togs för givet :)
Hm osäker på pull-down eller up, det är alltså kopplat följande...

Miramithe: Jodå! De ska lysa när jag släppt knappen.
EDIT: SeniorLemuren Haha! :D
EDIT2: men bilden då.....

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 12:18:14
av ochkl0620
Miramithe: Jag testade din kod och den funkar PRECIS som jag vill :D Vände bara på HIGH/LOW så att den är släckt när den startas.
Jag vill tacka alla väldigt mycket för all hjälp! Nu kommer nästa del... men det får nog bli en egen projekttråd :)
Leddarna ska i vart fall inte vara leddar utan reläer! spänningsregulatorer ska in, PCB ska designas och sen vet i fasen :P
En sak är säker, jag har allt lärt mig en hel del av detta och jag kommer fortsätta med programmering.

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 12:45:09
av Miramithe
*Thumbs up*


Kod: Markera allt

int inPin0 = 8;        
int inPin1 = 9;  
int inPin2 = 10;  
 
int outPin0 = 2;      
int outPin1 = 3;    
int outPin2 = 4;    
 
int state0 = HIGH;
int reading0;  
int previous0 = LOW;
 
int state1 = HIGH;
int reading1;  
int previous1 = LOW;
 
int state2 = HIGH;
int reading2;  
int previous2 = LOW;
 
long time = 0;         
long debounce = 50;   
 
void setup()
{
  pinMode(inPin0, INPUT);
  pinMode(inPin1, INPUT);
  pinMode(inPin2, INPUT);
 
  pinMode(outPin0, OUTPUT);
  pinMode(outPin1, OUTPUT);
  pinMode(outPin2, OUTPUT);
}
 
void loop()
{
  reading0 = digitalRead(inPin0);
  reading1 = digitalRead(inPin1);
  reading2 = digitalRead(inPin2);
 
 
  
  if (reading0 == HIGH && previous0 == LOW && millis() - time > debounce) {
    if (state0 == HIGH)
      state0 = LOW;
    else
      state0 = HIGH;
    }
    
  if (reading1 == HIGH && previous1 == LOW && millis() - time > debounce) {
    if (state1 == HIGH)
      state1 = LOW;
    else
      state1 = HIGH;
       }
       
  if (reading2 == HIGH && previous2 == LOW && millis() - time > debounce) {
    if (state2 == HIGH)
      state2 = LOW;
    else
      state2 = HIGH;
 }
    time = millis();
    

 digitalWrite(outPin0, state0);
 digitalWrite(outPin1, state1);
 digitalWrite(outPin2, state2);
 
 delay(50);
}
Så tog jag din kod och gjorde om den iaf, den funkar. Så du var inte så långt borta. Flyttade bara en måsvinge och ändrade delay och debounce tiden så funka den smidigare. Håller man in en knapp så togglar den dock.

Men den funkar.

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 12:52:06
av ochkl0620
Tack! Jag tänkte köra på din kod men nu helt plötsligt skulle jag ha 6 kanaler istf 3 :P
Så jag tog o kopierade lite men då vill den inte kompilera längre.

Kod: Markera allt

sketch_may18b.ino:1:8: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:2:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:3:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:4:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:5:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:6:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:8:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:9:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:10:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:11:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:12:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:13:10: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:15:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:16:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:17:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:18:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:19:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:20:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:21:1: error: expected declaration before ‘}’ token
Koden i sig,,,

Kod: Markera allt

  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
}

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  int reading4 = digitalRead(button4);
  int reading5 = digitalRead(button5);
  int reading6 = digitalRead(button6);
  
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }if (reading4 != lastButton4State) {
    lastDebounceTime = millis();
  }if (reading5 != lastButton5State) {
    lastDebounceTime = millis();
  }if (reading6 != lastButton6State) {
    lastDebounceTime = millis();
  }

if ((millis() - lastDebounceTime)  > debounceDelay) {
  
  if (reading1 != button1State) {
    button1State = reading1;
    
  if (button1State == HIGH) {
    led1State = !led1State;
  }
  }
  if (reading2 != button2State) {
    button2State = reading2;
    
  if (button2State == HIGH) {
    led2State = !led2State;
  }
  }
  if (reading3 != button3State) {
    button3State = reading3;
    
  if (button3State == HIGH) {
    led3State = !led3State;
  }
  }
  if (reading4 != button4State) {
    button4State = reading4;
    
  if (button4State == HIGH) {
    led4State = !led4State;
  }
  }
  if (reading5 != button5State) {
    button5State = reading5;
    
  if (button5State == HIGH) {
    led5State = !led5State;
  }
  }
  if (reading6 != button6State) {
    button6State = reading6;
    
  if (button6State == HIGH) {
    led6State = !led6State;
  }

  }}}
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
  
  lastButton1State = reading1;
  lastButton2State = reading2;
  lastButton3State = reading3;
  lastButton4State = reading4;
  lastButton5State = reading5;
  lastButton6State = reading6;
  
}

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:01:23
av sodjan
Lite svårt att läsa koden då den inte är indragen på ett
konsekvent sätt, men ska det vara "}}}" där på slutet?

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:04:59
av ochkl0620
Jag satte }}} på slutet men det blev ingen skillnad.

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:10:50
av sodjan
Har du räknat { och } ??
Stämmer antalen överens?
De måste alltid väga jämt, så att säga.

Som jag ser det så ska din loop() se ut ungefär så här:

Kod: Markera allt

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  int reading4 = digitalRead(button4);
  int reading5 = digitalRead(button5);
  int reading6 = digitalRead(button6);
 
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }

  if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }

  if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }

  if (reading4 != lastButton4State) {
    lastDebounceTime = millis();
  }

  if (reading5 != lastButton5State) {
    lastDebounceTime = millis();
  }

  if (reading6 != lastButton6State) {
    lastDebounceTime = millis();
  }


  if ((millis() - lastDebounceTime)  > debounceDelay) {
 
    if (reading1 != button1State) {
      button1State = reading1;
   
      if (button1State == HIGH) {
        led1State = !led1State;
      }
    }

    if (reading2 != button2State) {
      button2State = reading2;
   
      if (button2State == HIGH) {
        led2State = !led2State;
      }
    }

    if (reading3 != button3State) {
      button3State = reading3;
      if (button3State == HIGH) {
        led3State = !led3State;
      }
    }

    if (reading4 != button4State) {
      button4State = reading4;
      if (button4State == HIGH) {
        led4State = !led4State;
      }
    }

    if (reading5 != button5State) {
      button5State = reading5;
      if (button5State == HIGH) {
        led5State = !led5State;
      }
    }

    if (reading6 != button6State) {
      button6State = reading6;
      if (button6State == HIGH) {
        led6State = !led6State;
      }
    }
 

    digitalWrite(led1, led1State);
    digitalWrite(led2, led2State);
    digitalWrite(led3, led3State);
    digitalWrite(led4, led4State);
    digitalWrite(led5, led5State);
    digitalWrite(led6, led6State);
 
    lastButton1State = reading1;
    lastButton2State = reading2;
    lastButton3State = reading3;
    lastButton4State = reading4;
    lastButton5State = reading5;
    lastButton6State = reading6;
 
  }
}

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:11:39
av ochkl0620
Vänta nu.. Jag har ju missat halva koden :bravo:

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:28:42
av ochkl0620
Nuså är den komplett men kompilerar likförbannat inte. Kan inte begripa varför när jag bara kopierat ursprungsblocken och döpt om med andra siffror!

Kod: Markera allt

const int button1 = 8;
const int button2 = 9;
const int button3 = 10;
const int button4 = 11;
const int button5 = 12;
const int button6 = 13;
const int led1 = 2;
const int led2 = 3; 
const int led3 = 4;
const int led4 = 5;
const int led5 = 6; 
const int led6 = 7;

int led1State = LOW;         
int button1State;             
int lastButton1State = HIGH;   
int led2State = LOW;         
int button2State;             
int lastButton2State = HIGH;   
int led3State = LOW;         
int button3State;             
int lastButton3State = HIGH;   
int led4State = LOW;         
int button4State;             
int lastButton4State = HIGH;
int led5State = LOW;         
int button5State;             
int lastButton5State = HIGH;
int led6State = LOW;         
int button6State;             
int lastButton6State = HIGH;

long lastDebounceTime = 0;
long debounceDelay = 50;

void setup() {
  
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
}

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  int reading4 = digitalRead(button4);
  int reading5 = digitalRead(button5);
  int reading6 = digitalRead(button6);
  
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }if (reading4 != lastButton4State) {
    lastDebounceTime = millis();
  }if (reading5 != lastButton5State) {
    lastDebounceTime = millis();
  }if (reading6 != lastButton6State) {
    lastDebounceTime = millis();
  }
 

if ((millis() - lastDebounceTime)  > debounceDelay) {
  
  if (reading1 != button1State) {
    button1State = reading1;
    
  if (button1State == HIGH) {
    led1State = !led1State;
  }
  }
  if (reading2 != button2State) {
    button2State = reading2;
    
  if (button2State == HIGH) {
    led2State = !led2State;
  }
  }
  if (reading3 != button3State) {
    button3State = reading3;
    
  if (button3State == HIGH) {
    led3State = !led3State;
  }
  }
  if (reading4 != button4State) {
    button4State = reading4;
    
  if (button4State == HIGH) {
    led4State = !led4State;
  }
  }
  if (reading5 != button5State) {
    button5State = reading5;
    
  if (button5State == HIGH) {
    led5State = !led5State;
  }
  }
  if (reading6 != button6State) {
    button6State = reading6;
    
  if (button6State == HIGH) {
    led6State = !led6State;
  }

  }}}
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
  
  lastButton1State = reading1;
  lastButton2State = reading2;
  lastButton3State = reading3;
  lastButton4State = reading4;
  lastButton5State = reading5;
  lastButton6State = reading6;
  
}

Kod: Markera allt



sketch_may18b.ino:129:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:130:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:131:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:132:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:133:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:134:15: error: expected constructor, destructor, or type conversion before ‘(’ token
sketch_may18b.ino:136:3: error: ‘lastButton1State’ does not name a type
sketch_may18b.ino:137:3: error: ‘lastButton2State’ does not name a type
sketch_may18b.ino:138:3: error: ‘lastButton3State’ does not name a type
sketch_may18b.ino:139:3: error: ‘lastButton4State’ does not name a type
sketch_may18b.ino:140:3: error: ‘lastButton5State’ does not name a type
sketch_may18b.ino:141:3: error: ‘lastButton6State’ does not name a type
sketch_may18b.ino:143:1: error: expected declaration before ‘}’ token

Re: Lite Arduinobekymmer...

Postat: 18 maj 2014, 13:29:42
av Miramithe
Ja skulle precis säga att det var ju inte hela koden, men iaf satte upp det som förut räkna alla{}() och hitta ett fel ändrade och fick fram den här koden.

Kod: Markera allt

const int button1 = 8;
const int button2 = 9;
const int button3 = 10;
const int button4 = 11;
const int button5 = 12;
const int button6 = 13;
const int led1 = 2;
const int led2 = 3; 
const int led3 = 4;
const int led4 = 5;
const int led5 = 6;
const int led6 = 7;

int led1State = HIGH;         
int button1State;             
int lastButton1State = LOW;   
int led2State = HIGH;         
int button2State;             
int lastButton2State = LOW;   
int led3State = HIGH;         
int button3State;             
int lastButton3State = LOW;   
int led4State = HIGH;         
int button4State;             
int lastButton4State = LOW;  
int led5State = HIGH;         
int button5State;             
int lastButton5State = LOW;  
int led6State = HIGH;         
int button6State;             
int lastButton6State = LOW;  

long lastDebounceTime = 0;
long debounceDelay = 50;

void setup() {
  
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
}

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  int reading4 = digitalRead(button4);
  int reading5 = digitalRead(button5);
  int reading6 = digitalRead(button6);
  
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }if (reading4 != lastButton4State) {
    lastDebounceTime = millis();
  }if (reading5 != lastButton5State) {
    lastDebounceTime = millis();
  }if (reading6 != lastButton6State) {
    lastDebounceTime = millis();
  }

if ((millis() - lastDebounceTime)  > debounceDelay) {
  
  if (reading1 != button1State) {
    button1State = reading1;
    
  if (button1State == HIGH) {
    led1State = !led1State;
  }
  }
  if (reading2 != button2State) {
    button2State = reading2;
    
  if (button2State == HIGH) {
    led2State = !led2State;
  }
  }
  if (reading3 != button3State) {
    button3State = reading3;
    
  if (button3State == HIGH) {
    led3State = !led3State;
  }
  }
  if (reading4 != button4State) {
    button4State = reading4;
    
  if (button4State == HIGH) {
    led4State = !led4State;
  }
  }
  if (reading5 != button5State) {
    button5State = reading5;
    
  if (button5State == HIGH) {
    led5State = !led5State;
  }
  }
  if (reading6 != button6State) {
    button6State = reading6;
    
  if (button6State == HIGH) {
    led6State = !led6State;
  }

  }}
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State);
  
  lastButton1State = reading1;
  lastButton2State = reading2;
  lastButton3State = reading3;
  lastButton4State = reading4;
  lastButton5State = reading5;
  lastButton6State = reading6;
  
}
Den funkar för mig, testa och se, ska snygga till den oxå, för nu är den typ oläslig.
Men det är mitt fel och inte TS!

EDIT:

Här är den lite mer lättläst.

Kod: Markera allt

const int button1 = 8;
const int button2 = 9;
const int button3 = 10;
const int button4 = 11;
const int button5 = 12;
const int button6 = 13; //Alla knapparna numererade 1-6 och vilka pinnar dom går till på arduinon.

const int led1 = 2;
const int led2 = 3; 
const int led3 = 4;
const int led4 = 5;
const int led5 = 6;
const int led6 = 7; //Alla LED numrerade 1-6 och vilka pinnar dom går till på arduinon.

int led1State = HIGH;         
int button1State;             
int lastButton1State = LOW;   
int led2State = HIGH;         
int button2State;             
int lastButton2State = LOW;   
int led3State = HIGH;         
int button3State;             
int lastButton3State = LOW;   
int led4State = HIGH;         
int button4State;             
int lastButton4State = LOW;  
int led5State = HIGH;         
int button5State;             
int lastButton5State = LOW;  
int led6State = HIGH;         
int button6State;             
int lastButton6State = LOW; //variabler som sparas och läses vid varje loop. 

long lastDebounceTime = 0;
long debounceDelay = 50; //debounce så inte den blinkar när man tycker på en knapp, då studsar signalen mellan High och low snabbt.

void setup() {
  
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT); //sätter alla knappar till ingångar
  
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT); //sätter alla LED till utgångar
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State); // sätter LED high or low i början beroende på ledstate, i denna börjar dom HIGH alltså på. 
}

void loop() {
  int reading1 = digitalRead(button1);
  int reading2 = digitalRead(button2);
  int reading3 = digitalRead(button3);
  int reading4 = digitalRead(button4);
  int reading5 = digitalRead(button5);
  int reading6 = digitalRead(button6); 
  
  if (reading1 != lastButton1State) {
    lastDebounceTime = millis();
  }if (reading2 != lastButton2State) {
    lastDebounceTime = millis();
  }if (reading3 != lastButton3State) {
    lastDebounceTime = millis();
  }if (reading4 != lastButton4State) {
    lastDebounceTime = millis();
  }if (reading5 != lastButton5State) {
    lastDebounceTime = millis();
  }if (reading6 != lastButton6State) {
    lastDebounceTime = millis(); 
  }

if ((millis() - lastDebounceTime)  > debounceDelay) {
  
  
  if (reading1 != button1State) {
    button1State = reading1;
    
  if (button1State == HIGH) {
    led1State = !led1State;
  }
 }
 
  if (reading2 != button2State) {
    button2State = reading2;
    
  if (button2State == HIGH) {
    led2State = !led2State;
  }
 }
 
  if (reading3 != button3State) {
    button3State = reading3;
    
  if (button3State == HIGH) {
    led3State = !led3State;
  }
 }
 
  if (reading4 != button4State) {
    button4State = reading4;
    
  if (button4State == HIGH) {
    led4State = !led4State;
  }
 }
 
  if (reading5 != button5State) {
    button5State = reading5;
    
  if (button5State == HIGH) {
    led5State = !led5State;
  }
 }
 
  if (reading6 != button6State) {
    button6State = reading6;
    
  if (button6State == HIGH) {
    led6State = !led6State;
  }
 }
 
}                                      //kortfattat läser den av om en knapp trycks ned och den är neddtyckt under debounce tiden, då ändrar den så om LED är på stängs den av och vice versa. 
  
  digitalWrite(led1, led1State);
  digitalWrite(led2, led2State);
  digitalWrite(led3, led3State);
  digitalWrite(led4, led4State);
  digitalWrite(led5, led5State);
  digitalWrite(led6, led6State); //tänder eller släcker LED beroende på vad ledstate är. (high or low)
  
  lastButton1State = reading1;
  lastButton2State = reading2;
  lastButton3State = reading3;
  lastButton4State = reading4;
  lastButton5State = reading5;
  lastButton6State = reading6;
  
}