Arduino Projects [EP.4] : ควบคุม องศาServo ด้วย Potentiometer

 

ในEPนี้เราจะเป็นการต่อยอยจาก EP.3 โดยจะนำความรู้ในการควบคุม Servo motor มาควบคุมองศาการทำงานของตัว Servo ด้วย Potentiometer หรือ VR Volume Resistor

อุปกรณ์
1. Arduino Uno
2. Servo Motor
3. 10k ohm potentiometer (ตัวต้านทานปรับค่าได้)

ควบคุมservoด้วยvr

การต่อสามารถต่อแบบในรูปได้เลยครับ โดยข้อควรระวังให้กลับไปอ่านที่ EP.3 นะครับ

Source code

/*
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
}

Arduinoจะรับค่าจากPotentiometer โดยแปลงจากแรงดันที่ได้รับเป็นค่าAnalog 0-1024 จากนั้นจะนำไปเทียบสเกลเป็น0-180องศา ตามการบิดของ Potentiometer ครับ
หากสงสัยสามารถสอบถามได้ในช่อง Comment ครับ

Facebook Comments