Lite Arduinobekymmer...
- Klas-Kenny
- Inlägg: 11841
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Lite Arduinobekymmer...
Ett par tips för att hålla koll på måsvingarna, på varje ställe du har en "vänstervinge" alltså {, klicka på den i Arduino-IDE'n.
Vad som händer då är att den avslutande måsvingen markeras med en ruta runt sig, och du ser direkt om det avslutas på rätt ställe. Om du Ochkl0620 klickar på vänstervingen där du startar loop(), så ser du att den avslutas inte på alls rätt ställe i din sista kod, du har alltså några högervingar för mycket på olika ställen.
Nästa tips, som gör det lättare att göra rätt från början, är att alltid indentera korrekt.
Varje gång du öppnar ett nytt block (tex. en if eller liknande), så tabbar du ett steg åt höger. När du avslutar ett block, så tabbar du tillbaka ett steg åt vänster.
Då ser du alltid direkt vilket block du är i, och vilken måsvinge som avslutar vad.
Vad som händer då är att den avslutande måsvingen markeras med en ruta runt sig, och du ser direkt om det avslutas på rätt ställe. Om du Ochkl0620 klickar på vänstervingen där du startar loop(), så ser du att den avslutas inte på alls rätt ställe i din sista kod, du har alltså några högervingar för mycket på olika ställen.
Nästa tips, som gör det lättare att göra rätt från början, är att alltid indentera korrekt.
Varje gång du öppnar ett nytt block (tex. en if eller liknande), så tabbar du ett steg åt höger. När du avslutar ett block, så tabbar du tillbaka ett steg åt vänster.
Då ser du alltid direkt vilket block du är i, och vilken måsvinge som avslutar vad.
Re: Lite Arduinobekymmer...
> Här är den lite mer lättläst...
Är inte "if ((millis() - lastDebounceTime) > debounceDelay)" del
av "void loop()" ? Varför är den i så fall inte indragen?
På samma sätt är if...HIGH en del av if'en ovanför och bör vara indragen
rellativt denna.
Jag menar, ifall man nu ändå ska göra det mer lättläst.
Förslag:
Är inte "if ((millis() - lastDebounceTime) > debounceDelay)" del
av "void loop()" ? Varför är den i så fall inte indragen?
På samma sätt är if...HIGH en del av if'en ovanför och bör vara indragen
rellativt denna.
Jag menar, ifall man nu ändå ska göra det mer lättläst.

Förslag:
Kod: Markera allt
//
// Alla knapparna numererade 1-6 och vilka pinnar dom går till på Arduinon.
//
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 LED numrerade 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;
//
// Variabler som sparas och läses vid varje loop.
//
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;
//
// Debounce så inte den blinkar när man tycker på en knapp,
// då studsar signalen mellan High och low snabbt.
//
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() {
//
// Sätter alla knappar till ingångar.
//
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
pinMode(button6, INPUT);
//
//sätter alla LED till utgångar.
//
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
//
// Sätter LED high or low i början beroende på ledstate,
// i denna börjar dom HIGH alltså på.
//
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();
}
//
// 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.
//
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;
}
}
} // Slut på "if ((millis()..."
//
//tänder eller släcker LED beroende på vad ledstate är. (high or low)
//
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;
} // Slut på loop()...
- Klas-Kenny
- Inlägg: 11841
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Lite Arduinobekymmer...
Det blir ännu mera lättläst om ni slår igång syntaxmarkeringen i forumet.
Istället för att trycka på Code, tryck på listan bredvid och välj C.

Istället för att trycka på Code, tryck på listan bredvid och välj C.
Re: Lite Arduinobekymmer...
Tja...
Jag tycker "if" är lite bleka...
Jag tycker "if" är lite bleka...

Kod: Markera allt
//
// Alla knapparna numererade 1-6 och vilka pinnar dom går till på Arduinon.
//
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 LED numrerade 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;
//
// Variabler som sparas och läses vid varje loop.
//
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;
//
// Debounce så inte den blinkar när man tycker på en knapp,
// då studsar signalen mellan High och low snabbt.
//
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() {
//
// Sätter alla knappar till ingångar.
//
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
pinMode(button6, INPUT);
//
//sätter alla LED till utgångar.
//
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
//
// Sätter LED high or low i början beroende på ledstate,
// i denna börjar dom HIGH alltså på.
//
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();
}
//
// 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.
//
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;
}
}
} // Slut på "if ((millis()..."
//
//tänder eller släcker LED beroende på vad ledstate är. (high or low)
//
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;
} // Slut på loop()...
Re: Lite Arduinobekymmer...
Ok. Ska ta åt mig allt å skriva finare. Visste inte att man kunde infoga annat än bara c.
Re: Lite Arduinobekymmer...
Inte jag heller... 
Men å andra sidan har det ju just det inget med indenteringen att göra.

Men å andra sidan har det ju just det inget med indenteringen att göra.

Re: Lite Arduinobekymmer...
Nytt försök, är det något man ska ändra för att det ska bli rätt?
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;
}
Re: Lite Arduinobekymmer...
Vad menar du med "rätt"?
Att det fungerar eller att det är formaterat "snyggt"?
Det senare har ju många olika tolkningar och "stilar"...
När det gäller stilen så har jag personligen lite svårt för hur du skriver
dina kommentarer, men det påverkar ju inte funktionen som sådan.
Att det fungerar eller att det är formaterat "snyggt"?
Det senare har ju många olika tolkningar och "stilar"...

När det gäller stilen så har jag personligen lite svårt för hur du skriver
dina kommentarer, men det påverkar ju inte funktionen som sådan.

Re: Lite Arduinobekymmer...
koden funkar, den gör som den ska, men om jag nu ska skriva en kod så kan det ju vara roligt om inte alla bara säger "gu vike sull" utan att man faktiskt lär sig skriva så det syns vad det är och är lättläst, inte minst för felsökning i kod som är betydligt längre och mer komplicerad. Alltså ha det rätt från början. Det är det jag vill.
Hur ska man lägga kommentarer då så bra som möjligt? lägga dom före koden och berätta vad man gör eller lägga den efter och berätta vad den gör?
Hur ska man lägga kommentarer då så bra som möjligt? lägga dom före koden och berätta vad man gör eller lägga den efter och berätta vad den gör?
Re: Lite Arduinobekymmer...
Jag följer den här tråden för jag vill lära mig Arduino och kan inte skriva kod men hoppas kunna lära mig och det är guld värt med dina kommentarer så att man verkligen förstår vad saker och ting görMiramithe skrev:koden funkar, den gör som den ska, men om jag nu ska skriva en kod så kan det ju vara roligt om inte alla bara säger "gu vike sull" utan att man faktiskt lär sig skriva så det syns vad det är och är lättläst, inte minst för felsökning i kod som är betydligt längre och mer komplicerad. Alltså ha det rätt från början. Det är det jag vill.
Hur ska man lägga kommentarer då så bra som möjligt? lägga dom före koden och berätta vad man gör eller lägga den efter och berätta vad den gör?

Edit: citerade fel person
Re: Lite Arduinobekymmer...
> Hur ska man lägga kommentarer då så bra som möjligt? lägga dom före koden och berätta
> vad man gör eller lägga den efter och berätta vad den gör?
OK...
Det är kanska bara småsaker, men när man ändå gör jobbet
att skriva en kommentar i alla fall så...
- En rad-kommentar gäller den aktulla *raden*.
- En kommentar före gäller hela kodsekvensen som kommer efter.
- Försöka hålla sig till normala skrivregler med versal, interpunktur o.s.v.
- Radbryt texten till normala radlängder för att slippa slumpvisa radbrytningar.
Du har ju mitt exempel i ett tidigare inlägg. Jämför t.ex delen med "Kortfattat..."
> och det är guld värt med dina kommentarer så att man verkligen förstår vad saker och ting gör
Det var ju inte *mina* kommenterar från början, jag bara flyttade om dom lite för att förtydliga.
Men visst, det är ju hela tanken, man ska inte behöva läsa koden för att veta vad den gör i det stora,
så att säga. Den kod som vi har i tråden är nog också lite för dåligt kommenterad egentligen, det
saknas t.ex syftet med koden, datum, och revisonshistorik. Det är en minst lika viktiga delar av
"att programmera" som att skriva själva koden!
Hur som helst, jag bara trodde att det kunde vara till nytta för ochkl0620 att få sin
kod lite uppsnyggad. Det allvarligaste var dock att indenteringen var fel, *det* gör
koden riktigt svårläst!
> vad man gör eller lägga den efter och berätta vad den gör?
OK...

Det är kanska bara småsaker, men när man ändå gör jobbet
att skriva en kommentar i alla fall så...

- En rad-kommentar gäller den aktulla *raden*.
- En kommentar före gäller hela kodsekvensen som kommer efter.
- Försöka hålla sig till normala skrivregler med versal, interpunktur o.s.v.
- Radbryt texten till normala radlängder för att slippa slumpvisa radbrytningar.
Du har ju mitt exempel i ett tidigare inlägg. Jämför t.ex delen med "Kortfattat..."
> och det är guld värt med dina kommentarer så att man verkligen förstår vad saker och ting gör
Det var ju inte *mina* kommenterar från början, jag bara flyttade om dom lite för att förtydliga.
Men visst, det är ju hela tanken, man ska inte behöva läsa koden för att veta vad den gör i det stora,
så att säga. Den kod som vi har i tråden är nog också lite för dåligt kommenterad egentligen, det
saknas t.ex syftet med koden, datum, och revisonshistorik. Det är en minst lika viktiga delar av
"att programmera" som att skriva själva koden!
Hur som helst, jag bara trodde att det kunde vara till nytta för ochkl0620 att få sin
kod lite uppsnyggad. Det allvarligaste var dock att indenteringen var fel, *det* gör
koden riktigt svårläst!
Re: Lite Arduinobekymmer...
Sådå kanske den är lite mer iögonfallande. Man kan ju lägga ner mer tid på kommentarer oxå, det är bara lite kortfattat men på det hela duger det iaf åt mig.
Tack för kommentarerna nu ska jag skriva så här i fortsättningen om jag ska lägga upp någon kod.
Tack för kommentarerna nu ska jag skriva så här i fortsättningen om jag ska lägga upp någon kod.
Kod: Markera allt
/* 19/5-14 Rev 1. kod för att med 6 tyckknappar få 6 olika lysdioder att lysa med toggle
funktion (high low ändras vid varannan tyckning) och debounce (för att lysdioden inte ska
blinka och att den ska stanna på det läget man vill). Mer om debounce finns på arduinos
hemsida. http://www.arduino.cc/en/Tutorial/Debounce
Alla knapparna sitter på varsin ingång med ett pulldown motstånd.
Alla lysdioderna sitter på varsin utgång med varsit strömbegränsnings motstånd.
*/
//
//alla knapparna nummrerade 1-6 och vilka pinnar dom går till på arduinon.
//
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 LED numrerade 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;
//
//Variabler som sparas och läses vid varje loop.
//
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;
//
//Debounce så inte den blinkar när man tycker på en knapp,
//då studsar signalen mellan High och low snabbt.
//
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() {
//
//Sätter alla knappar till ingångar.
//
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
pinMode(button6, INPUT);
//
//Sätter alla Lysdioder till utgångar.
//
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
//
//Sätter lysdioderna i high eller low i början beroende på ledstate,
//i denna börjar dom på high.
//
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();
}
//
//Kortfattat läser den av om en knapp trycks ned och den är
//nedtyckt under debounce tiden, då ändrad den så om lysdioden
//är på stängs den av och vice versa.
//
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;
}
}
} //slut på if(millis...
//
//tänder eller släcker lysdiod beroende på vad ledstate är (high or low)
//
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;
}//slut på loop()...
Re: Lite Arduinobekymmer...
Med reservation för att just *mitt* förslag i just detta fall absolut
inte måste vara något slags facit. Jag bara reagerade på några
detaljer som jag tyckte var mindre bra/pedagogiska.
inte måste vara något slags facit. Jag bara reagerade på några
detaljer som jag tyckte var mindre bra/pedagogiska.

Re: Lite Arduinobekymmer...
Men det var snyggare än det första och mer försåtligt så då är det ju ett mål, sen har nog alla olika åsikter om allt så.
Re: Lite Arduinobekymmer...
Försåtligt? Ja, kanske det. Även om jag inte förstår riktigt.
Kanske "förståeligt"?
Kanske "förståeligt"?