Stap 5: De CODE
Deze stap is over hoe om het been werkend te krijgenMaterialen:
Been & elektronica
Tools:
USB-kabel om verbinding te maken met arduino en computer
Computer
Arduino omgeving
Kopieer en plak de code in de arduino-bewerkingsomgeving. Vervolgens laad het op uw computer, en kijken naar het werk.
Druk op de linker knop om het been omlaag en druk op de rechter knop om het been omhoog.
Als u de seriële poort op uw computer met de arduino aangesloten opent, kunt u het "u" om de poot omhoog of "d" om deze te verplaatsen naar beneden.
Ook zal de stand van het been worden afgedrukt in de seriële monitor zodra het wordt gedaan bewegende
u wellicht tweak enkele van de hoeken die de servo verplaatst naar ertoe brengen om te gaan waar je wilt, maar u moet goed.
Hier is de code:
#include < Servo.h > //include de servo-bibliotheek
Servo myservo;
int pos = 0;
int input = 0;
int switchState2 = 0; de switches te zijn off initally instellen
int switchState3 = 0;
VOID Setup
{
myservo.attach(8); de servo koppelen aan pin 8
pinMode (2, ingang); de switches ingesteld als input
pinMode (3, INPUT);
Serial.begin(9600); Start seriële communicatie
}
void loop {}
invoer = Serial.read();
switchState2 = digitalRead(2); Lees de schakelopties voor ingangen
switchState3 = digitalRead(3); de volgende vertelt de arduino
wat te doen als een input wordt gegeven
Als (input == 'u') {//if de input is "u"
voor (pos = 30; pos < 145; pos += 1) {//prep 30 degreed tot 145 graden overstappen
myservo.write(POS); te verplaatsen de servo
delay(25);} Doe het bij 1 graad elke 25 milliseconden
Serial.println ("been is up");} afdrukken die het been ons omhoog
Als (input == had') {}
voor (pos = 145; pos > = 30; pos-= 1) {}
myservo.write(POS);
delay(25);}
Serial.println ("been is down");}
Als (switchState3 == LOW) {} //if een schakelaar is laag, niets doen
else {voor (pos = 30; pos < 145; pos += 1) {/ / als ingedrukt, prep ga 30 € 145
myservo.write(POS); eigenlijk verplaatsen van de servo
delay(25); } / / Doe het 1 graad elke 25 milliseconden
Serial.println ("been is up");} afdrukken dat het been is
Als (switchState2 == LOW) {}
else {voor (pos = 145; pos > = 30; pos-= 1) {}
myservo.write(POS);
delay(25);}
Serial.println ("been is down");}
}