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 ArduinoUno.
  • Connect the gnd of the bluetooth to the Gnd of the ArduinoUno.
  • Connect the Vin of the bluetooth to the 09 of the ArduinoUno.
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 the Servo Motor using Potentiometer. It is used to adjust and control the motor.

Up Next
    Ebook Download
    View all
    Learn
    View all