Stap 3: codering
Het idee achter mijn code is dat de versnellingsmeter de beweging van het hoofd meet tijdens het lopen en staan. Wanneer het verkeer minimaal - staande nog - wordt het vizier ingezet. En dan wanneer het verkeer opnieuw stijgt-wandelen - het vizier terug omhoog wordt getrokken.
Afhankelijk van de servomotor/en versnellingsmeter gebruikt zal de code verschillen. Bovendien bent u afhankelijk van hoe vertrouwen of geschoold met programmering die u zou kunnen komen met iets een beetje meer elegante dan de mijne. Maar, is hier de code die ik voor mijn gebruikte...
- - - - -
#include < Servo.h >
Servo alfred;
Const int xpin = 1;
int maxi, mini, output, variëren, lopen;
niet-ondertekende lange start;
Boolean ingezet;
VOID Setup {}
Alfred.attach(9);
Maxi mini = = 250;
ingezet = false;
LOPEN = 100;
}
void loop {}
Maxi mini = = 250;
Start = millis();
terwijl (millis ()-start < 2000) {}
uitvoer = analogRead(xpin);
Als (uitvoer > maxi)
Maxi = output;
Als (uitgang < mini)
Mini = output;
}
bereik = maxi - mini;
Als (bereik > WALK & &! ingezet) {}
ingezet = true;
alfred.writeMicroseconds(2000);
delay(200);
}
anders als (bereik < lopen & & ingezet) {}
ingezet = false;
alfred.writeMicroseconds(1000);
delay(200);
}
else {}
alfred.writeMicroseconds(1450);
delay(200);
}
}
- - - - -
Zodra u uw code hebt hoe u het wilt u zult moeten uploaden naar je Arduino met behulp van de USB-kabel.