Stap 3: Tips
Ik had een moeilijk om alles uit te leggen. Als u gewoon vragen hebt laat ze in de comments en ik zal proberen te helpen bij het oplossen van eventuele verwarring.Een paar onderdelen in de code kunnen worden gemanipuleerd als u wilt vertragen of versnellen de lussen of vertragingen.
Interval kan de lijn resetten indien de gebruiker de verkeerde keuze in de lus kiest. Interval de waarde te verhogen van de tijd die de lus is onderbroken voordat breken verhogen
int upState = 0;
int downState = 0;
int leftState = 0;
int rightState = 0;
int clickState = 0;
int dbl = 0;
niet-ondertekende lange interval = 80;
int j = 0; teller voor timing lus
Als (j > 0) {}
j = 0;
}
Als (ik < = 4) {}
while(digitalRead(button) == LOW) {}
/ * deze lus moest worden gebouwd op deze manier omdat met behulp van de
(currentMillis-previousMillis) > interval);
previousMillis = currentMillis;
leek te breken de lus en zou juist ingesteld
*/
if(j == interval) {}
Counter = 0;
breken;
} else {}
delay(50);
j ++;
}
De vertragingstijd regelt de snelheid van de beweging van de muis. De vertraging een hogere maakt de muis bewegen langzamer, en
verlagen van de waarde zal het omgekeerde effect hebben.
while(digitalRead(button) == HIGH) {}
schakelaar (i) {}
Case 1:
upState = digitalRead(2);
vertraging(20);
Serial.println("up");
Counter = 0;
breken;
Case 2:
downState = digitalRead(2);
vertraging(20);
Serial.println("down");
Counter = 0;
breken;
Case 3:
leftState = digitalRead(2);
vertraging(20);
Serial.println("left");
Counter = 0;
breken;
Case 4:
rightState = digitalRead(2);
vertraging(20);
Serial.println("right");
Counter = 0;
breken;
standaard:
Serial.println ("niets doen");
Counter = 0;
} / / einde van schakelaar