/*
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 pinLed1 = 2;
int pinLed2 = 3;
int pinLed3 = 4;
int pinLed4 = 5;
int val; // variable to read the value from the analog pin
void setup() {
Serial.begin(9600);
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
int nilaiPot = analogRead(potpin);
if (nilaiPot > 200) {
digitalWrite(pinLed1, HIGH);
} else {
digitalWrite(pinLed1, LOW);
} if (nilaiPot > 400) {
digitalWrite(pinLed2, HIGH);
} else {
digitalWrite(pinLed2, LOW);
} if (nilaiPot > 600) {
digitalWrite(pinLed3, HIGH);
} else {
digitalWrite(pinLed3, LOW);
} if (nilaiPot > 800) {
digitalWrite(pinLed4, HIGH);
} else {
digitalWrite(pinLed4, LOW);
}
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
Serial.println(analogRead(0));
delay(15); // waits for the servo to get there
}