Tre låg kostnad utbytbara 3D-Printable Bionic händer (5 / 13 steg)
Steg 5: Enkla Arduino exempel Program till kontroll Ultralight (servomotor) Hand
Förutsätter grundläggande förståelse för Arduino. Kopiera och klistra in Arduino IDE. Ladda ner till Arduino.
/*
Kontrollera en servo position med en potentiometer (varierande resistor) denna ursprungliga koden är ett exempel kod nedladdning med Arduino integrerad utveckling Environmeent IDE Arduino.org version 7.14 nedladdning November 2015 styr upp till 5 servomotorer från 2 ingångar servo 1 svarar att mata in från ingången på AO servon 2-5 svarar på indata från ingång på A1
*/
#include;
Servo myservo1; skapa servo object1 för att styra servo1
Servo myservo2; skapa servo objekt för att styra en servo2
Servo myservo3; skapa servo objekt för att styra en servo3
Servo myservo4; skapa servo objekt för att styra en servo4
Servo myservo5; skapa servo objekt för att styra en servo5
int potpin1 = 0; analoga pin inte används i det här exemplet
int potpin2 = 1; analoga pin används för att ansluta potentiometern (joystick eller ens myoware sensor)
int värde1; variabel att läsa värdet från det analoga stiftet
int värde2; variabel att läsa värdet från det analoga stiftet
void setup()
{Serial.begin(9600);
myservo1.attach(8); tillmäter objektet servo servo på pin 9
myservo2.attach(9); tillmäter objektet servo servo på pin 9
myservo3.attach(10); tillmäter objektet servo servo på pin 9
myservo4.attach(11); tillmäter objektet servo servo på pin 9
myservo5.attach(12); tillmäter objektet servo servo på pin 9
}
void loop()
{värde2 = analogRead(potpin2); / / läser värdet i potentiometern (värde mellan 0 och 1023)
värde2 = karta (värde2, 0, 1023, 0, 180); skala den att använda den med servo (värde mellan 0 och 180) myservo1.write(val2); anger servo skalad värde
Serial.println(val2); skriva ut till seriell tillåta debug om nödvändigt
myservo1.write(val2);
myservo2.write(val2); anger servo skalad värde
myservo3.write(val2); anger servo skalad värde
myservo4.write(val2); anger servo skalad värde
myservo5.write(val2); anger servo skalad värde
Delay(15); väntar på 15 millisekunder för servo
}