Está en la página 1de 1

C:\Users\dntg\Documents\Arduino\servomotor_2\servomotor_2.

ino giovedì 4 gennaio 2018 11:29


#include <Servo.h>

Servo servo1;
Servo servo2;

void setup() {
int servoPin = 18; //Analog pin 0 is 18 on Leonardo, for UNO R3 change to 14
pinMode(servoPin,OUTPUT); // sets servoPin as an OUTPUT
//servo1.attach(5, 1000, 2000);
servo1.attach(servoPin);
// SG90 Servo motor parameters
// MIN_PULSE_WIDTH = 1000
// MAX_PULSE_WIDTH = 2000
//servo1.setMaximumPulse(2000);
//servo1.setMinimumPulse(1000);

//servo2.attach(15); //analog pin 1


Serial.begin(115200);

unsigned int integerValue=0; // Max value is 65535


char incomingByte;

void loop() {

static int v = 0;
int servoAngle = 0; // servo position in degrees

if (Serial.available() > 0) { // something came across serial


integerValue = 0; // throw away previous integerValue
while(1) { // force into a loop until 'n' is received
incomingByte = Serial.read();
if (incomingByte == '\n') break; // exit the while(1), we're done receiving
if (incomingByte == -1) continue; // if no characters are in the buffer read()
returns -1
integerValue *= 10; // shift left 1 decimal place
// convert ASCII to integer, add, and shift left 1 decimal place
integerValue = ((incomingByte - 48) + integerValue);
}
if (integerValue >=0 & integerValue <=180) {
servoAngle = integerValue;
servo1.write(servoAngle);
Serial.print("Rotating Servo at ");
Serial.print(integerValue); // Do something with the value
Serial.println(" degrees.");
} else {
Serial.println("Inserire valori interi compresi fra 0 e 180");
}
}
}

-1-

También podría gustarte