Stap 2: De Code wijzigen
Ten eerste is de globale variabele voor vertraging.
int delayLevel = 5; de reeks van tijd tussen actie, ingesteld op 1-10
Dit is een multiplicator die wordt gebruikt in de "routines", die een variabele vertraging hebben. U kunt aanpassen aan de frequentie van de muisactie.
Hoe lager het nummer, zal de vertraging afnemen.
Vervolgens selecteert u welk type van actie die u wilt.
Er zijn twee veel acties, Jitter en springen. Jitter "schudt" de cursor en sprong veroorzaakt het om te springen over het scherm. Deze kunnen een vaste of variabele vertraging hebben.
Als u wilt gebruiken de functieaanroepen die in de lus, verwijderen de opmerking "/ *... * /" marks vóór en na de degene die u wilt en deze toevoegen aan alles wat je niet wilt.
Wanneer u de jitter-subroutine aanroepen, passeert u een getal dat het vertelt hoe vaak om te bewegen in een vierkant. Het is ingesteld op 12, die vrij goed werkt, maar voor u behoeften aanpassen.
Sprong, als u een afstand, gemeten in pixels, dat wordt gebruikt door de subroutine doorgeeft. Ik heb deze ingesteld op afstand/2 verplaatst in x en de afstand op y. Als u iets anders wilt, wijzigen de opdrachtargumenten Mouse.move in de subroutine sprong.
Ik voegde een pieptoon om te springen en noemde het jumpBeep
That's pretty much it. Net kappen weg bij de code totdat u het zoals je wilt. Volgende stap is het gebruik.
Hier is de code:
/*
Arno Prank - Muis editie 1
K. warner
Olympia Circuits
3/2013
olympiacircuits.com
*/
int delayLevel = 5; de reeks van tijd tussen actie, ingesteld op 1-10
int bereik = 5; Output bereik van X of Y beweging; is van invloed op de snelheid van beweging
variabelen voor pieptoon
lange freq = 4000; instellen pieptoon frequentie
lange periode;
lange atweede = 1000000;
int piezo = 12;
VOID Setup {}
pinMode(piezo,OUTPUT);
muiscontrole initialiseren:
Mouse.begin();
}
void loop {}
Verwijder opmerkingsmarkeringen uit sectie van code die u zou willen implementeren:
/*
//========================================
Springen met variabele vertraging
lange randomDelay = random(30,60); Genereer willekeurige getal voor vertraging
lange thisDelay = randomDelay * long (delayLevel) * 1000;
Serial.println (thisDelay);
lang daarna = lange (millis()) + thisDelay;
terwijl (millis() < volgende) {}
wachten
}
oproep-stap-springen
int afstand = 45; set springen afstand, richting ligt in functie
springen (afstand); uncomment dit te gebruiken zonder pieptoon springen
jumpBeep (afstand); uncomment dit gebruik springen met een pieptoon
*/
/*
//===========================
Jitter met vaste vertraging
Jitter (12);
vertraging (60000);
*/
//===========================
Jitter met variabele vertraging
lange randomDelay = random(30,60); Genereer willekeurige getal voor vertraging
lange thisDelay = randomDelay * long (delayLevel) * 1000;
Serial.println (thisDelay);
lang daarna = lange (millis()) + thisDelay;
terwijl (millis() < volgende) {}
wachten
}
oproep Jitter
Jitter (12); jitter functie oproepen met aantal herhalingen/duur
//============================
Springen met vaste vertraging
/*
springen (-150);
vertraging (125000);
*/
}
//===============subs=============
VOID sprong (int howFar) {}
Mouse.move (howFar/2, howFar); wijzigen met math voor verschillende resultaten
vertraging (2);
}
VOID jumpBeep (int howFar) {}
pieptoon
periode = atweede/freq;
voor (lange k = 0; k < freq/10; k ++) {}
digitalWrite(piezo,HIGH);
delayMicroseconds(period/2);
digitalWrite(piezo,LOW);
delayMicroseconds(period/2);
}
verplaatsen
Mouse.move (howFar/2, howFar); wijzigen met math voor verschillende resultaten
vertraging (2);
}
VOID jitter (int duur) {}
int i = 0;
terwijl (ik < duur) {}
Mouse.move(10,10);
vertraging (15);
Mouse.move (-11, 0);
vertraging (20);
Mouse.move(10,-10);
delay(25);
Mouse.move (-11,0);
vertraging (20);
i ++;
}
}