Controlling ServoMotor By Using Of Potentiometer In Arduino

Introduction

 
In this article, I am explaining about  controlling the ServoMotor using Potentiometer in Arduino. In this article, I will control the Servo Motor in the adjustment of Potentiometer. 
 
Parts of the List
  • Arduino Uno
  • Potentiometer
  • Servo Motor
  • Bread Board
  • Hook up wires 
Connection
 
Servo Motor
  • Connect the Vcc of the Servo Motor to the 5v of the Arduino Uno.
  • Connect the gnd of the Bluetooth to the Gnd of the Arduino Uno.
  • Connect the Vin of the Bluetooth to the 09 of the Arduino Uno.
Potentiometer
  • Connect as per the preceding figure to the Arduino board and the LCD Display.
  • The Vin is connected to the LCD display in 03.
Programming
  1. #include <Servo.h>  
  2.   
  3. const int servo1 = 3;       // first servo  
  4. const int servo2 = 10;      // second servo  
  5. const int servo3 = 5;       // third servo  
  6. const int servo4 = 11;      // fourth servo  
  7. const int servo5 = 9;       // fifth servo  
  8. const int joyH = 2;        // L/R Parallax Thumbstick  
  9. const int joyV = 3;        // U/D Parallax Thumbstick  
  10. const int joyX = 4;        // L/R Parallax Thumbstick  
  11. const int joyP = 5;        // U/D Parallax Thumbstick  
  12. const int potpin = 0;      // O/C potentiometer  
  13.   
  14. int servoVal;           // variable to read the value from the analog pin  
  15.   
  16.   
  17. Servo myservo1;  // create servo object to control a servo  
  18. Servo myservo2;  // create servo object to control a servo  
  19. Servo myservo3;  // create servo object to control a servo  
  20. Servo myservo4;  // create servo object to control a servo  
  21. Servo myservo5;  // create servo object to control a servo  
  22. void setup() {  
  23.   
  24.   // Servo  
  25.   myservo1.attach(servo1);  // attaches the servo  
  26.   myservo2.attach(servo2);  // attaches the servo  
  27.   myservo3.attach(servo3);  // attaches the servo  
  28.   myservo4.attach(servo4);  // attaches the servo  
  29.   myservo5.attach(servo5);  // attaches the servo  
  30.   
  31.   // Inizialize Serial  
  32.   Serial.begin(9600);  
  33. }  
  34.   
  35.   
  36. void loop(){  
  37.   
  38.   servoVal = analogRead(potpin);    
  39.    
  40.   servoVal = map(servoVal, 0, 1023, 0, 179);  
  41.    
  42.   myservo5.write(servoVal);      
  43.            
  44. delay(15);    
  45.   // Display Joystick values using the serial monitor  
  46.     outputJoystick();  
  47.   
  48.     // Read the horizontal joystick value  (value between 0 and 1023)  
  49.     servoVal = analogRead(joyH);          
  50.     servoVal = map(servoVal, 0, 1023, 0, 180);     // scale it to use it with the servo (result  between 0 and 180)  
  51.   
  52.     myservo2.write(servoVal);                         // sets the servo position according to the scaled value    
  53.   
  54.     // Read the horizontal joystick value  (value between 0 and 1023)  
  55.     servoVal = analogRead(joyV);           
  56.     servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)  
  57.   
  58.     myservo1.write(servoVal);                           // sets the servo position according to the scaled value  
  59.   
  60.     delay(15);                                       // waits for the servo to get there  
  61.   
  62. // Read the horizontal joystick value  (value between 0 and 1023)  
  63.     servoVal = analogRead(joyP);           
  64.     servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)  
  65.   
  66.     myservo4.write(servoVal);                           // sets the servo position according to the scaled value  
  67.   
  68.     delay(15);                                       // waits for the servo to get there  
  69. // Read the horizontal joystick value  (value between 0 and 1023)  
  70.     servoVal = analogRead(joyX);           
  71.     servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)  
  72.   
  73.     myservo3.write(servoVal);                           // sets the servo position according to the scaled value  
  74.   
  75.     delay(15);                                       // waits for the servo to get there  
  76.   
  77. }  
  78.   
  79.   
  80. /** 
  81. * Display joystick values 
  82. */  
  83. void outputJoystick(){  
  84.   
  85.     Serial.print(analogRead(joyH));  
  86.     Serial.print ("---");  
  87.     Serial.print(analogRead(joyV));  
  88.     Serial.println ("----------------");  
  89.     Serial.print(analogRead(joyP));  
  90.     Serial.println ("----------------");  
  91.     Serial.print(analogRead(joyX));  
  92.     Serial.println ("----------------");  
  93. }  

Conclusion

 
In this article, we learned about controlling Servo Motor using Potentiometer. It is used to adjust and control the motor.