Stap 47: Nek - servo hoofd verplaatsen
De as pokes door het karton, waarna een kunststof versnelling is toegevoegd. Ik heb geplakt is een een stuk van kartonnen naar de kunststof gear. Het hoofd zal worden geplakt is aan dit.
Servo's zijn eenvoudig met arduino.
3 draden van servo-
Geel - positie - hecht aan op pin 11 (pwm) op arduino
Red - 5V - 5V arduino levering
Zwart - grond - op grond van de arduino.
Het alleen lastige deel is te achterhalen van de hoeken die handig zijn.
Bleek te zijn:
5deg - gezichten links
80deg - gezichten vooruit
155 deg - gezichten links
Dit is anders, afhankelijk van hoe de servo is gemonteerd.
Ik heb deze servo voorbeeldcode uitvoeren de positie via USB aangepast.
De bewegingen zijn ook allemaal in een functie genaamd moveHead()
Moeten zitten kundig voor Pureer dit met de andere test code en stormloop op vanuit de seriële poort.
Video:
[hals]
Video:
[hoofd]
////////////////////// ARDUINO CODE /////////////////////
Vegen
door BARRAGAN < http://barraganstudio.com>
Deze voorbeeldcode is in het publieke domein.
pin 9 naar pin11
gewijzigde hoeken
#include < Servo.h >
Servo myservo; maken van servo-object om te bepalen van een servo
maximaal acht servo-objecten kan worden gemaakt
int pos = 0; variabele op te slaan van de servo positie
int posFront = 81;
VOID Setup
{
myservo.attach(11); de servo op pin 11 hecht aan de servo-object
Serial.begin(9600);
}
void loop
{
moveHead(); aanroep de functie verplaatsten hoofd
}
VOID moveHead() {//create functie Beweeg hoofd / / hoofd heen en weer gaan
voor (pos = 5; pos < 145; pos += 1) //goes van 5 naar 145degrees
{/ / in stappen van 1 graad
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
Serial.println(POS);
delay(15); wacht 15ms voor de servo te bereiken de positie
if(POS == posFront) {}
delay(600);
}
}
voor (pos = 145; pos > = 5; pos-= 1) / / gaat van 145 graden tot 5 graden
{
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(15); wacht 15ms voor de servo te bereiken de positie
if(POS == posFront) {}
delay(600);
}
}
}