// RandomWalk
// Paul Badger 2007
#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;
int thisTime;
int total;
void setup() {
Serial.begin(9600);
}
void loop() {
stepsize = 5;
thisTime = randomWalk(stepsize);
Serial.println(thisTime);
delay(10);
}
int randomWalk(int moveSize) {
static int place; // 現在位置(staticなので値が持続する)
place = place + (random(-moveSize, moveSize + 1));
if (place < randomWalkLowRange) {
place = place + (randomWalkLowRange - place);
} else if(place > randomWalkHighRange) {
place = place - (place - randomWalkHighRange);
}
return place;
}
[目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください
[ドキュメント一覧]