Điều khiển động cơ RC Servo bằng biến trở sử dụng Arduino

Khi điều khiển động cơ Servo hay bất kì động cơ nào khác ta sẽ sử dụng một biến trở để điều khiển tốc độ của các động cơ.

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách mà một biến trở điều khiển một động cơ Servo thông qua một board Arduino như thế nào.

1. Chuẩn bị

2. Sơ đồ nguyên lí

Hình 1. Sơ đồ nguyên lí để điều khiển động cơ Servo được thiết kế trong phần mềm Proteus.

3. Lập trình và mô phỏng

3.1. Lập trình

#include <Servo.h>
int analog_input,angle=0, offset=100, analog_output=0, cycle=0;
Servo myservo;
uint32_t newtime =0, oldtime=0;

void setup()
{
pinMode(A0,INPUT);
Serial.begin(9600); //Bật cổng Serial
myservo.attach(9);
}

void loop()
{
newtime=millis();
if(newtime-oldtime>=offset)
{
analog_output=analog_input/cycle;
angle=map(analog_output,0,1023,0,180);
myservo.write(angle);
oldtime=newtime;
analog_input=cycle=0;
}
else
{
analog_input+=analogRead(A0);
cycle++;
}
Serial.print(analog_output);
Serial.print(" ");
Serial.println(angle);
}

3.2. Kết quả mô phỏng trên phần mềm Proteus

Chúng ta cùng xem kết quả được mô phỏng trên phần mềm Proteus qua video sau nhé!

4. Sơ đồ đấu nối mạch thực tế

Hình 2. Sơ đồ đấu nối điều khiển động cơ Servo.

5. Kết luận

Chúng ta hoàn toàn có thể làm rất nhiều thứ với Servo. Servo được dùng trong dự án kBOT – Wifi Robot đã được dùng trong việc điều chỉnh camera, cánh tay robot và radar địa hình.

Hãy dùng Arduino và Servo làm nên những ứng dụng độc đáo nhé!

Trần Lê Mân

error: Real Group - Efficiency Projects