Sei sulla pagina 1di 2

2 servo

: [Select]

// zoomkat 12-13-11 serial servo (2) test


// for writeMicroseconds, use a value like 1500
// for IDE 1.0
// Powering a servo from the arduino usually DOES NOT WORK.
// two servo setup with two servo commands
// send eight character string like 15001500 or 14501550

#include <Servo.h>
String readString, servo1, servo2;
Servo myservo1; // create servo object to control a servo
Servo myservo2;

void setup() {
Serial.begin(9600);
myservo1.attach(6); //the pin for the servo control
myservo2.attach(7);
Serial.println("two-servo-test-1.0"); // so I can keep track of what is loaded
}

void loop() {

while (Serial.available()) {
delay(3); //delay to allow buffer to fill
if (Serial.available() >0) {
char c = Serial.read(); //gets one byte from serial buffer
readString += c; //makes the string readString
}
}

if (readString.length() >0) {
Serial.println(readString); //see what was received

// expect a string like 07002100 containing the two servo positions


servo1 = readString.substring(0, 4); //get the first four characters
servo2 = readString.substring(4, 8); //get the next four characters

Serial.println(servo1); //print to serial monitor to see results


Serial.println(servo2);

int n1 = servo1.toInt();
int n2 = servo2.toInt();

myservo1.writeMicroseconds(n1); //set servo position


myservo2.writeMicroseconds(n2);
readString="";
}
}

5 Servo

include <Servo.h>
Servo myservo;
const int button1 = 2;
const int button2 = 3;
const int button3 = 4;
const int button4 = 5;
const int button5 = 6;

int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
int buttonState5 = 0;
int target=0;
int sekarang=0;

void setup() {
myservo.attach(9);
myservo.write(90);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
pinMode(button5, INPUT);
}

void loop() {
buttonState1 = digitalRead(button1);
buttonState2 = digitalRead(button2);
buttonState3 = digitalRead(button3);
buttonState4 = digitalRead(button4);
buttonState5 = digitalRead(button5);
if(buttonState1 == HIGH) target=0;
if(buttonState2 == HIGH) target=45;
if(buttonState3 == HIGH) target=90;
if(buttonState4 == HIGH) target=135;
if(buttonState5 == HIGH) target=180;

if(target>sekarang){
for(int i=sekarang;i<=target;i++){
myservo.write(i);
delay(5);}
sekarang=target;}

if(sekarang>target){
for(int i=sekarang;i>=target;i--){
myservo.write(i);
delay(5);}
sekarang=target;}
}

Potrebbero piacerti anche