Menu
CoddyTech

Servo và núm xoay

Thuộc phần Đầu ra trong hành trình Arduino của Coddy. Bài học 22 trên 24.

Cánh tay có thể chuyển động theo núm xoay thay vì dùng một danh sách góc cố định. Cách này cũng giống như với núm điều chỉnh độ sáng và núm chỉnh cao độ: đọc, chuyển đổi, sử dụng.

Núm xoay cho giá trị từ 0 đến 1023, còn arm.write() nhận góc từ 0 đến 180 độ, vì vậy map() sẽ chuyển đổi giữa hai khoảng này:

int reading = analogRead(A0);
int angle = map(reading, 0, 1023, 0, 180);
arm.write(angle);

Giá trị đọc được là 0 sẽ thành 0 độ, 1023 sẽ thành 180 độ, còn mọi giá trị ở giữa sẽ tương ứng với góc ở giữa, vì vậy cánh tay xoay theo núm xoay.

In góc bằng Serial.println() sẽ hiển thị trong Serial monitor con số mà cánh tay nhận được, giúp bạn kiểm tra khi cánh tay không hướng đến vị trí bạn mong đợi.

challenge icon

Thử thách

Dễ

Điều khiển servo theo núm vặn:

  • đọc núm vặn bằng analogRead(A0)
  • chuyển giá trị đọc được thành góc từ 0 đến 180 bằng map()
  • di chuyển cần servo đến góc đó bằng arm.write() và in góc ra

Nhấn Chạy rồi xoay núm vặn, sau đó nhấn Kiểm tra.

Tự làm thử

#include <Servo.h>

Servo arm;

void setup() {
  arm.attach(9);
  Serial.begin(9600);
}

void loop() {

}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu ra

Tự luyện tập: Playground Arduino