Lite Arduinobekymmer...
Re: Lite Arduinobekymmer...
lägg till startvärden på utgångarna sist i setup
digitalWrite(outPin1, HIGH);
eller hur du nu har kopplat?
digitalWrite(outPin1, HIGH);
eller hur du nu har kopplat?
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
Kopplat leddarna från GND till 5,6,7 och knapparna med 10K pulldown till 2,3,4.
Re: Lite Arduinobekymmer...
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.
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.
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...
> 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.
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.

- SeniorLemuren
- Inlägg: 8427
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Lite Arduinobekymmer...
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.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 havetJag dör lite mer .....

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
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!
EDIT2: men bilden då.....

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!

EDIT2: men bilden då.....
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
Miramithe: Jag testade din kod och den funkar PRECIS som jag vill
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
En sak är säker, jag har allt lärt mig en hel del av detta och jag kommer fortsätta med programmering.

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

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...
*Thumbs up*
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.
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);
}
Men den funkar.
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
Tack! Jag tänkte köra på din kod men nu helt plötsligt skulle jag ha 6 kanaler istf 3
Så jag tog o kopierade lite men då vill den inte kompilera längre.
Koden i sig,,,

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
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...
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?
konsekvent sätt, men ska det vara "}}}" där på slutet?
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
Jag satte }}} på slutet men det blev ingen skillnad.
Kod: Markera allt
Re: Lite Arduinobekymmer...
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:
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;
}
}
- ochkl0620
- Inlägg: 4852
- Blev medlem: 9 maj 2010, 23:34:56
- Skype: challe.claesson
- Ort: Näsåker Västernorrland
- Kontakt:
Re: Lite Arduinobekymmer...
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...
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.
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;
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;
}
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;
}
Senast redigerad av Miramithe 18 maj 2014, 13:43:50, redigerad totalt 1 gång.