Trybotics Logo

Using Serial Monitor to Control Servo Motor

DESCRIPTION

One of things people want to do with Arduino is controlling things with serial monitor. Here are some command project uses:

myservo.write(); - Sends a position information to the servo

if(Serial.availiable()) - If serial monitor is available, then continues the loop between { and }

intstate=Serial.parseInt(); - sets "state" to number, that has been sent to serial monitor

MoreaboutparseInt - reads every number, sent to the serial monitor. It can read only numbers, not letters etc.

Important - Servo coding in this project is a bit different:

10 degrees = 0 degrees

90 degrees = 90 degrees

169 degrees = 180 degrees

I am not sure, why it is like that, but you can type any number from 10 to 169 to the serial monitor.

Description:

Description:

Description:

One of things people want to do with Arduino is controlling things with serial monitor. Here are some command project uses:

myservo.write(); - Sends a position information to the servo

if(Serial.availiable()) - If serial monitor is available, then continues the loop between { and }

intstate=Serial.parseInt(); - sets "state" to number, that has been sent to serial monitor

MoreaboutparseInt - reads every number, sent to the serial monitor. It can read only numbers, not letters etc.

Important - Servo coding in this project is a bit different:

10 degrees = 0 degrees

90 degrees = 90 degrees

169 degrees = 180 degrees

I am not sure, why it is like that, but you can type any number from 10 to 169 to the serial monitor.

Description:

CodeC/C++
#include <Servo.h>
Servo myservo;
int pos = 0;



void setup()

{

Serial.begin(9600);
while (!Serial);
Serial.println("-------------------------");
Serial.println("ARos is loading....");
delay(1000);
Serial.println("ARos loaded succesfully");
Serial.println("-------------------------");
myservo.attach(9);
Serial.println("calibrating servo...");
for(pos = 0; pos <= 180; pos += 1)
myservo.write(0);
delay(1000);
myservo.write(180);
delay(1000);
myservo.write(90);
delay(1000);
Serial.println("servo calibrated");
Serial.println("-------------------------");
Serial.println("Comand input online, write command to perform action");
Serial.println("-------------------------");

}

void loop() {
  
for(pos = 0; pos <= 180; pos += 1)
if (Serial.available())


{
  int state = Serial.parseInt();
    
if (state < 10)

{
Serial.print(">");
Serial.println(state);
Serial.println("cannost execute command, too low number");

}

if (state >= 10 && state < 170)
{
  Serial.print(">");
  Serial.println(state);
  Serial.print("turning servo to ");
  Serial.print(state);
  Serial.println(" degrees");
  myservo.write(state);
  
}

}

}



  

Description:

Servo schematics
Servo lbl3uwth2d


YOU MIGHT ALSO LIKE