element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum control for servo
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 6 replies
  • Answers 1 answer
  • Subscribers 404 subscribers
  • Views 631 views
  • Users 0 members are here
  • prototyping
  • arduino
Related

control for servo

Former Member
Former Member over 12 years ago

hello ,

plese help me for a program for contolling a rc servo with the help of potentiometer .

i have already viewed a example progam i.e. Knob from the arduino main site but servo does'nt work perfectly ..

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 12 years ago in reply to Former Member +1
    Potentionmeters come in linear taper and audio taper models. That means there is an even increase of resistance as you turn the pot in linear taper, audio taper will increase the value logarithmically…
Parents
  • billabott
    0 billabott over 12 years ago

    Provide as many details about your hardware as you can.  Someone will help.  Explain how circuit performance failed to meet expectations.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • billabott
    0 billabott over 12 years ago

    Provide as many details about your hardware as you can.  Someone will help.  Explain how circuit performance failed to meet expectations.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • Former Member
    0 Former Member over 12 years ago in reply to billabott

    i have an arduino duamilanavo ,servos and potentiometers ....

    problem is that when potentiometer gives anlaog values then servo react accordingly  but analog value is vary according to time thats cause linearity of out put breaked

    .

    here is program

     

     

    // Controlling a servo position using a potentiometer (variable resistor)

    // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

     

     

    #include <Servo.h>

     

    Servo myservo;  // create servo object to control a servo

     

    int potpin = 0;  // analog pin used to connect the potentiometer

    int val;    // variable to read the value from the analog pin

     

    void setup()

    {

      myservo.attach(9);  // attaches the servo on pin 9 to the servo object

    }

     

    void loop()

    {

      val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)

      val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)

      myservo.write(val);                  // sets the servo position according to the scaled value

      delay(15);                           // waits for the servo to get there

    }

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • gihu
    0 gihu over 12 years ago in reply to Former Member

    I have never used Arduino, but se the comment I found that says: "you must call the SoftwareServo::refresh() method at least once every 50ms or so to keep your servos updating"

    And I have seen example codes like yours but with one more line inside the loop. This one: - SoftwareServo::refresh();

    Maybe this unlinearity is because of not refreshing the servos, is it posible?

     

    Other posibility is that you have to set the minimum and the maximum pulse. This settings may vary depending on the sevo.

     

    Hope it helps.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago in reply to Former Member

    Potentionmeters come in linear taper and audio taper models.  That means there is an even increase of resistance as you turn the pot in linear taper, audio taper will increase the value logarithmically.  You might want to add a serial print to see the values the potentiometer is putting out through the IDE serial monitor so that you know the analog input is being scaled evenly to what you expect.

     

    Use the sample sweep and servo sketch that is in your IDE.  Also, depending on the servo, if it is a continuous or just capable of 180 or fixed rotation, you may need to add logic to reset it or home it to zero, especially when it gets to it's end position and you have to reverse the direction for it to move.  The movements may be relative to the last postion too.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube