Showing posts with label servo. Show all posts
Showing posts with label servo. Show all posts

Sunday, August 07, 2016

Knob

Control the position of a RC (hobby) servo motor with your Arduino and a potentiometer.

This example makes use of the Arduino servo library.



Step 1: What You Need?

1 x Arduino Board ( Arduino UNO used in this tutorial) 
1 x Servo Motor 
1 x 10k Ohm Potentiometer
1 x USB Type-B Cable 
Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.

Servo motors have three wires: power, ground, and signal. The power wire is typically red, and should be connected to the 5V pin on the Arduino board. The ground wire is typically black or brown and should be connected to a ground pin on the board. The signal pin is typically yellow, orange or white and should be connected to pin 9 on the board.


The potentiometer should be wired so that its two outer pins are connected to power (+5V) and ground, and its middle pin is connected to analog input 0 on the board.


Step 3: Upload The Code.

1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.


2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.


Select the right port: Tools >> Port >> Select the port number.


3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> Servo >> Knob

Click press the "upload" button (see the button with right arrow mark).


/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/ #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, 180); // 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
}



Download:



Knob library servo servo motor

Sweep

Sweeps the shaft of a RC servo motor back and forth across 180 degrees.

This example makes use of the Arduino servo library.



Step 1: What You Need?

1 x Arduino Board ( Arduino UNO used in this tutorial) 
1 x Servo Motor 
Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.

Servo motors have three wires: power, ground, and signal. The power wire is typically red, and should be connected to the 5V pin on the Arduino board. The ground wire is typically black or brown and should be connected to a ground pin on the board. The signal pin is typically yellow, orange or white and should be connected to pin 9 on the board.



Step 3: Upload The Code.

1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.


2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.


Select the right port: Tools >> Port >> Select the port number.


3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> Servo >> Sweep

Click press the "upload" button (see the button with right arrow mark).

/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain. modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/ #include <Servo.h> Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards int pos = 0; // variable to store the servo position void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
} void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}



Download:



library servo servo motor Sweep

 

  • Copyright © Arduino Tutorial ™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Templates.